关于Class org.apache.spark.network.yarn.YarnShuffleService not found的解决办法

今天在启动Hadoop和Hbase之后,发现nodemanager节点并未启动起来,于是对Hadoop进行初始化并启动,但发现启动Hadoop的时候节点正常,但在启动hbase之后,nodemanager节点依然会挂掉。反复试验并重启虚拟机之后问题依然存在。在察看hadoop的日志错误报告后,在yarn-root-nodemanager-hy.log中找到相应报错信息:java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.spark.network.yarn.YarnShuffleService not found

在查找相应资料后,发现解决办法如下:

1.修改${HADOOP_HOME}/etc/hadoop/yarn-site.xml中关于spark的参数时候,将mapreduce_shuffle更换为:mapreduce_shuffle,spark_shuffle,并添加:

yarn.nodemanager.aux-services.spark_shuffle.class

org.apache.spark.network.yarn.YarnShuffleService

spark.shuffle.service.port
7337

2.拷贝“${SPARK_HOME}/lib/spark-2.2.0-yarn-shuffle.jar”到“${HADOOP_HOME}/share/hadoop/yarn/lib/”目录下。(注意:不是${HADOOP_HOME}下的lib目录,我在第一次复制的时候就搞错了)

3.删除{HADOOP_HOME}下的dfs、logs、tmp目录并初始化重启hadoop。问题解决


你可能感兴趣的:(Spark相关)