在使用cdh構建在k8s上的時候遇到了異常困難的問題,其檢查機制會將解析主機的ip作為目標容器的ip,導致兩者無法正常安裝部署,只能放棄已經做好的容器映象,之後在不斷的尋找中終於到了可以達到預期目標的方法。
首先是找到了spark的兩個容器映象:
其中big-data-europe/docker-spark已經可以直接部署在k8s上面,但我們想要構建大資料的環境僅僅有spark是不足的,但深入了解後,發現big-data-europe中已經有許多已經被製作好的容器,僅需組合就可以很方便的使用。
使用方法在頁面也很詳細,構建檔案也在github中,只需要對幾個指令碼檔案進行了解,即可清楚整體的構建流程,也能很方便的組合自己的環境。其中所有映象在
我組合環境的時候使用的是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-compose檔案開始構建k8s檔案,這個主要是在同事的幫助下,需要注意以下幾個問題:
1. 服務需要將幾個關鍵映象新增nodeport,埠開放足夠
2. 建立容器的順序問題,開啟的順序差異將導致容器是否能正常啟動,如果啟動失敗,一般rc也將自動重新建立容器,如果還不行則需要手動刪除,rc會自動重構。
docker與k8s的關係
docker和k8s的關係 vmware pivotal與google cloud合作推出的pks,這個cloud foundry container runtime的全新商業支援版本致力於讓虛擬化管理員輕鬆執行和運維kubernetes,從而支援開發團隊在vsphere或google cloud ...
k8s與Docker有啥關係
簡要介紹 官方定義1 docker是乙個開源的應用容器引擎,開發者可以打包他們的應用及依賴到乙個可移植的容器中,發布到流行的linux機器上,也可實現虛擬化。官方定義2 k8s是乙個開源的容器集群管理系統,可以實現容器集群的自動化部署 自動擴縮容 維護等功能。與傳統技術對比 接下來我們看兩張經典的圖...
k8s集群部署 docker部署k8s安裝篇
1 安裝docker 緊接著配置乙個穩定 stable 的倉庫 倉庫配置會儲存到 etc yum.repos.d docker ce.repo檔案中 yum config manager add repo 更新yum安裝的相關docke軟體包 安裝docker ce yum update y yum...