java - 在主节点 : Failed construction of Regionserver : java.net.BindException

标签 java hadoop hbase

我有一个 4 节点集群(hadoop 2.5.2)(Hbase 1.0.0),主机上有一个主节点(作为从节点)和 3 个从节点。调用 start-hbase.sh 后,jps 没有显示 HRegionServer 进程在 master 上运行,但在所有三个 slave 上运行正常。

master 上的日志文件显示:

java.lang.RuntimeException: Failed construction of Regionserver: class     org.apache.hadoop.hbase.regionserver.HRegionServer
at org.apache.hadoop.hbase.regionserver.HRegionServer.constructRegionServer(HRegionServer.java:2487)
at org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.start(HRegionServerCommandLine.java:64)
at org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.run(HRegionServerCommandLine.java:87)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:126)
at org.apache.hadoop.hbase.regionserver.HRegionServer.main(HRegionServer.java:2502)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.apache.hadoop.hbase.regionserver.HRegionServer.constructRegionServer(HRegionServer.java:2485)
... 5 more
Caused by: java.net.BindException: Problem binding to hadoopmaster.mst.edu/172.16.195.58:16020 : Address already in use
at org.apache.hadoop.hbase.ipc.RpcServer.bind(RpcServer.java:2371)
at org.apache.hadoop.hbase.ipc.RpcServer$Listener.<init>(RpcServer.java:524)
at org.apache.hadoop.hbase.ipc.RpcServer.<init>(RpcServer.java:1899)
at org.apache.hadoop.hbase.regionserver.RSRpcServices.<init>(RSRpcServices.java:790)
at org.apache.hadoop.hbase.regionserver.HRegionServer.createRpcServices(HRegionServer.java:575)
at org.apache.hadoop.hbase.regionserver.HRegionServer.<init>(HRegionServer.java:492)
... 10 more
Caused by: java.net.BindException: Address already in use
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:444)
at sun.nio.ch.Net.bind(Net.java:436)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.apache.hadoop.hbase.ipc.RpcServer.bind(RpcServer.java:2369)
... 15 more

最佳答案

这与 HBase 1.0.x 中的许多问题有关:HBASE-11575 , HBASE-13453HBASE-13479 .

this comment on HBASE-13479 中提到的解决方法就是在hbase-site.xml中手动配置如下端口:

  • hbase.regionserver.port
  • hbase.master.info.port
  • hbase.regionserver.info.port

升级到 HBase 1.1.x 是另一种选择(对我有用)。

关于java - 在主节点 : Failed construction of Regionserver : java.net.BindException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28869180/

相关文章:

Java/javaFX Hangman 帮助对错过的尝试进行倒计时

python - 在 python 中运行 hdfs dfsadmin 命令

hadoop - Flume 内存 channel 在启动时已满

java - 将 protobuf3 与一些依赖于 Java 中的 protobuf2 的库一起使用

java - 在 hbase 中,无法识别 dir hdfs ://test/apps/hbase/data/lib, 的 fs 忽略了 java.io.IOException

java - Scanner Java 只读取第一行

java - Spring Web应用程序将文件保存到服务器

java - 如何在不使用集合的情况下从java中给定数组中删除重复元素

hadoop - hadoop conf “fs.default.name”无法直接设置ip:port格式?

hadoop - Zookeeper 连接到本地主机