容器開啓數據服務之旅系列(二):Kubernetes如何助力Spark大數據分析

摘要: 容器開啓數據服務之旅系列(二):Kubernetes如何助力Spark大數據分析 (二):Kubernetes如何助力Spark大數據分析 概述 本文爲你們介紹一種容器化的數據服務Spark + OSS on ACK,容許Spark分佈式計算節點對阿里雲OSS對象存儲的直接訪問。html

容器開啓數據服務之旅系列(二):Kubernetes如何助力Spark大數據分析

(二):Kubernetes如何助力Spark大數據分析

概述

本文爲你們介紹一種容器化的數據服務Spark + OSS on ACK,容許Spark分佈式計算節點對阿里雲OSS對象存儲的直接訪問。藉助阿里雲Kubernetes容器服務與阿里雲OSS存儲資源的深度整合,容許Spark分佈式內存計算,機器學習集羣對雲上的大數據直接進行分析和保存結果。web

先決條件

  1. 你已經經過阿里雲容器服務建立了一個Kubernetes集羣,詳細步驟參見建立Kubernetes集羣

從容器服務控制檯建立一個Spark OSS實例

使用三次點擊來建立一個1 master + 3 worker 的Spark OSS的實例shell

1 登陸 https://cs.console.aliyun.com/
2 點擊 「應用目錄」
3 選擇 "spark-oss", 點擊 「參數」

15228374600296機器學習

  1. 給你的應用一個名字, e.g. spark-oss-online2
  2. (必選)填寫你的oss_access_key_id和oss_access_key_secret
Worker:
 # set OSS access keyID and secret
  oss_access_key_id: <Your sub-account>
  oss_access_key_secret: <your key_secret of sub-account>
  1. (可選)修改工做節點數目 Worker.Replicas: 3


15228349034649分佈式

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


15228367511796測試

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


15228382498256ui


15228383577200阿里雲

7 測試Spark集羣

  1. 打開一個spark-shell
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
  1. 粘貼下列代碼,使用Spark測試OSS的讀寫性
// 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

CLI 命令行操做

Setup keys and deploy spark cluster in one command

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
相關文章
相關標籤/搜索