摘要: 容器开启数据服务之旅系列 (二):Kubernetes 如何助力 Spark 大数据分析 (二):Kubernetes 如何助力 Spark 大数据分析 概述 本文为大家介绍一种容器化的数据服务 Spark + OSS on ACK, 允许 Spark 分布式计算节点对阿里云 OSS 对象存储的直接访问.
(二):Kubernetes 如何助力 Spark 大数据分析
概述
本文为大家介绍一种容器化的数据服务 Spark + OSS on ACK, 允许 Spark 分布式计算节点对阿里云 OSS 对象存储的直接访问. 借助阿里云 Kubernetes 容器服务与阿里云 OSS 存储资源的深度整合, 允许 Spark 分布式内存计算, 机器学习集群对云上的大数据直接进行分析和保存结果.
先决条件
你已经通过阿里云容器服务创建了一个 Kubernetes 集群, 详细步骤参见创建 Kubernetes 集群 https://help.aliyun.com/document_detail/53752.html?spm=a2c4e.11153959.blogcont576236.13.13bc36f7icerYs
从容器服务控制台创建一个 Spark OSS 实例
使用三次点击来创建一个 1 master + 3 worker 的 Spark OSS 的实例
1 登录 https://cs.console.aliyun.com/
2 点击 "应用目录"
3 选择 "spark-oss", 点击 "参数"
给你的应用一个名字, e.g. spark-oss-online2
(必选) 填写你的 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>
3.(可选) 修改工作节点数目 Worker.Replicas: 3
4 点击 "部署"
5 点击 "Kubernetes 控制台", 查看部署实例
6 点击 服务, 查看外部端点, 点击 URL 访问 Spark 集群
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
粘贴下列代码, 使用 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
原文链接 http://click.aliyun.com/m/46376/
来源: http://geek.csdn.net/news/detail/258820