工作日誌 基於k8s搭建spark集群

2021-07-11 12:10:50 字數 1827 閱讀 9260

這幾天嘗試在k8s中搭建spark集群,踩了一些坑,跟大家分享一下。

spark的元件介紹可參考官方文件

具體參考github k8s

映象拉取問題

可將zeppelin-controller.yaml使用的映象修改為index.tenxcloud.com/google_containers/zeppelin:v0.5.6_v1

webui service使用問題

文件中的kubectl proxy –port=8001指令只能監聽127.0.0.1的**請求,不適用於測試環境和虛擬機器環境,因為使用的ip位址不是127.0.0.1。

此時使用kubectl proxy –port=8001 –address=\

pyspark示例執行錯誤

示例中的資料來源存在問題,可使用本地檔案執行,例如「sc.textfile(「/opt/spark/licenses/*」).map(lambda s: len(s.split())).sum()」

zeppelin webui使用問題

同樣只能通過localhost或127.0.0.1訪問,可以通過將zeppelin service型別配置為nodeport。參考spark-20160427.zip中的zeppelin-service.yaml。

使用方法為:

該示例會統計zeppelin本地/opt/spark/licenses/目錄下的所有檔案的單詞數量,幾秒後會看到執行結果。

需要根據k8s原始碼中的examples/spark/下的yaml檔案搭建,將所有yaml檔案複製到工作目錄下。

修改spark-master-controller.yaml和spark-worker-controller.yaml:

* spec.template.spec.containers.command均修改為「/start.sh」

* spec.template.spec.containers.images分別修改為index.tenxcloud.com/google_containers/spark-master:1.5.2_v1和index.tenxcloud.com/google_containers/spark-worker:1.5.2_v1

zeppelin-controller.yaml使用的映象修改為index.tenxcloud.com/google_containers/zeppelin:v0.5.6_v1

修改完成後,按k8s官方示例的步驟啟動即可。

由於zeppelin映象非常大,拉取會消耗很多時間。可以使用下面的spark-driver.yaml建立乙個簡易的spark-driver:

cpu: 100m建立後,使用kubectl exec -it pyspark即可訪問。

yaml配置參考這裡

基於k8s集群 搭建efk日誌系統

1.官方位址 2.搭建es集群 kubectl get po n kube system grep elasticsearch 等待pod狀態到running kubectl describe po elasticsearch logging 0 n kube system grep ip curl...

k8s集群日誌

硬體環境 三颱虛擬機器,10.10.20.203 部署docker etcd flannel kube apiserver kube controller manager kube scheduler elsticsearch kibana 10.10.20.206 部署docker flannel...

k8s搭建集群

k8s由兩種型別資源組成 分別是 master 和 nodes k8s的集群部署方式有三種 1.kubeadm 2.minikube 3.二進位製包 前兩種為自動部署,簡化操作。說一說手動部署的 二進位製包 k8s集群部署步驟 1.關閉防火牆 firewall cmd state systenctl...