spark on k8s

news/2024/10/30 21:21:37/

spark从2.3之后开始 在包里面有docker 镜像脚本。

本文主要介绍2.x的镜像打包已经在k8s中怎么去部署spark,3.x的目前自己还没有测试成功,目前3.0自己遇到的问题是在k8s启动后,会提示没有权限创建logs目录。

1.到spark官网中下载2.x的spark,我下载的是spark-2.4.8-bin-hadoop2.6

spark下载icon-default.png?t=M1L8https://archive.apache.org/dist/spark/2.解压spark-2.4.8-bin-hadoop2.6 

3.修改 sbin/spark-daemon.sh 这个脚本文件,需要把 "--" 删除 ,否则会在之后的k8s启动中提示

 如下错误。

failed to launch: nice -n 0 /opt/spark/bin/spark-class org.apache.spark.deploy.master.Master --host spark-manager-84c8795878-4n8x9 --port 7077 --webui-port 8080nohup: can't execute '--': No such file or directory
full log in /opt/spark/logs/spark--org.apache.spark.deploy.master.Master-1-spark-manager-84c8795878-4n8x9.out

 

 4.执行打包命令

./bin/docker-image-tool.sh -t xxx(docker tag) build

5.docker images |grep spark

 会出现两个 我用的是不带-r的

6.接下来就是利用yaml文件 创建 spark了 yaml文件我就直接粘贴了 没啥说的,需要注意的就是将镜像改成自己的就行了

---
apiVersion: v1
kind: Service
metadata:name: spark-manager
spec:type: ClusterIPports:- name: rpcport: 7077- name: uiport: 8080selector:app: sparkcomponent: sparkmanager
---
apiVersion: v1
kind: Service
metadata:name: spark-manager-rest
spec:type: NodePortports:- name: restport: 8080nodePort: 30221targetPort: 8080selector:app: sparkcomponent: sparkmanager
---
apiVersion: apps/v1
kind: Deployment
metadata:name: spark-manager
spec:replicas: 1selector:matchLabels:app: sparkcomponent: sparkmanagertemplate:metadata:labels:app: sparkcomponent: sparkmanagerspec:containers:- name: sparkmanagerimage: spark:my_spark_2.4_hadoop_2.7workingDir: /opt/sparkcommand: ["/bin/bash", "-c", "/opt/spark/sbin/start-master.sh && while true;do echo hello;sleep 6000;done"]ports:- containerPort: 7077name: rpc- containerPort: 8080name: uilivenessProbe:tcpSocket:port: 7077initialDelaySeconds: 30periodSeconds: 60
---
apiVersion: apps/v1
kind: Deployment
metadata:name: spark-worker
spec:replicas: 2selector:matchLabels:app: sparkcomponent: workertemplate:metadata:labels:app: sparkcomponent: workerspec:containers:- name: sparkworkerimage: spark:my_spark_2.4_hadoop_2.7workingDir: /opt/sparkcommand: ["/bin/bash", "-c", "/opt/spark/sbin/start-slave.sh spark://spark-manager:7077 && while true;do echo hello;sleep 6000;done"]

7.通过nodePort将spark-ui映射出去可以在浏览器上访问

8.进入到master的pod容器中 执行 spark-submit 测试任务,圆周率计算

./bin/spark-submit --class org.apache.spark.examples.SparkPi  --master local examples/jars/spark-examples_2.11-2.4.8.jar 

计算成功。

9.至此spark on k8s完成,如果有疑问可以留言,自己也是初步探索,也找了很多网上的资料。 


http://www.ppmy.cn/news/292808.html

相关文章

k8s 配置dashboard

创建 kubernetes-dashboard 官方仓库 https://github.com/kubernetes/dashboard 下载 wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml也可以直接使用 url kubectl apply -f https://raw.githubusercontent.com/kubernet…

c语言程序设计数字电位器,数字电位器X9C103 100级调节电路和单片机源程序

/* * 按键子函数子函数 * 按键子函数共涉及两个按键检测和控制,分别对应P3^2和P3^3.两个按键每次按下分别实现10K数字 * 电位器中间滑动端往上端和往下端滑动1k数值。 * 数字电位器接口说明:INC接P2^0,U_D接P2^1,CS接P2^2。 */ #include"HEADER.h" #include"…

数字编码电位器c语言,数字电位器x9c103应用电路

描述 数字电位器x9c103应用电路(一) 基础部分 数字电位器X9c103模块是一款宽电压(3V-5V)供电,10K满量程电位器。 电位器中间抽头在0-10k间滑动共100级(电位器滑动端典型阻抗40欧)数字电位器VL和VH端口分别对应滑动变阻器的低端和高端,允许输入电压范围-5V到+5V。数字电位器模…

x9c104数字电位器驱动

该数字电位器里的内部实现其实就是一个调滑阻的实现,下面的代码是在STM32上写的,在这边做一下分享和记录。 先附上数据手册上的时序图和一些说明。这个芯片的输出电阻最小是40欧姆,最大是100K 这个端口接需要分压的电压,也就是相…

ThinkPHP3.2.3通过局域网手机访问项目

折腾一上午, 试了nginx, 试了修改Apache的httpd.conf 试了关闭代理 试了手动配置网络 试了关闭防火墙 试了添加防火墙入站出站规则 问了五个ChatGPT 都没解决。 记录一下 wampserver3.0.4 Apache2.4.18 PHP 5.6.19 MySQL 5.7.11 所有服务启…

endnote x9 word 闪退

endnote x9 word 闪退 https://support.clarivate.com/Endnote/s/article/EndNote-Problematic-field-codes-causing-jumping-cursor-the-range-cannot-be-deleted-or-other-problems-while-formatting?languageen_US 版权声明:本文为引用他人文章,原文…

EndNote X9使用方法

要先下载,word里不自带 一、如何添加引用 1、打开EndNote x9。点击文件->新建,在弹出的对话框中选择一个地址,修改文件名,新建文献库。 新建之后的效果如图所示: 2、在谷歌学术、百度学术或知网上搜索自己需要的…

EndNote X9使用教程

我的是office,endnote x9下载好后可以直接和office关联 1.下载汉化的包 下载链接:百度网盘:https://pan.baidu.com/s/1LIlNeqSzRcwbDpd8DBu47g 提取码:6qc3 点开后下载.exe文件,下载过程中记得把word保存关闭,因为下载好后EndNote会自动跟word关联上 2.进入EndNote界面…