首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何将Kerberos环境下CDH集群JAVA升级至JDK8

如何将Kerberos环境下CDH集群JAVA升级至JDK8

作者头像
Fayson
修改2018-04-01 19:32:48
1.3K0
修改2018-04-01 19:32:48
举报
文章被收录于专栏:Hadoop实操Hadoop实操

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

1.文档编写目的


大家都知道在安装CDH时默认安装的JDK版本为jdk1.7.0_67,部分企业开发环境为JDK8版本,这个时候可能会出现在本地开发的应用在集群中无法正常运行。前面Fayson也讲过《如何将CDH集群JAVA升级至JDK8》。本篇文章主要讲述如何将Kerberos环境下CDH集群的JAVA版本升级至JDK8。

  • 内容概述

1.准备需要升级的JDK8版本

2.部署准备好的JDK8到集群所有节点

3.Cloudera Manager配置JAVA_HOME

4.验证是否生效

  • 测试环境

1.CM和CDH版本为5.11.2

2.采用sudo权限的ec2-user用户操作

3.RHEL7.2

  • 前置条件

1.CM和CDH5.3和更高版本

2.集群Kerberos运行正常

2.CM和CDH支持的JDK版本


CDH支持JDK包括JDK7以及JDK8。Cloudera提供相应JDK包,并可以通过CM自动在集群中部署安装。CDH的版本都能提供对Oracle JDK7的支持,而JDK8的支持则需要CDH5.3之后的版本。目前在CDH发行版中自带的JDK版本为1.7.0_67版本。参考文档:

https://www.cloudera.com/documentation/enterprise/release-notes/topics/rn_consolidated_pcm.html#pcm_jdk

JDK7版本支持情况:

JDK8版本支持情况:

建议使用Cloudera官网推荐的JDK版本。

3.JDK8安装包准备


Fayson这里使用Cloudera官网推荐的最新版本(jdk1.8u131),根据自己操作系统的版本选择JDK。

1.在oracle官网下载JDK8的安装包

下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html

2.安装JDK8的无限制权限策略文件JCE

http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

3.解压下载的两个压缩包

[ec2-user@ip-172-31-22-86 jdk]# tar -zxf jdk-8u131-linux-x64.tar.gz
[ec2-user@ip-172-31-22-86 jdk]# unzip jce_policy-8.zip
[ec2-user@ip-172-31-22-86 jdk]# ll
total 181216
-rw-r--r-- 1 root root      8409 Mar 18  2014 jce_policy-8.zip
drwxr-xr-x 8 uucp  143      4096 Mar 15  2017 jdk1.8.0_131
-rw-r--r-- 1 root root 185540433 Jun 16 21:35 jdk-8u131-linux-x64.tar.gz
drwxrwxr-x 2 root root      4096 Dec 20  2013 UnlimitedJCEPolicyJDK8
[ec2-user@ip-172-31-22-86 jdk]#

4.将UnlimitedJCEPolicyJDK8目录下所有文件拷贝至

./jdk1.8.0_131/jre/lib/security目录下覆盖原有文件

[ec2-user@ip-172-31-22-86 jdk]# scp UnlimitedJCEPolicyJDK8/* jdk1.8.0_131/jre/lib/security/

注意:这里我们下载了JDK8的无限制权限策略文件JCE两个jar包,如果你的集群启用了Kerberos则必须要下载JCE的包并覆盖{JAVA_HOME}/jre/lib/security目录下的local_policy.jar和US_export_policy.jar两个包。

4.部署JDK8到集群


1.将jdk1.8.0_131目录拷贝至/usr/java目录下

[ec2-user@ip-172-31-22-86 jdk]# sudo cp -r jdk1.8.0_131/ /usr/java/jdk1.8.0_131-cloudera 
[ec2-user@ip-172-31-22-86 jdk]# ll /usr/java/
total 12
drwxr-xr-x. 9 root root 4096 Aug 30 15:23 jdk1.6.0_31
drwxr-xr-x. 8 root root 4096 Aug 30 15:19 jdk1.7.0_67-cloudera
drwxr-xr-x  8 root root 4096 Nov 16 08:34 jdk1.8.0_131-cloudera
[ec2-user@ip-172-31-22-86 jdk]# 

2.将jdk1.8.0_131-cloudera目录同步至集群所有节点的/usr/java目录下

scp -r /usr/java/jdk1.8.0_131-cloudera/ ip-172-31-5-190.fayson.com:/usr/java/

注意:集群中所有节点jdk1.8.0_131-cloudera的部署目录必须一致。

5.Cloudera Manager配置


1.登录Cloudera Manager的Web管理界面,进入主机列表页面

2.点击“配置”进入主机配置页面

3.选择“高级”类别,在Java主目录输入jdk8的路径并保存配置

4.回到CM主页根据页面提示重启相应服务

重启成功

6.验证集群JDK8环境


1.使用“ps -ef”命令查看启动的java服务使用的jdk版本

[root@ip-172-31-5-190 ~]# ps -ef |grep java

到此为止已将CDH集群JDK版本升级为JDK8,大家可以使用JDK的一些新特性开发,也可以安装Spark2.2、Kafka3等需要JDK8以上版本支持的组件。

2.Kerberos验证

[ec2-user@ip-172-31-22-86 ~]$ kinit fayson
Password for fayson@CLOUDERA.COM:
[ec2-user@ip-172-31-22-86 ~]$ klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: fayson@CLOUDERA.COM

Valid starting       Expires              Service principal
11/17/2017 11:42:16  11/18/2017 11:42:16  krbtgt/CLOUDERA.COM@CLOUDERA.COM
        renew until 11/24/2017 11:42:16
[ec2-user@ip-172-31-22-86 ~]$

提交一个MR作业

[ec2-user@ip-172-31-22-86 ~]$ hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 5 5

作业执行成功

7.常见问题


1.Cloudera-scm-server使用的jdk版本仍然为jdk7

解决方法:

将CM节点的/usr/java/jdk1.7.0_67-cloudera删除

重启cloudera-scm-server服务

2.No Java JDK is detected on the host

解决方法:重启此节点的agent服务即可。

至此,如何在Kerberos环境下升级CDH的JDK完毕。注意跟非Kerberos环境下升级,其实就是需要特别注意两个jce文件的替换。

为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。


推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-11-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
专用宿主机
专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档