当前位置:   article > 正文

hadoop集群运维的坑合集--datanode和nodemanager无法启动_为什么启动hbase后没有datanode和nodemanager

为什么启动hbase后没有datanode和nodemanager

背景: 在公司数据平台搭建完成后,hadoop的各个节点都正常启动。后面做完数据仓库,数据湖,添加了不少的组件,如atlas,ranger等数据治理等组件在hdp100上。后面因为服务器整体降配,需要重启,发现其他组件启动都没有问题,刚好在hdp100上这台的datanode和nodemanager均无法启动,报下面的错。

1)datandode无法启动

  1. java.lang.NoClassDefFoundError: io/netty/channel/EventLoopGroup
  2. at org.apache.hadoop.hdfs.server.datanode.DataNode.startInfoServer(DataNode.java:958)
  3. at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:1418)
  4. at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:501)
  5. at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:2806)
  6. at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:2714)
  7. at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:2756)
  8. at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:2900)
  9. at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:2924)
  10. Caused by: java.lang.ClassNotFoundException: io.netty.channel.EventLoopGroup
  11. at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
  12. at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
  13. at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
  14. at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
  15. ... 8 more

解决过程:

1,首先想到的是后面添加的组件影响了hadoop的启动环境,如 jdk版本,以及依赖冲突,反复和其他节点正常启动的对比,没有相关的问题 。

2,既然这个错误报的显然是没有找到依赖,但之前好好的,为啥又不行呢?去仔细看了看jvm的加载原理,研究了很久,貌似也不能找出病因。

最终的办法:既然找不出问题,因为故障之前有很多的的组件引入,时间跨度太长,就不考虑其他,从问题入手。这里就去下载  io.netty的jar包,把该jar包放到hadoop里面所有的存jar的目录(因为不知道到底这里加载的是哪个jar,这样最保险),重新启动,发现ok!

依赖:

  1. <dependency>
  2. <groupId>io.netty</groupId>
  3. <artifactId>netty-all</artifactId>
  4. <version>4.1.32.Final</version>
  5. </dependency>

结果:正常连接上。

2,nodemanager无法启动

  1. java.lang.NoClassDefFoundError: org/iq80/leveldb/DBException
  2. at java.lang.Class.forName0(Native Method)
  3. at java.lang.Class.forName(Class.java:348)
  4. at org.apache.hadoop.conf.Configuration.getClassByNameOrNull(Configuration.java:2575)
  5. at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:2540)
  6. at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2636)
  7. at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2662)
  8. at org.apache.hadoop.yarn.server.nodemanager.containermanager.AuxServices.serviceInit(AuxServices.java:270)
  9. at org.apache.hadoop.service.AbstractService.init(AbstractService.java:164)
  10. at org.apache.hadoop.service.CompositeService.serviceInit(CompositeService.java:108)
  11. at org.apache.hadoop.yarn.server.nodemanager.containermanager.ContainerManagerImpl.serviceInit(ContainerManagerImpl.java:323)
  12. at org.apache.hadoop.service.AbstractService.init(AbstractService.java:164)
  13. at org.apache.hadoop.service.CompositeService.serviceInit(CompositeService.java:108)
  14. at org.apache.hadoop.yarn.server.nodemanager.NodeManager.serviceInit(NodeManager.java:478)
  15. at org.apache.hadoop.service.AbstractService.init(AbstractService.java:164)
  16. at org.apache.hadoop.yarn.server.nodemanager.NodeManager.initAndStartNodeManager(NodeManager.java:936)
  17. at org.apache.hadoop.yarn.server.nodemanager.NodeManager.main(NodeManager.java:1016)
  18. Caused by: java.lang.ClassNotFoundException: org.iq80.leveldb.DBException
  19. at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
  20. at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
  21. at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
  22. at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
  23. ... 16 more

还是按照上面的步骤,把jar都放一边都目录,发现不行。说明这个包有问题,或者版本不兼容。

  1. <dependency>
  2. <groupId>org.iq80.leveldb</groupId>
  3. <artifactId>leveldb</artifactId>
  4. <version>0.7</version>
  5. </dependency>

思考再三,去其他正藏启动节点查询号leveldb的包,果然查到!

  1. [liuz@hdp103 hadoop]$ find . -name *level*
  2. ./hdfs/lib/leveldbjni-all-1.8.jar

把这个jar放到对应的目录下,启动果然可以解决!

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/865820
推荐阅读
相关标签
  

闽ICP备14008679号