歡迎訪問我的GitHub
https://github.com/zq2599/blog_demos
內容:所有原創文章分類彙總及配套原始碼,涉及Java、Docker、Kubernetes、DevOPS等;
系列文章連結
本文是《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