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

  • Post author:
  • Post category:其他





今天


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



版权声明:本文为Hiwes原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。