ヒント:あなたがクリアされていない画像を表示するためにコンピュータを使用する場合は、拡大表示の高精細画像への記事のクリック写真のテキストを開くために携帯電話を使用することができます。
Fayson GitHubの:
https://github.com/fayson/cdhproject
ヒント:ブロック部分は、ああ見スライドすることができます
客観的に書かれた文書1
Oracleは2019年1月は、もはや商用影響JDKのバージョンを無料になります後から公式によっていくつかの時間前に発表された、ClouderaののHadoopのはOpenJDKの、前の記事へFayson参照に基づいてプラットフォームの開発に着手し、「Javaの手数料は、Hadoopのはどのようにしますか?。 " 今年は11月29日、ClouderaのはOpenJDKのためにすぐにCDH5.16.1公式サポート、前の記事へFaysonリファレンスリリースされた「0466-CDH5.16.1とCM5.16.1新機能を。」この記事では、OpenJDKのにOracleのJDKからFayson CDHを移行する方法について説明します。
クラスタ全体を再起動するにはJDKの移行の必要性、あなたは計画のダウンタイムを必要とするので、再起動のためのすべてのホスト。お使いのクラスタは、HDFS HAを有効にする場合は、計画ダウンタイムなしで、ローリングリスタートを使用することができます。
- コンテンツの概要
JDKサポートの1.CDHバージョンのチラシ
2.移行JDK
JDKのバージョンを使用して確認してください3。
4.コンポーネント機能チェック
5.まとめ
- テスト環境
1.CMとCDHバージョン5.16.1
rootユーザーで2
3.Redhat7.4
2 CDH JDKは、各バージョンの説明をサポート
CDHとClouderaのManagerは、すべてのノードは、Java開発キット(JDK)をインストールし、サポートする必要があり、具体的には、バージョンをサポートとして、次のされています。
ClouderaのEnterpriseバージョン | サポートされているJDK |
---|---|
5.3 -5.15 | OracleのJDK 1.7、OracleのJDK 1.8 |
5.16 | OracleのJDK 1.7、OracleのJDK 1.8、OpenJDKの1.8 |
6.0 | OracleのJDK 1.8 |
6.1 | OracleのJDK 1.8、OpenJDKの1.8 |
3移行JDK
1.まず、我々はそのJDKのインストールにクラスタの各ノードを確認CDH
[root@ip-172-31-13-38 shell]# sh ssh_do_all.sh node.list "yum list installed |grep oracle"
5つのノードのFaysonクラスタが両方のOracle JDK1.7 1.8もインストールされているインストール留意されてもよいです。
2.当社は、JDKのバージョンクラスタはClouderaのManagerページで現在使用中であることを認識します。ClouderaのManagerはをクリックして、その後、ホームページを入力してください「についてサポート>。」
オラクルJDK1.7を使用してJDKクラスタ
RedHatのOpenJDKのをインストールします。3.インストールするためにyumコマンドを使用して、それぞれの局ノードになります。
[root@ip-172-31-13-38 shell]# sh ssh_do_all.sh node.list "yum -y install java-1.8.0-openjdk-devel"
ClouderaのManagerノード、編集以下のディレクトリのファイルへ4.ログイン
/etc/default/cloudera-scm-server
次の行を追加します。
export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk"
注:OpenJDKのインストールディレクトリは、実際の状況に応じて調整し、実際の状況に応じて異なる場合があります。
5.再起動しClouderaのManagerサーバー
[root@ip-172-31-13-38 ~]# systemctl restart cloudera-scm-server
6.チェックClouderaのManagerは、すでにOpenJDKのを使用しています
OracleのJDKのすべてのノードを削除7.
[root@ip-172-31-13-38 shell]# sh ssh_do_all.sh node.list "yum -y remove oracle-j2sdk1.7"
[root@ip-172-31-13-38 shell]# sh ssh_do_all.sh node.list "yum -y remove oracle-j2sdk1.8"
8.再起動Clouderaの管理サービス
9.再起動クラスタ全体のサービス
4使用するJDKのバージョンを確認します
1. Clouderaの管理サービスは、最初に、我々はClouderaのマネージャインターフェイスのプロセスIDを参照して、例を表示するには、サービスアラート出版社であります
プロセスの環境変数に背景を見ます
これは、すでに見つけることができるのOpenJDK
糸のResourceManagerサービスと再び2. JDKのバージョンを使用しての例を見るために、我々は、ClouderaのマネージャーのプロセスIDを確認するためにまだあります
背景ターミナルサービス環境変数ResourceMangerを確認するため、
私たちは、OpenJDKのは、すでに使用されて見ることができます
5コンポーネント機能チェック
1.Kerberos環境下で提出されたMapReduceジョブ
[root@ip-172-31-13-38 ~]# kinit fayson
Password for fayson@FAYSON.COM:
[root@ip-172-31-13-38 ~]# hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-0.20-mapreduce/hadoop-examples.jar pi 10 1
操作が成功しました
2.ファイル名を指定して実行ハイブの求人
[root@ip-172-31-13-38 ~]# beeline
OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=512M; support was removed in 8.0
OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=512M; support was removed in 8.0
Beeline version 1.1.0-cdh5.16.1 by Apache Hive
beeline> !connect jdbc:hive2://localhost:10000/;principal=hive/ip-172-31-13-38.ap-southeast-1.compute.internal@FAYSON.COM
scan complete in 1ms
Connecting to jdbc:hive2://localhost:10000/;principal=hive/ip-172-31-13-38.ap-southeast-1.compute.internal@FAYSON.COM
Connected to: Apache Hive (version 1.1.0-cdh5.16.1)
Driver: Hive JDBC (version 1.1.0-cdh5.16.1)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://localhost:10000/> show tables;
INFO : Compiling command(queryId=hive_20181218114444_886ca312-f81a-41ef-a299-0e2242c6f593): show tables
INFO : Semantic Analysis Completed
INFO : Returning Hive schema: Schema(fieldSchemas:[FieldSchema(name:tab_name, type:string, comment:from deserializer)], properties:null)
INFO : Completed compiling command(queryId=hive_20181218114444_886ca312-f81a-41ef-a299-0e2242c6f593); Time taken: 0.596 seconds
INFO : Executing command(queryId=hive_20181218114444_886ca312-f81a-41ef-a299-0e2242c6f593): show tables
INFO : Starting task [Stage-0:DDL] in serial mode
INFO : Completed executing command(queryId=hive_20181218114444_886ca312-f81a-41ef-a299-0e2242c6f593); Time taken: 0.161 seconds
INFO : OK
+---------------------+--+
| tab_name |
+---------------------+--+
| kudu_decimal_table |
| test |
+---------------------+--+
2 rows selected (1.136 seconds)
0: jdbc:hive2://localhost:10000/> select count(*) from test;
操作が成功しました
概要6
1.默认的OpenJDK安装路径是/usr/lib/jvm,只要你根据操作系统的yum命令默认安装的,无论是Cloudera Management Service还是Hadoop其他的服务都不需要额外配置Java Home,Cloudera Manager会帮你默认使用正确的OpenJDK,但你最好先卸载所有节点上的所有Oracle JDK。
2.Cloudera Manager Server服务需要单独配置Java Home才能保证启动Manager的服务使用的环境变量为OpenJDK。
3.如果你的OpenJDK不是安装在默认目录,需要单独配置Java Home,依旧可以在Cloudera Manage界面上完成,参考《如何将Kerberos环境下CDH集群JAVA升级至JDK8》。
4.注意本文在从Oracle JDK迁移到OpenJDK过程,你需要先卸载所有机器上的Oracle JDK,然后使用默认方式安装OpenJDK后,再重启Cloudera Management Service和整个Hadoop集群服务。
5.虽然是Kerberos环境,我们本次迁移到OpenJDK,没有再专门拷贝Java的无限制加密文件jce,因为OpenJDK默认包含了,相应可以参考Fayson之前的文章《如何将Kerberos环境下CDH集群JAVA升级至JDK8》从JDK7升级到JDK8有专门拷贝整个文件。
6.目前CDSW不支持OpenJDK,所以Fayson的集群在迁移OpenJDK成功,并且验证各个组件功能没问题后,CDSW服务没办法正常启动,如下:
Cloudera官网已经对该限制进行了说明:
The entire CDH cluster, including Cloudera Data Science Workbench gateway nodes, must use Oracle JDK. OpenJDK is not currently supported by Cloudera Data Science Workbench.
参考:
https://www.cloudera.com/documentation/data-science-workbench/latest/topics/cdsw_requirements_supported_versions.html#jdk_req
本文迁移过程参考:
https://www.cloudera.com/documentation/enterprise/upgrade/topics/ug_jdk8.html#concept_ct4_ppr_55
提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。