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

 
 
 
 

apache spark kubernets 部署试用的更多相关文章

  1. Apache Spark的部署环境的小记

    Spark的单机版便于测试,同时通过SSH用Spark的内置部署脚本搭建Spark集群,使用Mesos.Yarn或者Chef来部署Spark.对于Spark在云环境中的部署,比如在EC2(基本环境和E ...

  2. 新手福利:Apache Spark入门攻略

    [编者按]时至今日,Spark已成为大数据领域最火的一个开源项目,具备高性能.易于使用等特性.然而作为一个年轻的开源项目,其使用上存在的挑战亦不可为不大,这里为大家分享SciSpike软件架构师Ash ...

  3. Apache Spark技术实战之8:Standalone部署模式下的临时文件清理

    未经本人同意严禁转载,徽沪一郎. 概要 在Standalone部署模式下,Spark运行过程中会创建哪些临时性目录及文件,这些临时目录和文件又是在什么时候被清理,本文将就这些问题做深入细致的解答. 从 ...

  4. Apache Spark源码走读之15 -- Standalone部署模式下的容错性分析

    欢迎转载,转载请注明出处,徽沪一郎. 概要 本文就standalone部署方式下的容错性问题做比较细致的分析,主要回答standalone部署方式下的包含哪些主要节点,当某一类节点出现问题时,系统是如 ...

  5. Apache Spark源码走读之7 -- Standalone部署方式分析

    欢迎转载,转载请注明出处,徽沪一郎. 楔子 在Spark源码走读系列之2中曾经提到Spark能以Standalone的方式来运行cluster,但没有对Application的提交与具体运行流程做详细 ...

  6. Apache Spark探秘:三种分布式部署方式比较

    转自:链接地址: http://dongxicheng.org/framework-on-yarn/apache-spark-comparing-three-deploying-ways/     目 ...

  7. Apache Spark技术实战之6 --Standalone部署模式下的临时文件清理

    问题导读 1.在Standalone部署模式下,Spark运行过程中会创建哪些临时性目录及文件? 2.在Standalone部署模式下分为几种模式? 3.在client模式和cluster模式下有什么 ...

  8. Apache Spark源码剖析

    Apache Spark源码剖析(全面系统介绍Spark源码,提供分析源码的实用技巧和合理的阅读顺序,充分了解Spark的设计思想和运行机理) 许鹏 著   ISBN 978-7-121-25420- ...

  9. Apache Spark源码走读之10 -- 在YARN上运行SparkPi

    y欢迎转载,转载请注明出处,徽沪一郎. 概要 “spark已经比较头痛了,还要将其运行在yarn上,yarn是什么,我一点概念都没有哎,再怎么办啊.不要跟我讲什么原理了,能不能直接告诉我怎么将spar ...

随机推荐

  1. hdu6398 计算几何

    不算严格的计算几何,就是各种分类 精度调好就能过,考虑三条边斜着放的所有情况即可 #include<bits/stdc++.h> #define LL long long #define ...

  2. hdu-5465-二维BIT+nim

    Clarke and puzzle Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others ...

  3. C#加密方法汇总(SHA1加密字符串,MD5加密字符串,可逆加密等)

    using System;using System.Collections.Generic;using System.Text; namespace StringEncry{ class Encode ...

  4. springmvc事务回滚失效

    转载:http://blog.csdn.net/z69183787/article/details/37819831 前文提到,最新换了框架,新项目用SpringMVC + Spring JdbcTe ...

  5. 消息队列的创建与读写ftok,msgget,msgsnd,msgrcv,指令ipcs,ipcrm 查看,删除消息队列

    ipcs是Linux下显示进程间通信设施状态的工具.可以显示消息队列.共享内存和信号量的信息.对于程序员非常有用,普通的系统管理员一般用不到此指令. ipcs -q 查看系统使用的IPC队列资源 ip ...

  6. 在Ubuntu系统下设置永久性Swap交换空间(转帖)

    http://blog.sina.com.cn/s/blog_6e4388910100tsk7.html swap 一般都在一个专有的swap区里,这可能是因为在安装的时候系统会提示你创建一个swap ...

  7. win10 移动热点自动关闭

    解决win10移动热点自动关闭

  8. httpclient cookie使用介绍

    COOKIE的处理 session的保持是通过cookie来维持的,所以如果用户有勾选X天免登陆,这个session就X天内一直有效,就是通过这个cookie来维持. 如果没有选中x天免登陆,基本上就 ...

  9. pymysql 单独获取表的栏位名称

    有时需要获取表的栏位+数值,请参考 https://www.cnblogs.com/xibuhaohao/p/9996571.html 有时只需要栏位名称,那么可以使用 col=self.cursor ...

  10. restful 初探

    1.restful 是一种编程规范,能够实现现在丰富的客户端(安卓,ios,桌面等)平等的访问服务器提供的服务. 2.重要的是利用restful来设计实现 符合该编程规范的api.