1. 程式人生 > >Cloudera 從5.2.0升級到最新5.8.2的官方文件翻譯

Cloudera 從5.2.0升級到最新5.8.2的官方文件翻譯

最近把叢集升級了,升級同時把官方文件翻譯了一下。初始文件整理在pages中,怎麼轉換過來格式都不太好看,先發圖片的吧,格式不太好的文字部分在後面


----------------------------------------------我是格式不好的文字的分割線-----------------------------------------------------------------------

Cloudera升級

tips:如果是基於小版本的升級(5.4.x到5.8.x等),CDH的軟體用parcels方式安裝,並且啟用了HDFS的HA的話,可以用rolling updrade來進行不停機升級。

  1. Cloudera Manager升級(以下簡稱CM)

升級文件地址:

http://www.cloudera.com/documentation/enterprise/latest/topics/cm_ag_ug_cm5.html

升級內容:

  • 升級資料庫schema,匹配最新版本
  • Cloudera Manager Server 和所有支援的服務升級
  • Cloudera Manager agent 升級

升級步驟:

  1. 收集升級資訊(有些資訊在升級過程中不再可獲取,需要提前收集)
  • 主機認證資訊(各個主機root賬號)
    • 已存
  • 當前CM版本號
    • Version: Cloudera Express 5.2.0 (#60 built by jenkins on 20141012-2239 git: 179000584849e68f98ad2a7fe710723bd6c29c98)
  • 當前CDH版本號
    • CDH 5.0.0, Packages
  • cluster啟用的服務
    • HBase
    • HDFS
    • Hive
    • Hue
    • Cloudera Management Service
    • Oozie
    • Spark
    • YARN (MR2 Included)
    • ZooKeeper
  • cluster用parcels還是packages安裝的
    • CDH 5.0.0, Packages
  • JDK版本
    • java version "1.7.0_67"
  • 是否打開了Cloudera Navigator的審計
    • 5.4.x以下的版本沒有?
  • 用到的database訪問資訊
    • 已存
  • 作業系統版本號
    • CentOS release 6.5 (Final)
  • cluster是否使用了AES-256加密
    • krb_enc_types
  1. 完成升級之前的部分步驟,包括一些特殊warning提示
  • 確認升級後版本的系統需求
  • 準備database
    • 在關閉涉及database的服務之後,強烈建議備份所有database,Activity Monitor的database的備份是可選的。詳細地址:
    • 修改database支援UTF-8
    • 修改database來支援合適的最大連線數(對於mysql來說最好是=100*database數量+50)
  • 如果從5.4.x升級到5.5或者以上版本時候,需要做以下操作來輔助Cloudera Navigator的升級:
  1. 在所有cluster hosts上升級JDK版本(如果需要的話)
  2. 為CM建立一個Package Repository
  • 建立一個臨時或者永久的遠端資料庫,將檔案下載進去:
    • http://archive.cloudera.com/cm5/repo-as-tarball/5.8.2/cm5.8.2-centos6.tar.gz
  • 修改本地客戶端yum源地址來訪問該資料庫
  1. 升級CM相關元件
  • Cloudera Navigator 的升級(如果裝了的話)
  1. 升級CM Server
    1. 停止CM上所有的service,包括HDFS
    2. 停止CM Server,Database和Agent
  • 停止所有正在執行的commands(TODO)
    • http://www.cloudera.com/documentation/enterprise/latest/topics/cm_dg_view_running_recent_commands.html#cmug_topic_4_7
  • 停止server
    • sudo service cloudera-scm-server stop
  • 停止db(使用內嵌的PostgreSQL時需要)
    • sudo service cloudera-scm-server-db stop
  • 停止agent
    • sudo service cloudera-scm-agent stop
  1. JDK1.6需要升級到1.7以上
  2. 用配置的yum源升級CM
    1. sudo yum clean all
    2. sudo yum upgrade cloudera-manager-server cloudera-manager-daemons cloudera-manager-agent
  3. 如果配置了/etc/cloudera-scm-agent/config.ini這個檔案,原檔案被添加了字尾,需要重新merge一下。
  4. 驗證下當前CM安裝版本是否匹配,$ rpm -qa ‘cloudera-manager-*':
  • cloudera-manager-repository-5.8-1.noarch
  • cloudera-manager-server-5.8.0-0.cm580.p0.41.el6.x86_64
  • cloudera-manager-agent-5.8.0-0.cm580.p0.41.el6.x86_64
  • cloudera-manager-daemons-5.8.0-0.cm580.p0.41.el6.x86_64
  1. 開啟服務
  • sudo service cloudera-scm-server-db start
  • sudo service cloudera-scm-server start
    1. 登陸CM Admin命令列
    2. 手動或者通過CM來升級叢集上各個機器的CM Agent
    3. 嚮導完成,進入CM首頁
    4. 其他服務重新start
    5. 升級JDK的話需要操作的步驟
  1. 驗證和測試升級結果
  • 用 Inspect Hosts in Cluster 來檢測
  1. 升級相關的Cloudera Navigator元件
  2. 升級CDHCDH升級(如果之前大版本是CDH5,不論之前是用parcels還是packages安裝的,CDH都建議升級時使用parcels)
  3. 升級之前
  • 閱讀CDH 5版本日誌
  • 閱讀CM 5的版本日誌
  • 確保JDK1.7或1.8已安裝
  • 確保CM的minor version等於或者大於CDH的minor version
    • CM 5.0.X —》CDH 5.0.5 
    • CM 5.1.X —》CDH 5.1.4
  • 從CDH5.2開始(Hive version 13),Hive支援日期格式的分割槽列。如果從老版本升級上來的資料在日期格式的分割槽列中存在錯誤資料的話,則升級後該條資料既不能被使用也不能被丟棄,為避免此類情況,請做如下操作:
    • Fix any invalid dates before you upgrade. Hive expects dates in partition columns to be in the form YYYY-MM-DD.
    • Store dates in partition columns as strings or integers.
    • 可使用查詢SQL查詢是否有此類DDL:
      • http://www.cloudera.com/documentation/enterprise/latest/topics/install_upgrade_to_cdh58.html#xd_583c10bfdbd326ba-590cb1d1-149e9ca9886--7a4e 
    • 若升級Impala時,略
    • 執行 Host Inspector,修復所有問題
    • 如果用了security,則執行Security Inspector
    • Run hdfs fsck / and hdfs dfsadmin -report and fix every issue.
    • Run hbase hbck.
    • 為避免一些提醒,可在升級期間開啟maintenance mode
  1. 升級不由CDH管理的元件
  2. 停止叢集各個服務
  3. 備份NameNode上的HDFS Metadata
    1. HDFS的配置頁面查詢NameNode Data Directories配置項的值
    2. 如果多於一個目錄,則每個目錄建立一個備份

# cd /data/dfs/nn

# tar -cvf /root/nn_backup_data.tar .

  1. 備份Hive的Metadata Database
  • 如果之前升級CM的時候沒備份的話
  1. 升級CM管理的元件
  • 之前配置的yum源,yum update
  1. 重啟agent來更新版本連結
  • service cloudera-scm-agent restart
  1. 執行CM升級嚮導
  • http://www.cloudera.com/documentation/enterprise/latest/topics/install_upgrade_to_cdh58_packages.html#xd_583c10bfdbd326ba-590cb1d1-149e9ca9886--7a4c__section_acf_1cx_jq
  1. 手工處理升級失敗的步驟
  2. 最終化HDFS的Metadata的升級
  3. 升級嚮導的操作
    1. 升級HDFS Metadata
    2. 升級Hive Metadata Database
    3. 升級Oozie ShareLib
    4. 升級Sqoop
    5. 升級Sentry Database
    6. 升級Spark
    7. 開啟叢集所有服務直到全部健康成功start
    8. Deploy Client Configuration

升級完成