容器开启数据服务之旅系列(二):Kubernetes如何助力Spark大数据分析-阿里云开发者社区

开发者社区> 阿里云容器服务 ACK> 正文

容器开启数据服务之旅系列(二):Kubernetes如何助力Spark大数据分析

简介:

容器开启数据服务之旅系列(二):Kubernetes如何助力Spark大数据分析

(二):Kubernetes如何助力Spark大数据分析

概述

本文为大家介绍一种容器化的数据服务Spark + OSS on ACK,允许Spark分布式计算节点对阿里云OSS对象存储的直接访问。借助阿里云Kubernetes容器服务与阿里云OSS存储资源的深度整合,允许Spark分布式内存计算,机器学习集群对云上的大数据直接进行分析和保存结果。

先决条件

  1. 你已经通过阿里云容器服务创建了一个Kubernetes集群,详细步骤参见创建Kubernetes集群

从容器服务控制台创建一个Spark OSS实例

使用三次点击来创建一个1 master + 3 worker 的Spark OSS的实例

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集群


15228382498256


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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
阿里云容器服务 ACK
使用钉钉扫一扫加入圈子
+ 订阅

云端最佳容器应用运行环境,安全、稳定、极致弹性

官方博客
官网链接