现象
start-yarn.sh后
尝试使用hadoop的程序,发现连结不上yarn的8032等端口
本质
- 本质原因:yarn的resourcemanager等程序没有启动
- 没有启动的根本原因需要从logs下的resourcemanager 日志里看
- 由于hadoop和yarn的文档欠缺,很可能安装时使用的java版本实际上hadoop和yarn不支持,导致无法启动,产生
Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass
这个报错。
解决方法
- 在etc/hadoop/yarn-env.sh里
export YARN_RESOURCEMANAGER_OPTS="--add-opens java.base/java.lang=ALL-UNNAMED"
export YARN_NODEMANAGER_OPTS="--add-opens java.base/java.lang=ALL-UNNAMED"
即可解决
tips
我已经尽量贴了关键字在标题里,但是不能保证搜索引擎能找到这篇文章,所以多收藏和转发吧