千家信息网

kubernetes中搭建spark集群的方式

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章主要讲解了"kubernetes中搭建spark集群的方式",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"kubernetes中搭建spark集
千家信息网最后更新 2025年12月03日kubernetes中搭建spark集群的方式

这篇文章主要讲解了"kubernetes中搭建spark集群的方式",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"kubernetes中搭建spark集群的方式"吧!

  • 适用场景:linux系统,已经搭建好kubernetes1.4及以上的集群,没有配置CA等认证,已经搭建DNS,其它情景仅作参考。

  • 如果还没有搭建DNS,请参考kubernetes中部署DNS搭建。

  • 相关的yaml文件已经上传到本人的github,需要用到的国外镜像也一并被我替换成了阿里云镜像,可直接下载使用

上节kubernetes中搭建spark集群 (一)说到spark mater和worker节点的ui都是单独的,没法在一个UI里实现查看,点击worker UI里的==back to master==也是返回不了master的UI的。并且此时集群外也无法访问我们的spark集群,这篇文章将重点介绍如何合并这些UI。

解决多UI合并和对外开放问题

这里以我集群中已经启动的spark集群为例

如下图所示,外部没法正常访问集群中的spark集群,而且每个spark节点都有自己的UI用户界面,没法实现一个端口访问所有的UI

针对这一情况,这里使用一个代理来实现合并,通过一个Python脚本创建了一个轻量级的HTTP服务器,它将所有的请求代理给你的Spark Master和Spark Workers。所有你需要做的是创建一个单一的SSH通道到这个代理,代理将转发所有的请求到相应的节点上。

具体的实现过程如下:

1.创建代理POD

a.文件spark-ui-proxy-controller.yaml内容

kind: ReplicationControllerapiVersion: v1metadata:  name: spark-ui-proxy-controllerspec:  replicas: 1  selector:    component: spark-ui-proxy  template:    metadata:      labels:        component: spark-ui-proxy    spec:      containers:        - name: spark-ui-proxy          image: registry.cn-hangzhou.aliyuncs.com/sjq-study/spark-ui-proxy:1.0          ports:            - containerPort: 80          resources:            requests:              cpu: 100m          args:            - spark-master:8080          livenessProbe:              httpGet:                path: /                port: 80              initialDelaySeconds: 120              timeoutSeconds: 5
  • 其中相关镜像已替换成阿里云镜像,可以直接下载使用。

b.创建RC

$ kubectl create -f spark-ui-proxy-controller.yaml

c.查看验证

$ kubectl get pods |grep spark-uispark-ui-proxy-controller-gkx2v   1/1       Running            0          5h
  • 已经running!

d.创建services

文件spark-ui-proxy-service.yaml 内容:

kind: ServiceapiVersion: v1metadata:  name: spark-ui-proxyspec:  type: NodePort  ports:    - port: 80      targetPort: 80      nodePort: 8082  selector:    component: spark-ui-proxy
  • 这里我将端口映射到了主机的8082端口,这样外部就可以通过该端口访问spark集群的工作界面了。

  • 创建

$ kubectl create -f spark-ui-proxy-service.yaml

e.查看验证

$ kubectl get svc |grep spark-uispark-ui-proxy   192.168.3.158          80:8082/TCP         4h

可以看出集群给services分配了一个192.168.3.158的集群IP,那么在集群内就可以通过这个Ip+port来访问spark集群的用户界面了。

实际搭建验证

a.集群外部通过暴露的端口进行访问,

这里我的主机IP为192.168.122.10,,,从ui-proxy映射的端口为8082,则访问http://192.168.122.10:8082

  • 点击master中的任意worker节点均可跳转到相应的worker节点的Ui,并且点击worker中的==back to master==也能成功跳转到master

b.集群内部访问

集群内通过主机的Ip+映射的port也能直接访问,或通过ui-proxy-service的IP(192.168.3.158)+port也能实现正常访问,

  • 未完待续!

感谢各位的阅读,以上就是"kubernetes中搭建spark集群的方式"的内容了,经过本文的学习后,相信大家对kubernetes中搭建spark集群的方式这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

集群 端口 节点 代理 方式 内容 镜像 验证 主机 文件 界面 学习 可以通过 情况 用户 用户界面 篇文章 问题 参考 成功 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 合肥网络安全应急指挥中心加班 华为主题商城服务器繁忙 三星gear 软件开发 杭州易企航软件开发公司 软件设计与体系结构数据库 5g会不会对服务器有更高要求 无线网络技术ifs指什么 obs软件开发者 访问数据库中的表需要哪些权限 河南十一网络技术有限公司 叁陆玖网络技术有限公司 语句重启oracle数据库 绝地求生国际服推荐什么服务器 计算机专业 软件开发论文 数据库储存形式 广东农房一体数据库字典 网络安全法案例的指导意义怎么写 怎么导入dmp数据库文件 网络安全宣讲的主题 微博用户传播数据库设计 数据库登录失败什么意思 问道怎么改数据库 泰拉瑞亚瑟银数据库 马来西亚服务器价格 数据库表结构能否修改 南通lol服务器在哪个区 数据库外连接内连接效率 计算机存储服务器是什么 怎么用手机搭建一个简易数据库 辽宁网络技术分类创新服务
0