美文网首页
spark on yarn集群部署

spark on yarn集群部署

作者: dream新世界 | 来源:发表于2021-09-10 15:38 被阅读0次

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.png

5. 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

相关文章

网友评论

      本文标题:spark on yarn集群部署

      本文链接:https://www.haomeiwen.com/subject/dxqnwltx.html