0
点赞
收藏
分享

微信扫一扫

Block pool ID needed, but service not yet registered with NN, trace


报错

Block pool ID needed, but service not yet registered with NN, trace_hadoop

Failed to retrieve data from /webhdfs/v1/?op=LISTSTATUS: Server Error

查看日志关键部分:

Block pool ID needed, but service not yet registered with NN, trace

完整如下:

java.lang.Exception
at org.apache.hadoop.hdfs.server.datanode.BPOfferService.getBlockPoolId(BPOfferService.java:214)
at org.apache.hadoop.hdfs.server.datanode.BPOfferService.getBlockPoolId(BPOfferService.java:225)
at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.getActorInfoMap(BPServiceActor.java:183)
at org.apache.hadoop.hdfs.server.datanode.DataNode.getBPServiceActorInfo(DataNode.java:3167)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:577)
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:72)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:577)
at java.base/sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:262)
at java.management/com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:193)
at java.management/com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:175)
at java.management/com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:117)
at java.management/com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:54)
at java.management/com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)
at java.management/com.sun.jmx.mbeanserver.PerInterface.getAttribute(PerInterface.java:83)
at java.management/com.sun.jmx.mbeanserver.MBeanSupport.getAttribute(MBeanSupport.java:206)
at java.management/com.sun.jmx.mbeanserver.MBeanSupport.getAttributes(MBeanSupport.java:213)
at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttributes(DefaultMBeanServerInterceptor.java:702)
at java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.getAttributes(JmxMBeanServer.java:706)
at org.apache.hadoop.hdfs.server.common.MetricsLoggerTask.run(MetricsLoggerTask.java:93)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)

分析与解决

好像是版本原因,Hadoop Java 版本

  • Apache Hadoop 3.3 及更高版本支持 Java 8 和 Java 11
  • 从 3.0.x 到 3.2.x 的 Apache Hadoop 现在仅支持 Java 8
  • 从 2.7.x 到 2.10.x 的 Apache Hadoop 支持 Java 7 和 8

对应表:

Block pool ID needed, but service not yet registered with NN, trace_java_02

我的hadoop版本为3.2.4 ,java版本为18.0.2.1,我的版本太新了,因此需要降低版本。

删除:

Block pool ID needed, but service not yet registered with NN, trace_apache_03


然后下载了版本jdk-13.0.2_linux-x64_bin,重新安装上去就好了,然后记得环境变量那里也改一下,因为原来是18。 如果不会,请参考:环境配置我已经修改环境变量如下:

Block pool ID needed, but service not yet registered with NN, trace_hadoop_04


成功:

Block pool ID needed, but service not yet registered with NN, trace_大数据_05


举报

相关推荐

0 条评论