cdh版本升級(jí)(5.14->6.2)

我們的Cloudera Manager和cdh版本是5.14,現(xiàn)在公司需要升級(jí)到cdh7.2
需要先升級(jí)Cloudera Manager,然后升級(jí)cdh。

創(chuàng)新互聯(lián)是專業(yè)的陸川網(wǎng)站建設(shè)公司,陸川接單;提供網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行陸川網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

1.Cloudera Manager升級(jí)

(參考
https://www.cloudera.com/documentation/enterprise/upgrade/topics/ug_cm_upgrade.html)
升級(jí)之前先確定linux的版本已經(jīng)升級(jí)到Cloudera Manager6.2支持的版本

1.1備份

1.1.1備份Cloudera Manager Agent

###查看數(shù)據(jù)庫(kù)信息

$ sudo cat /etc/cloudera-scm-server/db.properties

得到類似如下信息:

...
com.cloudera.cmf.db.type=...
com.cloudera.cmf.db.host=database_hostname:database_port
com.cloudera.cmf.db.name=scm
com.cloudera.cmf.db.user=scm
com.cloudera.cmf.db.password=SOME_PASSWORD
在每臺(tái)安裝了Cloudera Manager agent 的機(jī)器都執(zhí)行以下的備份操作:

Create a top level backup directory.

$ export CM_BACKUP_DIR="`date +%F`-CM5.14"
$ echo $CM_BACKUP_DIR
$ mkdir -p $CM_BACKUP_DIR

Back up the Agent directory and the runtime state.

$ sudo -E tar -cf $CM_BACKUP_DIR/cloudera-scm-agent.tar --exclude=*.sock /etc/cloudera-scm-agent /etc/default/cloudera-scm-agent /var/run/cloudera-scm-agent /var/lib/cloudera-scm-agent

Back up the existing repository directory.

$ sudo -E tar -cf $CM_BACKUP_DIR/repository.tar /etc/yum.repos.d

1.1.2備份Cloudera Manager Service

在安裝了Service Monitor 的機(jī)器上執(zhí)行:

$ sudo cp -rp /var/lib/cloudera-service-monitor /var/lib/cloudera-service-monitor-`date +%F`-CM5.14

在安裝了Host Monitor 的機(jī)器上執(zhí)行:

$ sudo cp -rp /var/lib/cloudera-host-monitor /var/lib/cloudera-host-monitor-`date +%F`-CM5.14

在安裝了Event Server的機(jī)器上執(zhí)行:

$ sudo cp -rp /var/lib/cloudera-scm-eventserver /var/lib/cloudera-scm-eventserver-`date +%F`-CM5.14

1.1.3備份 Cloudera Manager Databases

$ MySQLdump --databases database_name --host=database_hostname --port=database_port -u user_name -p > $HOME/database_name-backup-`date +%F`-CM5.14.sql

1.1.2備份 Cloudera Manager Server

Create a top-level backup directory.

$ export CM_BACKUP_DIR="`date +%F`-CM5.14"
$ echo $CM_BACKUP_DIR
$ mkdir -p $CM_BACKUP_DIR

$ Back up the Cloudera Manager Server directories:

$ sudo -E tar -cf $CM_BACKUP_DIR/cloudera-scm-server.tar /etc/cloudera-scm-server /etc/default/cloudera-scm-server

Back up the existing repository directory.

$ sudo -E tar -cf $CM_BACKUP_DIR/repository.tar /etc/yum.repos.d

1.2升級(jí)Cloudera Manager Server

1.2.1建立軟件的訪問(wèn)權(quán)限(替換yum源)

登陸Cloudera Manager Server節(jié)點(diǎn),刪除原有yum源

$ sudo rm /etc/yum.repos.d/cloudera*manager.repo* 

創(chuàng)建新的yum源文件

$ sudo vim /etc/yum.repos.d/cloudera-manager.repo
[cloudera-manager]
# Packages for Cloudera Manager
name=Cloudera Manager
baseurl=https://archive.cloudera.com/cm6/6.2.0/redhat6/yum/
gpgkey=https://archive.cloudera.com/cm6/6.2.0/redhat6/yum/RPM-GPG-KEY-cloudera
gpgcheck=1

1.2.2安裝or配置java8

在server的配置文件中配置java_home:
在/etc/default/cloudera-scm-server
增加JAVA_HOME
export JAVA_HOME="/usr/java/jdk1.8.0_162"

1.2.3升級(jí)Cloudera Manager Server

1.登錄Cloudera Manager Server主機(jī)。
2.停止Cloudera管理服務(wù)。 (要點(diǎn):此時(shí)不停止Cloudera Management Service可能會(huì)導(dǎo)致管理角色崩潰或Cloudera Manager Server可能無(wú)法重新啟動(dòng)。)
步驟:

  • a.Log in to the Cloudera Manager Admin Console.
  • b.Select Clusters > Cloudera Management Service.
  • c.Select Actions > Stop.
  • 3.停止Cloudera Manager Server.

    $ sudo service cloudera-scm-server stop

    4.停止Cloudera Manager Agent.

    $ sudo service cloudera-scm-agent stop

    5.升級(jí)Cloudera packages.

    $ sudo yum clean all
    $ sudo yum upgrade cloudera-manager-server cloudera-manager-daemons cloudera-manager-agent -y

    6.確認(rèn)下包安裝好了

    $ rpm -qa 'cloudera-manager-*'

7.啟動(dòng)Cloudera Manager Agent.

$ sudo service cloudera-scm-agent start

8.啟動(dòng)Cloudera Manager Server.

$ sudo service cloudera-scm-server start

啟動(dòng)過(guò)程中如果有問(wèn)題可以參考日志文件:

$ tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
$ tail -f /var/log/cloudera-scm-agent/cloudera-scm-agent.log
$ tail -f / var / log / messages

9.正常的話打開(kāi)cdh升級(jí)頁(yè)面就可以看到升級(jí)的情況了
http://cloudera_Manager_server_hostname:7180/cmf/upgrade

1.2.4升級(jí)Cloudera Manager Agent

a.使用CDH界面升級(jí)
點(diǎn)擊 Cloudera Manager Agent軟件包
選項(xiàng)1:選擇agent存儲(chǔ)庫(kù)
我們使用公共庫(kù)就可以了
選擇 Public Cloudera Repository
2.安裝JDK
已經(jīng)安裝了就不用選擇了
3.安裝agent
配置一下root或者sudo賬號(hào)就可以了,需要能訪問(wèn)所有agent節(jié)點(diǎn)的權(quán)限

選項(xiàng)2:使用命令升級(jí)
清除老的repo文件

$ sudo rm /etc/yum.repos.d/cloudera*manager.repo*

新建repo文件:

$ sudo vim /etc/yum.repos.d/cloudera-manager.repo

repo文件內(nèi)容:

[cloudera-manager]
# Packages for Cloudera Manager
name=Cloudera Manager
baseurl=https://archive.cloudera.com/cm6/6.2.0/redhat6/yum/
gpgkey=https://archive.cloudera.com/cm6/6.2.0/redhat6/yum/RPM-GPG-KEY-cloudera
gpgcheck=1

停止Cloudera Manager agent服務(wù)

$ sudo service cloudera-scm-agent stop

升級(jí)Cloudera Manager agent

$ sudo yum clean all
$ sudo yum repolist
$ sudo yum upgrade cloudera-manager-daemons cloudera-manager-agent -y

等到所以機(jī)器都完成了之后,每個(gè)agent節(jié)點(diǎn)執(zhí)行

$ sudo service cloudera-scm-agent start

查看
http://192.168.0.254:7180/cmf/upgrade
顯示所有機(jī)器的agent都已經(jīng)升級(jí),且都有心跳
點(diǎn)擊 Host Inspector,檢測(cè)一下節(jié)點(diǎn)的情況
完成之后點(diǎn)擊 顯示檢查器結(jié)果,查看有問(wèn)題的項(xiàng),修復(fù)。
顯示的問(wèn)題中有個(gè)比較重要的:如果后續(xù)要運(yùn)行CDH6,hue需要使用python2.7,先記著,暫時(shí)不管。

然后,啟動(dòng)Cloudera Management Service

到此就完成了Cloudera Manager的升級(jí),后面進(jìn)行cdh的升級(jí)

如果升級(jí)失敗,需要還原,可以參考官方的步驟:
https://www.cloudera.com/documentation/enterprise/upgrade/topics/ug_cm_downgrade.html

2.CDH升級(jí)

升級(jí)之前先確定linux的版本已經(jīng)升級(jí)到CDH6.2支持的版本,java版本為1.8

2.1.準(zhǔn)備工作

登錄到CDH管理頁(yè)面,啟動(dòng)hdfs服務(wù)
然后運(yùn)行以下命令檢查集群情況
如果有問(wèn)題則修復(fù)
檢查hdfs:

$ sudo -u hdfs hdfs fsck / -includeSnapshots
$ sudo -u hdfs hdfs dfsadmin -report

檢查hbase表中的一致性:
$ sudo -u hdfs hbase hbck
如果使用了kudu,檢查kudu:

$ sudo -u kudu kudu cluster ksck <master_addresses>

以下服務(wù)在6.0.0中已經(jīng)沒(méi)有了,升級(jí)之前,需要停止并且刪除這些服務(wù)
Accumulo
Sqoop 2
MapReduce 1
Spark 1.6
Record Service

2.2備份cdh

以下CDH組件不需要備份:
·MapReduce
·YARN
·Spark
·Pig
·Impala

升級(jí)CDH前完成以下備份的步驟
1.Back Up Databases
我們使用mysql,所以以mysq為例
1)如果尚未停止,請(qǐng)停止服務(wù)。如果Cloudera Manager指示存在依賴服務(wù),則還要停止依賴服務(wù)。

2)備份各個(gè)服務(wù)(Sqoop, Oozie, Hue,Hive Metastore ,Sentry)的數(shù)據(jù)庫(kù)。替換數(shù)據(jù)庫(kù)名稱,主機(jī)名,端口,用戶名和備份目錄路徑,然后運(yùn)行以下命令:

$ mysqldump --databases database_name --host = database_hostname --port = database_port -u database_username -p> backup_directory_path / database_name -backup -`date +%F`-CDH 5.14 .sql

2.Back Up ZooKeeper
在每臺(tái)zookeeper節(jié)點(diǎn),備份cdh中配置的zookeeper的數(shù)據(jù)存儲(chǔ)目錄,如

$ sudo cp -rp /var/lib/zookeeper/ /var/lib/zookeeper-backup-`date +%F`CM-CDH5.14

3.Back Up HDFS
(命令中的數(shù)據(jù)路徑根據(jù)cdh中實(shí)際配置更改)

a.備份journal數(shù)據(jù),在每臺(tái)JournalNode上執(zhí)行

$ sudo cp -rp /data/dfs/jn /data/dfs/jn-CM-CDH5.14

b.備份每臺(tái)namenode的運(yùn)行時(shí)目錄,運(yùn)行:
$ mkdir -p /etc/hadoop/conf.rollback.namenode
$ cd /var/run/cloudera-scm-agent/process/ && cd `ls -t1 | grep -e "-NAMENODE\$" | head -1`
$ cp -rp * /etc/hadoop/conf.rollback.namenode/
$ rm -rf /etc/hadoop/conf.rollback.namenode/log4j.properties
$ cp -rp /etc/hadoop/conf.rollback.namenode/log4j.properties /etc/hadoop/conf.rollback.namenode/

這些命令創(chuàng)建臨時(shí)回滾目錄。如果稍后需要回滾到CDH 5.x,則回滾過(guò)程要求您修改此目錄中的文件。

c.備份每臺(tái)datanode的運(yùn)行時(shí)目錄
$ mkdir -p /etc/hadoop/conf.rollback.datanode/
$ cd /var/run/cloudera-scm-agent/process/ && cd `ls -t1 | grep -e "-DATANODE\$" | head -1`
$ cp -rp * /etc/hadoop/conf.rollback.datanode/
$ rm -rf /etc/hadoop/conf.rollback.datanode/log4j.properties
$ cp -rp /etc/hadoop/conf.cloudera.hdfs/log4j.properties /etc/hadoop/conf.rollback.datanode/

4.Back Up Key Trustee Server and Clients
服務(wù)沒(méi)有使用
5.Back Up HSM KMS
服務(wù)沒(méi)有使用
6.Back Up Navigator Encrypt
服務(wù)沒(méi)有使用
7.Back Up HBase
由于回滾過(guò)程還會(huì)回退HDFS,因此HBase中的數(shù)據(jù)也會(huì)回滾。此外,存儲(chǔ)在ZooKeeper中的HBase元數(shù)據(jù)將作為ZooKeeper回滾過(guò)程的一部分進(jìn)行恢復(fù)。
8.Back Up Search
服務(wù)沒(méi)有使用
9.Back Up Sqoop 2
服務(wù)沒(méi)有使用
10.Back Up Hue
在運(yùn)行Hue Server角色的所有主機(jī)上,備份app注冊(cè)表文件

$ mkdir -p /opt/cloudera/parcels_backup
$ cp -rp /opt/cloudera/parcels/CDH/lib/hue/app.reg /opt/cloudera/parcels_backup/app.reg-CM-CDH5.14

2.3服務(wù)更改:

hue:

對(duì)于centos6版本的系統(tǒng):
需要在hue的節(jié)點(diǎn)安裝python2.7
Enable the Software Collections Library:

$ sudo yum install centos-release-scl

$ Install the Software Collections utilities:

$ sudo yum install scl-utils

$ Install Python 2.7:

$ sudo yum install python27

Verify that Python 2.7 is installed:

$ source /opt/rh/python27/enable
$ python --version

hbase:

1.HBase 2.0 不支持PREFIX_TREE數(shù)據(jù)塊編碼,升級(jí)前需要先刪除,否則hbase2.0無(wú)法啟動(dòng)
如果你已經(jīng)安裝了CDH6.那么通過(guò)運(yùn)行以下工具來(lái)確保所有表或快照都不使用PREFIX_TREE數(shù)據(jù)塊編碼:

$ hbase pre-upgrade validate-dbe
$ hbase pre-upgrade validate-hfile

2.升級(jí)協(xié)處理器類
外部協(xié)處理器不會(huì)自動(dòng)升級(jí)。有兩種方法可以處理協(xié)處理器升級(jí):
在繼續(xù)升級(jí)之前,請(qǐng)手動(dòng)升級(jí)協(xié)處理器jar。
暫時(shí)取消協(xié)處理器的設(shè)置并繼續(xù)升級(jí)。
手動(dòng)升級(jí)后,可以重置它們。

嘗試在不升級(jí)協(xié)處理器jar的情況下進(jìn)行升級(jí)可能會(huì)導(dǎo)致不可預(yù)測(cè)的行為,例如HBase角色啟動(dòng)失敗,HBase角色崩潰,甚至數(shù)據(jù)損壞。

如果您已經(jīng)安裝了CDH 6,則可以通過(guò)運(yùn)行來(lái)確保您的協(xié)處理器與升級(jí)兼容 hbase pre-upgrade validate-cp 工具。

2.4升級(jí)集群

注意事項(xiàng)

當(dāng)使用Cloudera Manager Backup and Disaster Recovery (BDR)將集群從Cloudera Manager 5.13或更低版本升級(jí)到CDH 6.0或更高版本時(shí),使用Cloudera Manager Backup and Disaster Recovery (BDR)備份數(shù)據(jù)將不起作用。
用于執(zhí)行升級(jí)的次要版本的Cloudera Manager必須等于或大于CDH次要版本。要升級(jí)Cloudera Manager

注意:
使用滾動(dòng)重新啟動(dòng)(僅限次要升級(jí))升級(jí)CDH時(shí):
自動(dòng)故障轉(zhuǎn)移不會(huì)影響滾動(dòng)重新啟動(dòng)操作。
升級(jí)完成后,如果當(dāng)前正在運(yùn)行MapReduce或Spark作業(yè),請(qǐng)不要?jiǎng)h除舊的塊。這些作業(yè)仍使用舊的塊,必須重新啟動(dòng)才能使用新升級(jí)的塊。
確保Oozie工作是冪等的。
不要使用Oozie Shell Actions來(lái)運(yùn)行與Hadoop相關(guān)的命令。
不支持滾動(dòng)升級(jí)Spark Streaming作業(yè)。升級(jí)完成后重新啟動(dòng)流作業(yè),以便開(kāi)始使用新部署的版本。
必須將運(yùn)行時(shí)庫(kù)打包為Spark應(yīng)用程序的一部分。
您必須使用分布式緩存從客戶端網(wǎng)關(guān)計(jì)算機(jī)傳播作業(yè)配置文件。
不要構(gòu)建包含第三方依賴項(xiàng)或CDH類的“超級(jí)”或“胖”JAR文件,因?yàn)檫@些文件可能與Yarn,Oozie和其他服務(wù)自動(dòng)添加到CLASSPATH的類沖突。
在不捆綁CDH JAR的情況下構(gòu)建Spark應(yīng)用程序。

2.4.1備份cloudera manager

在cloudera manager升級(jí)之前我們備份了一次,在升級(jí)之后還需要備份一次。

1.查看數(shù)據(jù)庫(kù)信息
$ cat /etc/cloudera-scm-server/db.properties

例如:

com.cloudera.cmf.db.type=...
com.cloudera.cmf.db.host=database_hostname:database_port
com.cloudera.cmf.db.name=scm
com.cloudera.cmf.db.user=scm
com.cloudera.cmf.db.password=SOME_PASSWORD
2.備份 Cloudera Manager Agent

在每臺(tái)agent節(jié)點(diǎn)上執(zhí)行:

  • 創(chuàng)建備份目錄
    $ export CM_BACKUP_DIR="`date +%F`-CM5.14"
    $ echo $CM_BACKUP_DIR
    $ mkdir -p $CM_BACKUP_DIR
  • 備份agent目錄和運(yùn)行時(shí)狀態(tài)

    $ sudo -E tar -cf $CM_BACKUP_DIR/cloudera-scm-agent.tar --exclude=*.sock /etc/cloudera-scm-agent /etc/default/cloudera-scm-agent /var/run/cloudera-scm-agent /var/lib/cloudera-scm-agent
  • 備份當(dāng)前repo目錄
    $ sudo -E tar -cf $CM_BACKUP_DIR/repository.tar /etc/yum.repos.d
  • 備份Cloudera Management Service
    在Service Monitor節(jié)點(diǎn)執(zhí)行

    $ sudo cp -rp /var/lib/cloudera-service-monitor /var/lib/cloudera-service-monitor-`date +%F`-CM5.14

    在Host Monitor節(jié)點(diǎn)上執(zhí)行

    $ sudo cp -rp /var/lib/cloudera-host-monitor /var/lib/cloudera-host-monitor-`date +%F`-CM5.14

    在Event Server節(jié)點(diǎn)上執(zhí)行

    $ sudo cp -rp /var/lib/cloudera-scm-eventserver /var/lib/cloudera-scm-eventserver-`date +%F`-CM5.14
    3.停止Cloudera Manager Server & Cloudera Management Service

    在CDH管理界面中停止Cloudera Management Service,選擇:
    Clusters->Cloudera Management Service.
    Actions > Stop.
    停止 Cloudera Manager Server:

    $ sudo service cloudera-scm-server stop
    4.備份Cloudera Manager數(shù)據(jù)庫(kù)
    $ mysqldump --databases database_name --host=database_hostname --port=database_port -u user_name -p > $HOME/database_name-backup-`date +%F`-CM5.14.sql

    數(shù)據(jù)庫(kù)信息為剛才第一步中查看文件中獲取的信息

    5.備份Cloudera Manager Server

    在Cloudera Manager Server節(jié)點(diǎn)執(zhí)行:
    1.創(chuàng)建一個(gè)備份目錄:

    $ export CM_BACKUP_DIR="`date +%F`-CM5.14"
    $ echo $CM_BACKUP_DIR
    $ mkdir -p $CM_BACKUP_DIR

    2.備份 Cloudera Manager Server的目錄

    $ sudo -E tar -cf $CM_BACKUP_DIR/cloudera-scm-server.tar /etc/cloudera-scm-server /etc/default/cloudera-scm-server

    3.備份當(dāng)前repo目錄
    4.

    $ sudo -E tar -cf $CM_BACKUP_DIR/repository.tar /etc/yum.repos.d

2.4.2進(jìn)入維護(hù)模式

要在升級(jí)過(guò)程中避免不必要的警報(bào),請(qǐng)?jiān)陂_(kāi)始升級(jí)之前在群集上進(jìn)入維護(hù)模式。 進(jìn)入維護(hù)模式會(huì)停止發(fā)送電子郵件警報(bào)和SNMP陷阱,但不會(huì)停止檢查和配置驗(yàn)證。完成升級(jí)后,請(qǐng)務(wù)必退出維護(hù)模式以重新啟用Cloudera Manager警報(bào)。

2.4.3完成升級(jí)前的遷移步驟

  • yarn
    Decommission and recommission the YARN NodeManagers but do not start the NodeManagers.
    A decommission is required so that the NodeManagers stop accepting new containers, kill any running containers, and then shutdown.(把YARN的NodeManagers給Decommission掉,再recommission,但不啟動(dòng)NodeManagers,需要Decommission以便NodeManagers停止接受新容器,終止所有正在運(yùn)行的容器,然后關(guān)閉。)
    操作步驟:

    1.確保在升級(jí)完成之前,不會(huì)將新應(yīng)用程序(如MapReduce或Spark應(yīng)用程序)提交到群集。
    2.打開(kāi)CDH管理界面,進(jìn)入到要升級(jí)的YARN服務(wù)
    3.在 實(shí)例 選項(xiàng)卡上,選擇所有NodeManager角色。這可以通過(guò)過(guò)濾角色類型下的角色來(lái)完成
    4.點(diǎn)擊 已選定的操作 -> 解除授權(quán)
    如果群集運(yùn)行CDH 5.9或更高版本并由Cloudera Manager 5.9或更高版本管理,并且您配置了正常解除授權(quán),則會(huì)啟動(dòng)超時(shí)倒計(jì)時(shí)。

平滑退役開(kāi)始停止使用過(guò)程之前提供了一個(gè)超時(shí)。超時(shí)會(huì)創(chuàng)建一個(gè)時(shí)間窗口,以便從系統(tǒng)中消耗已經(jīng)運(yùn)行的工作負(fù)載,并允許它們運(yùn)行完成。在YARN服務(wù)的Configuration選項(xiàng)卡上搜索Node Manager Graceful Decommission Timeout字段,并將該屬性設(shè)置為大于0的值以創(chuàng)建超時(shí)。
5.等到解除授權(quán)完成。完成后,NodeManager的狀態(tài)為 停止,授權(quán)狀態(tài) 為 解除授權(quán)。
6.選中所有NodeManagers,點(diǎn)擊 已選定的操作 -> 重新授權(quán)。
(6這一步不做的話后面升級(jí)過(guò)程中會(huì)報(bào)錯(cuò),而且很難找到原因,會(huì)在yarn升級(jí)的過(guò)程中報(bào)這樣的一個(gè):
Caused by: org.apache.hadoop.ipc.RemoteException(java.io.IOException): Requested replication factor of 0 is less than the required minimum of 1 for /user/yarn/mapreduce/mr-framework/3.0.0-cdh7.2.0-mr-framework.tar.gz)

重要說(shuō)明:不要啟動(dòng)選中所有NodeManager。

  • hive

查詢語(yǔ)法,DDL語(yǔ)法和Hive API都有變化。在升級(jí)之前,您可能需要在應(yīng)用程序工作負(fù)載中編輯HiveQL代碼。

  • sentry
    如果群集使用Sentry策略文件授權(quán),則必須先將策略文件遷移到數(shù)據(jù)庫(kù)支持的Sentry服務(wù),然后再升級(jí)到CDH 6。

  • spark
    如果群集使用Spark或Spark Standalone,則必須執(zhí)行幾個(gè)步驟才能確保安裝了正確的版本。
    刪除spark standalone
    升級(jí)后,如果安裝了spark2,則spark2-submit被替換為spark-submit,需要在提交作業(yè)之前替換提交作業(yè)的命令

2.4.4運(yùn)行Hue文檔清理

如果群集使用Hue,請(qǐng)執(zhí)行以下步驟(維護(hù)版本不需要)。這些步驟清理Hue使用的數(shù)據(jù)庫(kù)表,可以幫助提高升級(jí)后的性能。
1.備份Hue數(shù)據(jù)庫(kù)。
2.連接到Hue數(shù)據(jù)庫(kù)。
3.檢查desktop_document,desktop_document2,oozie_job,beeswax_session,beeswax_savedquery和beeswax_queryhistory表的大小以獲得參考點(diǎn)。如果其中任何行超過(guò)10萬(wàn)行,請(qǐng)運(yùn)行清理。

2.4.5下載和分發(fā)包裹

1.打開(kāi)CDH管理界面,點(diǎn)擊 主機(jī) -> Parcels -> 配置
2.使用以下遠(yuǎn)程parcel存儲(chǔ)庫(kù)URL更新CDH的Parcel存儲(chǔ)庫(kù):

https://archive.cloudera.com/cdh7/6.2.0/parcels/

a.在 遠(yuǎn)程 Parcel 存儲(chǔ)庫(kù) URL 部分中,單機(jī) "+"圖標(biāo)添加上面的url,單擊 保存更改
b.在表中找到包含新CDH parcel的行,然后單擊“ 下載”按鈕。
c.下載包后,單擊“ 分配”按鈕。
d.分發(fā)完所有包裹后,點(diǎn)擊 升級(jí) 按鈕。

2.4.6運(yùn)行升級(jí)CDH向?qū)?/h4>

1.進(jìn)入升級(jí)向?qū)Ш?,?huì)運(yùn)行一些集群的check,check的結(jié)果可能會(huì)出現(xiàn)一些問(wèn)題,會(huì)影響到后續(xù)的升級(jí),先把這些問(wèn)題解決。還會(huì)有備份數(shù)據(jù)庫(kù)的提示。如果都已經(jīng)ok了,點(diǎn)擊 是,我已執(zhí)行這些步驟,然后點(diǎn)擊 繼續(xù)。
2.點(diǎn)擊 完整群集重啟 (群集的全部停機(jī)時(shí)間),點(diǎn)擊 繼續(xù)。(這個(gè)步驟會(huì)重啟所有服務(wù))

升級(jí)過(guò)程中遇到了一些問(wèn)題:

升級(jí)過(guò)程中Oozie異常提示:
1.E0103: Could not load service classes, Cannot create PoolableConnectionFactory (Table 'oozie.validate_conn' doesn't exist)
解決方案:cdh版本升級(jí)(5.14 -> 6.2)
2.“java.lang.ClassNotFoundException:org.cloudera.log4j.redactor.RedactorAppender”找不到類。
參考這篇文章,把缺少的logredactor-2.0.7.jar建一個(gè)軟連接從/opt/cloudera/parcels/CDH/lib/oozie/lib到/opt/cloudera/parcels/CDH/lib/oozie/libtools目錄下

3.ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
原因是log4j.xml沒(méi)有配置導(dǎo)致異常信息無(wú)法顯示,同樣考一份log4j.xml的模版放到/opt/cloudera/parcels/CDH/lib/oozie/libtools目錄下即可。

2.4.7升級(jí)完成之后的遷移

1.spark
  • 升級(jí)到CDH 6后,可能配置了多個(gè)Spark服務(wù),每個(gè)服務(wù)都有自己的一組配置,包括事件日志位置。確定要保留哪個(gè)服務(wù),然后手動(dòng)合并這兩個(gè)服務(wù)。
  • 用于在CDH 5中提交Spark 2作業(yè)的命令(spark2-submit)在CDH 6中刪除,
    替換為 spark-submit。在具有內(nèi)置Spark 1.6服務(wù)和Spark 2服務(wù)的CDH 5集群中,spark-submit 與Spark 1.6服務(wù)一起使用,和spark2-submit與Spark 2服務(wù)一起使用。升級(jí)到CDH 6后,spark-submit 使用CDH內(nèi)置的Spark 2服務(wù), spark2-submit不再起作用。確保使用這些命令更新提交Spark作業(yè)的任何工作流。

  • 通過(guò)執(zhí)行以下步驟手動(dòng)合并Spark服務(wù):
    1.將所有相關(guān)配置從要?jiǎng)h除的服務(wù)復(fù)制到您要保留的服務(wù)。要查看和編輯配置:
    a.在Cloudera Manager Admin Console中,轉(zhuǎn)到要?jiǎng)h除的Spark服務(wù)。
    b.單擊“ 配置”選項(xiàng)卡。
    c.記錄配置。
    d.轉(zhuǎn)到您要保留的Spark服務(wù)并復(fù)制配置。
    e.單擊保存更改。
    要保留歷史事件日志:
    確定要?jiǎng)h除的服務(wù)的事件日志的位置:
    在Cloudera Manager Admin Console中,轉(zhuǎn)到要?jiǎng)h除的Spark服務(wù)。
    單擊“ 配置”選項(xiàng)卡。
    搜索:spark.eventLog.dir
    注意路徑。
    登錄到群集主機(jī)并運(yùn)行以下命令:
    hadoop fs -mv <old_Spark_Event_Log_dir> / * <new_location> /。
    使用Cloudera Manager,停止并刪除您選擇刪除的Spark服務(wù)
    重新啟動(dòng)剩余的Spark服務(wù):?jiǎn)螕鬝park服務(wù)旁邊的下拉箭頭,然后選擇“ 重新啟動(dòng)”。
    2.impala

    impala主要用于即時(shí)查詢,不用于線上任務(wù),所以重要性沒(méi)有那么高,參考官網(wǎng)
    https://www.cloudera.com/documentation/enterprise/upgrade/topics/impala_upgrading.html
    即可。

網(wǎng)站標(biāo)題:cdh版本升級(jí)(5.14->6.2)
網(wǎng)站路徑:http://bm7419.com/article0/geidoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航虛擬主機(jī)、網(wǎng)站制作建站公司、響應(yīng)式網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)