k8s與docker與大數據環境的構建工作


大數據環境與docker

在使用CDH構建在k8s上的時候遇到了異常困難的問題,其檢查機制會將解析主機的IP作為目標容器的IP,導致兩者無法正常安裝部署,只能放棄已經做好的容器鏡像,之后在不斷的尋找中終於到了可以達到預期目標的方法。

首先是找到了Spark的兩個容器鏡像:

    https://hub.docker.com/r/bde2020/spark-master
    https://hub.docker.com/r/gettyimages/spark

其中big-data-europe/docker-spark已經可以直接部署在k8s上面,但我們想要構建大數據的環境僅僅有spark是不足的,但深入了解后,發現big-data-europe中已經有許多已經被制作好的容器,僅需組合就可以很方便的使用。

使用方法在頁面也很詳細,構建文件也在github中,只需要對幾個腳本文件進行了解,即可清楚整體的構建流程,也能很方便的組合自己的環境。其中所有鏡像在https://hub.docker.com/u/bde2020。

大數據組件的融合

我組合環境的時候使用的是gettyimages/docker-spark與big-data-europe的Hadoop、Hive、HBase,其次還自己做了一個包含Sqoop工具的datanode節點。

這套構建方法目前來看已經已經可以承擔目標預期的任務,在構建過程中也遇到了很多障礙:

1. 其中spark鏡像中包含的jars包遠比標准版本的要少,需要手動放入hive等包,為了避免缺少,需要將相應版本的jar包全部放入;
2. 版本問題,各組件之間的版本需要匹配;
3. spark中的spark的conf目錄可以與hive的hive-site.xml建立聯系,方便互通,同時也需要做一些調整;
4. env文件僅需合並,並調整方可。

大數據環境從docker到k8s

然后是從docker-compose文件開始構建k8s文件,這個主要是在同事的幫助下,需要注意以下幾個問題:

    1. 服務需要將幾個關鍵鏡像添加NodePort,端口開放足夠
    2. 創建容器的順序問題,開啟的順序差異將導致容器是否能正常啟動,如果啟動失敗,一般rc也將自動重新創建容器,如果還不行則需要手動刪除,rc會自動重構。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM