摘要: 容器開啓數據服務之旅系列(二):Kubernetes如何助力Spark大數據分析 (二):Kubernetes如何助力Spark大數據分析 概述 本文爲你們介紹一種容器化的數據服務Spark + OSS on ACK,容許Spark分佈式計算節點對阿里雲OSS對象存儲的直接訪問。html
本文爲你們介紹一種容器化的數據服務Spark + OSS on ACK,容許Spark分佈式計算節點對阿里雲OSS對象存儲的直接訪問。藉助阿里雲Kubernetes容器服務與阿里雲OSS存儲資源的深度整合,容許Spark分佈式內存計算,機器學習集羣對雲上的大數據直接進行分析和保存結果。web
使用三次點擊來建立一個1 master + 3 worker 的Spark OSS的實例shell
1 登陸 https://cs.console.aliyun.com/
2 點擊 「應用目錄」
3 選擇 "spark-oss", 點擊 「參數」

機器學習
Worker: # set OSS access keyID and secret oss_access_key_id: <Your sub-account> oss_access_key_secret: <your key_secret of sub-account>

分佈式
4 點擊 「部署」
5 點擊 「Kubernetes 控制檯」,查看部署實例學習

測試
6 點擊 服務, 查看外部端點, 點擊URL訪問Spark集羣大數據

ui

阿里雲
7 測試Spark集羣
kubectl get pod | grep worker
spark-oss-online2-worker-57894f65d8-fmzjs 1/1 Running 0 44m
spark-oss-online2-worker-57894f65d8-mbsc4 1/1 Running 0 44m
spark-oss-online2-worker-57894f65d8-zhwr4 1/1 Running 0 44m
kubectl exec -it spark-oss-online2-worker-57894f65d8-fmzjs -- /opt/spark/bin/spark-shell --master spark://spark-oss-online2-master:7077
// Save RDD to OSS bucket val stringRdd = sc.parallelize(Seq("Test Strings\n Test String2")) stringRdd.saveAsTextFile("oss://eric-new/testwrite12") // Read data from OSS bucket val lines = sc.textFile("oss://eric-new/testwrite12") lines.take(10).foreach(println)
Test Strings
Test String2
export OSS_ID=<your oss id> export OSS_SECRET=<your oss secrets> helm install -n myspark-oss --set "Worker.oss_access_key_id="$OSS_ID",Worker.oss_access_key_secret="$OSS_SECRET incubator/spark-oss
kubectl get svc| grep oss myspark-oss-master ClusterIP 172.19.9.111 <none> 7077/TCP 2m myspark-oss-webui LoadBalancer 172.19.13.1 120.55.104.27 8080:30477/TCP 2m