sparn on kerberos-yarn
一、环境:
-- Hadoop集群
1. Hadoop集群(dm46、dm47、dm48),开启了Kerberos安全,集群所有组件基于K8S管理,运行在docker pod中
2. yarn中的python版本是3.6,java版本是1.8
-- 客户端:dm45
1. 开源spark版本:3.3.1
2. conda有两个环境:base的python是3.6,pyspark_env的版本是3.8
二、目标:
在dm45结点,通过spark(3.3.1)客户端,基于yarn模式,向Hadoop集群提交spark作业。
三、步骤(在dm45操作):
1. 下载spark客户端,并解压
spark-3.3.1-bin-hadoop3.tgz
spark home路径:/home/xxxxx/kdh/spark
2. kinit yarn
3. spark配置
a. 将hdfs-site.xml、core-site.xml、yarn-site.xml拷贝到/home/xxxxx/kdh/spark/conf
b. 修改spark-env.sh
cd /home/xxxxx/kdh/spark/conf
cp spark-env.sh.template spark-env.sh
vi /home/xxxxx/kdh/spark/conf/spark-env.sh
-------------------------------------------------------------------------------------------
HADOOP_CONF_DIR=/home/xxxxx/soft/TDH-Client/conf/hadoop
YARN_CONF_DIR=/home/xxxxx/soft/TDH-Client/conf/hadoop
YARN_HOME=/home/xxxxx/soft/TDH-Client/hadoop/hadoop-yarn
HADOOP_YARN_HOME=/home/xxxxx/soft/TDH-Client/hadoop/hadoop-yarn
HADOOP_HOME=/home/xxxxx/soft/TDH-Client/hadoop/hadoop
HADOOP_LIBEXEC_DIR=/home/xxxxx/soft/TDH-Client/hadoop/hadoop/libexec/
HADOOP_HDFS_HOME=/home/xxxxx/soft/TDH-Client/hadoop/hadoop-hdfs
HADOOP_COMMON_HOME=/home/xxxxx/soft/TDH-Client/hadoop/hadoop
HADOOP_MAPRED_HOME=/home/xxxxx/soft/TDH-Client/hadoop/hadoop-mapreduce
SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://dm47:8020//tmp/zzdb/sparklog/ -Dspark.history.fs.cleaner.enabled=true"
c. 修改spark-defaults.conf
cd /home/xxxxx/kdh/spark/conf
cp spark-defaults.conf.template spark-defaults.conf
vi /home/xxxxx/kdh/spark/conf/spark-defaults.conf
-------------------------------------------------------------------------------------------
spark.eventLog.enabled true
spark.eventLog.dir hdfs:///tmp/zzdb/sparklog
spark.eventLog.compress true
spark.yarn.historyServer dm48:19888
spark.yarn.jars hdfs:///tmp/zzdb/spark/jars/*.jar
d. 修改日志级别
cd /home/xxxxx/kdh/spark/conf
cp log4j2.properties.template log4j2.properties
e. 依赖包(TDH-Client里寻找)
cp guardian-common-guardian-3.1.0.jar /home/xxxxx/kdh/spark/jars/
cp yarn-plugin-transwarp-6.2.0.jar /home/xxxxx/kdh/spark/jars/
hadoop fs -mkdir -p /tmp/zzdb/spark/jars
cd /home/xxxxx/kdh/spark/jars
hadoop fs -put * /tmp/zzdb/spark/jars/
f. 其它
hadoop fs -mkdir -p /tmp/zzdb/sparklog
4. 启动history server
cd /home/xxxxx/kdh/spark/sbin
./start-history-server.sh
地址: http://dm45:18080
5. 测试
a. pi任务
-- base环境是python3.6
conda activate base
./spark-submit \
--master yarn \
--principal yarn@TDH \
--keytab /home/xxxxx/soft/yarn.keytab \
/home/xxxxx/kdh/spark/examples/src/main/python/pi.py 30
b. spark-shell
sh ./spark-shell --master yarn --deploy-mode client --driver-memory 4g --executor-memory 4g --num-executors 2 --executor-cores 2 --principal yarn@TDH --keytab /home/xxxxx/soft/yarn.keytab
c. pi任务-找茬:指定了高版本的python,任务在yarn上显示SUCCEEDED,但实际没看到pi的输出,可能是眼神问题
conda activate pyspark_env
cd /home/xxxxx/kdh/spark/bin
./spark-submit \
--master yarn \
--conf 'spark.pyspark.driver.python=/software/anaconda3/envs/pyspark_env/bin/python' \
--conf 'spark.pyspark.python=/software/anaconda3/envs/pyspark_env/bin/python' \
--principal yarn@TDH \
--keytab /home/xxxxx/soft/yarn.keytab \
/home/xxxxx/kdh/spark/examples/src/main/python/pi.py 30
d.提交wordcount - cluster模式
conda activate base
cd /home/kangwenqi/kdh/spark/bin
./spark-submit \
--master yarn \
--deploy-mode cluster \
--principal yarn@TDH \
--keytab /home/kangwenqi/soft/yarn.keytab \
/home/kangwenqi/workspace/pyspark_learn/02_pyspark_core/main/02_Wordcount_hdfs_yarn_cluster.py
四、地址查看:
http://dm45:18080
http://dm48:19888
http://dm46:8088/cluster
五、幕后花絮
1. 更换yarn pod的java版本,原版本是1.7,换为1.8
[root@dm46 ~]# docker images | grep yarn
dm46:5000/transwarp/yarn transwarp-6.2.1-final cb9ccbe898b6 3 years ago 2.22GB
transwarp/yarn transwarp-6.2.1-final cb9ccbe898b6 3 years ago 2.22GB
[root@dm46 ~]#
docker run -id dm46:5000/transwarp/yarn:transwarp-6.2.1-final bash
docker ps -a | grep yarn | grep bash
docker exec -it d0f513cd0780 bash
mv /usr/java/jdk1.7.0_71 /usr/java/jdk1.7.0_71-bak
mv /usr/java/jdk1.8.0_25 /usr/java/jdk1.7.0_71
docker tag dm46:5000/transwarp/yarn:transwarp-6.2.1-final dm46:5000/transwarp/yarn:transwarp-6.2.1-final-jdk17bak
docker commit d0f513cd0780 dm46:5000/transwarp/yarn:transwarp-6.2.1-final
docker push dm46:5000/transwarp/yarn:transwarp-6.2.1-final
2. pod中找不到dm45(找到就见鬼了)
tdh pod在宿主机上映射的hosts:/etc/transwarp/conf/hosts
3. yarn一直报:Operation category READ is not supported in state standby
但是感觉也没有太大影响,加上了以下语句,感觉没什么卵用
export SPARK_MASTER_HOST=dm47
暂时和解了吧
4. 失误,检查晚了:版本不对,一切白费!!!
之所以放到最后,是因为这是我走过的弯路,不是一开始,都是正确的。
(base) [root@dm45 bin]# hadoop version
Hadoop 2.7.2-transwarp-6.2.0
Subversion http://xxx:10080/hadoop/hadoop-2.7.2-transwarp.git -r f31230971c2a36e77e4886e0f621366826cec3a3
Compiled by jenkins on 2019-07-27T11:33Z
Compiled with protoc 2.5.0
From source with checksum 42cb923f1631e3c548d6b7e572aa6962
This command was run using /home/xxxxx/soft/TDH-Client/hadoop/hadoop/hadoop-common-2.7.2-transwarp-6.2.0.jar
正解:https://dlcdn.apache.org/spark/spark-3.2.3/spark-3.2.3-bin-hadoop2.7.tgz
sparn on kerberos-yarn相关推荐
- Spark 在YARN上运行
在YARN上运行Spark 安全 在YARN上启动Spark 添加其他JAR 准备工作 组态 调试您的应用程序 Spark特性 重要笔记 的Kerberos YARN特定的Kerberos配置 Ker ...
- hive on tez集成完整采坑指南(含tez-ui及安全环境)
hive on tez 介绍 tez是hive官方推荐的一个有向无环图的执行引擎,从测试结果来看,相对于mr是数量级上的提升 使用版本 hadoop 3.1.1 hive 3.1.0 tez 0.9. ...
- Java代码使用Spark on Yarn 方式提交任务到带Kerberos认证的Hadoop集群
2019独角兽企业重金招聘Python工程师标准>>> 项目中遇到Spark Yarn方式提交到Hadoop集群,访问集群HDFS时发现使用的当前用户,没有访问权限,经过排查后发现H ...
- YARN配置Kerberos认证
为什么80%的码农都做不了架构师?>>> 关于 Kerberos 的安装和 HDFS 配置 kerberos 认证,请参考 HDFS配置kerberos认证. 1. 环境说明 ...
- kerberos体系下的应用(yarn,spark on yarn)
kerberos 介绍 阅读本文之前建议先预读下面这篇博客 kerberos认证原理---讲的非常细致,易懂 Kerberos实际上一个基于Ticket的认证方式.Client想要获取Server端的 ...
- spark 提交至yarn异常超时 Client cannot authenticate via:[TOKEN, KERBEROS]
spark-cluster提交任务,提示 exit code :10 异常,具体需要到容器日志中去查看 19/08/07 18:09:24 INFO yarn.Client: client token ...
- HDFS配置Kerberos认证
为什么80%的码农都做不了架构师?>>> 本文主要记录 CDH Hadoop 集群上配置 HDFS 集成 Kerberos 的过程,包括 Kerberos 的安装和 Hadoo ...
- Yarn 问题发现与解决
2019独角兽企业重金招聘Python工程师标准>>> 问题发现 实际上是在写一个小东西的时候, 有一部分想看看 Kafka 的一些情况参考一下, 跑到开发集群上去看了看, 结果发现 ...
- Running Spark on YARN
Running Spark on YARN 对 YARN (Hadoop NextGen) 的支持是从Spark-0.6.0开始的,后续的版本也一直持续在改进. Launching Spark on ...
- Apache Hadoop YARN – ResourceManager--转载
原文地址:http://zh.hortonworks.com/blog/apache-hadoop-yarn-resourcemanager/ ResourceManager (RM) is the ...
最新文章
- Redis 配置文件
- 授权服务框架Spring Authorization Server的过滤器链
- js 时间戳转为时间
- 第二篇T语言实例开发(版本5.3),福彩3D摇号器
- Spring Boot和数据库初始化
- jQuery on 绑定的事件触发多次
- 大型企业网络配置系列课程详解(八) --VoIP的配置与相关概念的理解
- 洛谷 | P1010 幂次方
- “别傻了,你不需要区块链!”
- [CareerCup][Google Interview] Find kth number in a BST
- Ubuntu13.04安装OpenCV2.4.5
- Origin2018安装与使用(整理中)
- java离线_java8离线版软件下载
- 2021年中国国内生产总值(GDP)、GDP结构及人均国内生产总值分析[图]
- python自动办公pdf_python自动化办公之 Python 解析 PDF
- 【分享-世界著名的免费摄影图库】 素材中国, 高清壁纸 - PxHere摄影图库
- 解决Windows10关闭UAC后,开机启动项不生效的问题
- windows客户端开发--如何测量一个字符串显示的物理长度
- Vue项目安装依赖时 warning“unmet peer dependency“
- IQueryable和IEnumerable学习
热门文章
- c51单片机原理复习资料2020
- 2022-2028年全球与中国巨磁电阻基器件(GMR)行业深度分析
- java毕业生设计中小学教师培训管理系统计算机源码+系统+mysql+调试部署+lw
- (dede)织梦系统二次开发笔记
- 手机投屏电视html,手机投屏到电视很难吗?学会这几招,小屏轻松变大屏
- oracle9i导入文件,将oracle 9i备份文件导入oracle 8i的方法简介
- 各种软件下载地址收集
- 7.8趋势简更(美联储的步步紧逼)
- 万兆无盘服务器,万兆无盘网吧解决方案 2013年3月15日.doc
- emfps游戏教程_FPS游戏如何训练自己的走位?