mac下hadoop3.2.1无法启动yarn的问题
学习Hadoop3.2.1在mac系统上的安装部署时,前面一切正常,通过命令start-yarn.sh启动yarn管理器后:
- 通过命令jps查看没有NodeManager、ResourceManager两个java进程。
- 地址
http://localhost:8088/
也无法访问。
查看hadoop下logs的日志信息,nodeManager…log resourceManager…log文件均显示错误信息
Error injecting constructor, java.lang.NoClassDefFoundError: javax/activation/DataSource
at org.apache.hadoop.yarn.server.resourcemanager.webapp.JAXBContextResolver.<init>(JAXBContextResolver.java:41)
at org.apache.hadoop.yarn.server.resourcemanager.webapp.RMWebApp.setup(RMWebApp.java:54)
while locating org.apache.hadoop.yarn.server.resourcemanager.webapp.JAXBContextResolver
通过以上错误信息在stackoverflow上搜索问题,原因为hadoop需要安装java8
查看Hadoop支持的java版本信息Hadoop Java Versions
通过echo $JAVA_HOME
查看本机的java版本信息,显示
/Library/Java/JavaVirtualMachines/jdk-13.0.1.jdk/Contents/Home
下载jdk-8u241-macosx-x64.dmg
并安装
将.zshrc中的JAVA_HOME修改为JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_241.jdk/Contents/Home
并通过source ~/.zshrc
使更改生效
重新通过start-yarn.sh
启动yarn,成功!