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

来源:互联网 发布:单片机 电化学工作站 编辑:程序博客网 时间:2024/05/17 04:49

今天在启动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的参数时候,将<value>mapreduce_shuffle</value>更换为:<value>mapreduce_shuffle,spark_shuffle</value>,并添加:

<property>

<name>yarn.nodemanager.aux-services.spark_shuffle.class</name>

<value>org.apache.spark.network.yarn.YarnShuffleService</value>

</property>

<property>
<name>spark.shuffle.service.port</name>
<value>7337</value>
</property>

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。问题解决


阅读全文
0 0
原创粉丝点击