spark 是一个不错的平台,支持rdd 分析stream 机器学习。。。
以下为使用kubernetes 部署的说明,以及注意的地方

具体的容器镜像使用别人已经构建好的

deploy yaml 文件

deploy-k8s.yaml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: spark-master
namespace: big-data
labels:
app: spark-master
spec:
replicas: 1
template:
metadata:
labels:
app: spark-master
spec:
containers:
- name: spark-master
image: bde2020/spark-master:2.3.1-hadoop2.7
imagePullPolicy: IfNotPresent
ports:
- containerPort: 7077
- containerPort: 8080
env:
- name: ENABLE_INIT_DAEMON
value: "false"
- name: SPARK_MASTER_PORT
value: "7077" --- apiVersion: v1
kind: Service
metadata:
name: spark-master-service
namespace: big-data
spec:
type: NodePort
ports:
- port: 7077
targetPort: 7077
protocol: TCP
name: master
selector:
app: spark-master --- apiVersion: v1
kind: Service
metadata:
name: spark-webui-service
namespace: big-data
spec:
ports:
- port: 8080
targetPort: 8080
protocol: TCP
name: ui
selector:
app: spark-master
type: NodePort --- apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: spark-webui-ingress
namespace: big-data
spec:
rules:
- host: spark-webui.data.com
http:
paths:
- backend:
serviceName: spark-webui-service
servicePort: 8080
path: / --- apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: spark-worker
namespace: big-data
labels:
app: spark-worker
spec:
replicas: 1
template:
metadata:
labels:
app: spark-worker
spec:
containers:
- name: spark-worker
image: bde2020/spark-worker:2.3.1-hadoop2.7
imagePullPolicy: IfNotPresent
env:
- name: SPARK_MASTER
value: spark://spark-master-service:7077
- name: ENABLE_INIT_DAEMON
value: "false"
- name: SPARK_WORKER_WEBUI_PORT
value: "8081"
ports:
- containerPort: 8081 --- apiVersion: v1
kind: Service
metadata:
name: spark-worker-service
namespace: big-data
spec:
type: NodePort
ports:
- port: 8081
targetPort: 8081
protocol: TCP
name: worker
selector:
app: spark-worker ---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: spark-worker-ingress
namespace: big-data
spec:
rules:
- host: spark-worker.data.com
http:
paths:
- backend:
serviceName: spark-worker-service
servicePort: 8081
path: /

部署&&运行

  • 部署
kubectl apply -f deploy-k8s.yaml
  • 效果

    使用ingress 访问,访问域名 spark-webui.data.com


说明

  • 命名的问题
平时的习惯是deploy service 命名为一样的,但是就是这个就有问题的,因为k8s 默认会进行环境变量的注入,所以居然冲突的。
解决方法,修改名称,重新发布
具体问题:
dockerfile 中的以下环境变量
ENV SPARK_MASTER_PORT 7077
  • spark 任务运行
具体的运行可以参考官方demo,后期也会添加

参考资料

https://github.com/rongfengliang/spark-k8s-deploy
https://github.com/big-data-europe/docker-spark

 
 
 
 

最新文章

  1. {Latex}{Tabular}文本超出表格自动换行
  2. WIFI热点
  3. NHibernate概念
  4. VC++2010 中Debug和Release配置
  5. Storyboard里面的几种Segue区别及视图的切换:push,modal,popover,replace和custom
  6. Cocos2d-x3.0TestCpp文件夹笔记(二)
  7. memcached 安装
  8. win10 64bit 安装scrapy-1.1
  9. java IMAGEIO
  10. 老李分享:《Linux Shell脚本攻略》 要点(三)
  11. 对使用多个swiper下标有时显示不出来的问题
  12. 【ASP.NET系列】详解Views
  13. git branch 分支
  14. FindBugs-IDEA插件的使用
  15. [原]Jenkins(十五)---jenkins插件之deploy
  16. Netty接收到一个请求但是代码段执行了两次
  17. sublimeText3最新教程-自带插件汉化(sublime-text_build-3175_amd64)
  18. SWT 全接触
  19. 开始SDK之旅-入门2-集成流程图、轨迹图到系统
  20. python教程(二)·循环语句

热门文章

  1. 我的Java学习笔记-Java面向对象
  2. Working routine CodeForces - 706E (链表)
  3. js传入和传出参数乱码
  4. hulu
  5. sublime 个人心得
  6. spring boot 学习(四)Druid连接池的使用配置
  7. openSUSE 12.3 默认启动项
  8. POJ 2109 Power of Cryptography 大数,二分,泰勒定理 难度:2
  9. UAC 注册表 WIN64 OS 运行时主题
  10. selenium(四)操作cookie,伪造cookie