在 K8S 部署一个 Spark History Server - 篇1
时间:2022-07-22
本文章向大家介绍在 K8S 部署一个 Spark History Server - 篇1,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1 Overview
要在 K8S 集群中部署一套 Spark History Server,首先要了解,怎么部署一个本地版本。然后就是了解一些基本的 K8S 相关的知识点。最后就是两部分知识结合起来,看看业界流行的方案是如何实现的。
Spark History Server 缩写成 HS
2 Spark History Server 本地试玩
其实 Spark 官网关于如何部署 Spark History Server 是有很详细的说明的。这里以 Spark 2.3.0 为例。
总体来说 start-history-server.sh,可以启动 HS 的进程。
默认通过访问 18080 端口,就可以将 job 的历史信息(注意还包括 on-going,也就是正在运行的 job)。
Spark Job 需要打开两个配置。
spark.eventLog.enabled true
spark.eventLog.dir hdfs://namenode/shared/spark-logs
为了在本地起一个 HS 的后台进程,我们可以下载 Spark 的发行包。
创建一个目录,来放 event log。
mkdir /tmp/spark-log
然后运行一个 SparkPi 程序,只要有配置 Java Home,正常 JDK8 都能跑起来的。
./bin/spark-submit
--class org.apache.spark.examples.SparkPi
--master local
--conf spark.eventLog.enabled=true
--conf spark.eventLog.dir=file:///tmp/spark-log
./examples/jars/spark-examples_2.11-2.2.0-k8s-0.5.0.jar
只要配置了 event log 的位置,日志就能看到以下信息。
因为启动 HS 的进程需要 event log,现在有了,所以就能启动了。查看 18080 默认端口的页面。
刚刚运行的 SparkPi 程序的 Job 在这里。
3 Docker 化
本地环境总是很蛋疼的。熟悉 Docker 之后,我想不会有人再在本地跑 Spark,HDFS 之类的测试程序的了。下一篇具体说说如何用 Docker 来跑 Spark。
- 数据与应用程序间通信·UDP Socket
- Java 数据类型转换
- Spring boot with Scheduling
- Spring Properties 文件读取
- 【学术】你真的知道什么是随机森林吗?本文是关于随机森林的直观解读
- Spring boot 将 Session 放入 Redis
- 【教程】估算一个最佳学习速率,以更好地训练深度神经网络
- SNS 数据库设计
- CentOS7 下 MySQL 5.7 重置root密码
- 通过简单的线性回归理解机器学习的基本原理
- 消息队列在使用中的注意事项
- 【教程】OpenCV—Node.js教程系列:用Tensorflow和Caffe“做游戏”
- 验证码,再见!利用机器学习在15分钟内破解验证码
- Spring boot with Redis
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 弄它!!!2020年了你还不懂ACL嘛,小编带你走进ACL的世界,分分钟搞定!!!
- jsp实用过滤器写法
- 搞它!!! Linux 查看CPU信息,机器型号,内存等信息
- shell脚本快速入门之----sort、uniq和tr
- 社区开源框架网络模块:ConnectionManager详解
- 搞它!!!Linux--深入介绍firewalld防火墙管理工具
- 搞它!!! 深入介绍iptables防火墙管理工具
- ZooKeeper的十二连问,你顶得了嘛?
- 手把手教你,嘴对嘴传达----Apache虚拟主机配置与应用
- 手把手教你,嘴对嘴传达----Apache的访问控制
- spring框架应用系列二:component-scan自动扫描注册装配
- 手把手教你,嘴对嘴传达------Apache日志管理日志(rotatelogs分割工具、AWStats日志分析)
- 配合JAVA的AJAX使用
- 手把手教你,嘴对嘴传达------Apache网页优化
- jQuery通过Ajax实现请求后台接口数据