spark on yarn集群部署
2021-09-10 本文已影响0人
dream新世界
1. 机器规划
IP地址 | hostname(主机名) | 身份 |
---|---|---|
10.213.50.94 | cnsz72vl0237 | NameNode、ResourceManager、HistoryServer、Master |
10.213.50.95 | cnsz72vl0238 | DataNode、NodeManager、Worker |
10.213.50.96 | cnsz72vl0239 | DataNode、NodeManager、Worker 、SecondaryNameNode |
要注意的地方:
1、spark的Master和hdfs的NameNode、Yarn的ResourceManager在同一台机器;
2、spark的Worker和hdfs的DataNode、Yarn的NodeManager在同一台机器;
3、spark和hadoop部署都用同一个账号来进行;
4、先部署hadoop集群环境和standalone模式的spark集群
hadoop-3.3.0安装教程
spark-3.0.0安装教程
2. 修改配置
1、~/spark/spark-standalone/conf目录下spark-env.sh,添加配置hadoop信息
export HADOOP_CONF_DIR=/home/ysops/hadoop/hadoop/etc/hadoop
2、~/hadoop/hadoop/etc/hadoop/目录下yarn-site.xml,在configuration节点中增加下 面两个子节点,如果不做以下设置,在提交spark任务的时候,yarn可能将spark任务 kill掉,导致"Failed to send RPC xxxxxx"异常:
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
3. 启动hadoop和spark
1、启动命令和顺序如下:
~/hadoop/hadoop/sbin/start-dfs.sh \
&& ~/hadoop/hadoop/sbin/start-yarn.sh \
&& ~/hadoop/hadoop/sbin/mr-jobhistory-daemon.sh start historyserver \
&& ~/spark/spark-standalone/sbin/start-all.sh
&& ~/spark/spark-standalone/sbin/start-history-server.sh
2、停止hadoop和spark:
~/spark/spark-standalone/sbin/stop-history-server.sh \
&& ~/spark/spark-standalone/sbin/stop-all.sh \
&& ~/hadoop/hadoop/sbin/mr-jobhistory-daemon.sh stop historyserver \
&& ~/hadoop/hadoop/sbin/stop-yarn.sh \
&& ~/hadoop/hadoop/sbin/stop-dfs.sh
4. 验证spark
1、在hdfs创建一个目录用于保存输入文件,在~/hadoop/hadoop/bin下执行命令
hdfs dfs -mkdir /input
2、准备一个txt文件(我这里是world.txt,内容随意),提交到hdfs的/input目录下:
hdfs dfs -put ~/world.txt /input
3、以client模式启动spark-shell,在~/spark/spark-standalone/bin目录下执行
spark-shell --master yarn --deploy-mode client
4、在启动的控制台中,输入以下内容,即可统计之前提交的txt文件中的单词出现次数,然后将前十名打印出来:
image.png5. Spark-shell提交jar
1、以yarn集群的方式提交jar,命令如下:
/home/ysops/spark/spark-standalone/bin/spark-submit \
--class ysepay.spark.operator.ReadFromMongo \
--master spark://10.213.50.94:7077 \
--deploy-mode cluster \
--executor-memory 1G \
--total-executor-cores 3 \
../spark-standalone/examples/jars/spraktest-1.0-SNAPSHOT.jar 10