歡迎訪問我的GitHub
https://github.com/zq2599/blog_demos
內容:所有原創文章分類匯總及配套原始碼,涉及Java、Docker、Kubernetes、DevOPS等;
系列文章鏈接
本文是《CDH5部署三部曲》的終篇,前面兩章完成了CDH5集群的部署和啟動,本章將實戰中遇到的問題做個總結,如果碰巧您也遇到過這些問題,希望本文能給您一些參考;
- 《CDH5部署三部曲之一:準備作業》
- 《CDH5部署三部曲之二:部署和設定》
- 《CDH5部署三部曲之三:問題總結》
啟動集群服務報錯
- 首次啟動集群服務報錯,如下圖:

- 上述錯誤一般是對應節點的/usr/java/default目錄下沒有JDK所致,假設已將JDK部署在/usr/lib/jvm/jdk1.8.0_191,那么只需執行以下命令建立軟鏈接即可:
mkdir /usr/java &&ln -s /usr/lib/jvm/jdk1.8.0_191 /usr/java/default
- 點擊頁面上的重試按鈕;
NFS Gateway啟動失敗
- 發現NFS Gateway服務有問題,檢查日志:

- 日志如下,在worker1節點上,portmap和rpcbind這兩個服務不存在導致的:
No portmap or rpcbind service is running on this host. Please start portmap or rpcbind service before attempting to start the NFS Gateway role on this host.
- 于是安裝所需服務:
yum install -y nfs-utils rpcbind
- 啟動服務:
systemctl start rpcbind
- 再次啟動:

- 等待HDFS服務重啟完成后,如下圖,可見NFS Gateway問題已經消失:

HDFS副本不足的塊
- 問題如下圖綠框所示:

- 目前只有一個datanode,可以增加一個,如下圖,進入HDFS的實體頁面,點擊"添加角色實體":

- 點擊下圖紅框位置,增加一個DataNode:

- 如下圖,確保worker1和worker2都選上:

- 勾選后,點擊紅框2中的按鈕,在下拉選單中點擊“啟動”:

- 現在有了兩個DataNode,所以副本數可以設定為2,如下圖紅框所示,按照順序找出引數進行設定,記得點擊右下角的"保存更改"按鈕:

- 上述設定完成后,新寫入hdfs的檔案副本數為2,如果要將之前已經寫入的檔案的副本數也調整為2,請SSH登錄worker1節點,執行以下命令切換到hdfs賬號:
su - hdfs
- 以hdfs賬號的身份執行以下命令,即可完成副本數設定:
hadoop fs -setrep -R 2 /
- 回傳管理頁面,可見HDFS的狀態變成了健康:

Hive報錯
- 如下圖紅框所示,Hive啟動失敗,日志中提示Version information not found in metastore

- 從上圖可見Hive服務在worker2上,于是SSH登錄worker2,將/usr/share/java目錄下的mysql-connector-java.jar檔案復制到這個目錄下:/opt/cloudera/parcels/CDH-5.7.6-1.cdh5.7.6.p0.6/lib/hive/lib/
- 在Hive的配置頁面,搜索"hive.metastore.schema.verification",如下圖,確保紅框3中的復選框取消勾選:

- 修改配置datanucleus.autoCreateSchema,如下圖,確保紅框3中的復選框被選中:

- 重啟完成后,Hive狀態為健康:

spark-shell執行失敗
- 在worker1或者worker2上執行spark-shell命令進入spark控制臺時,會產生記憶體相關的錯誤,需要調整YARM相關的記憶體引數:

- 在YARN的配置頁面,調整yarn.scheduler.maximum-allocation-mb和yarn.nodemanager.resource.memory-mb這兩個引數的值,原有的值都是1G,現在都改成2G,如下圖:

- 重啟YARN;
- 重啟Spark;
- 執行spark-shell命令之前,先執行命令su - hdfs切換到hdfs賬號;
- 這次終于成功進入spark-shell互動模式:

Hue啟動失敗
- Hue啟動失敗如下圖:

- 上述失敗是由于檔案夾、檔案、httpd服務沒有準備好導致的,執行以下命令修復此問題:
mkdir /var/log/hue-httpd/
chown hue:hue /var/log/hue-httpd/
cd /var/log/hue-httpd/
touch error_log
chown hue:hue /var/log/hue-httpd/error_log
yum install -y httpd mod_ssl cyrus-sasl-plain cyrus-sasl-devel cyrus-sasl-gssapi
- 在網頁上重啟Hue服務,稍后可見服務已經正常:

以上就是本次實戰程序中遇到的所有問題和解決方法,至此《CDH5部署三部曲》全部完成,如果您正在部署CDH,希望此系列文章能給您一些參考,
歡迎關注公眾號:程式員欣宸
微信搜索「程式員欣宸」,我是欣宸,期待與您一同暢游Java世界...
https://github.com/zq2599/blog_demos
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/173101.html
標籤:Java
上一篇:Java 中的 6 顆語法糖
