hadoop 2.7.7+hbase-1.0.2 搭建集群HA遇到的问题

本文详细记录了两台机器上HBase的RegionServer启动失败的问题及解决过程。错误日志显示端口冲突导致启动异常,通过修改hbase-site.xml文件中的hbase.regionserver.port配置,分别设置为60024和60021,成功解决了冲突问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 问题:两台机器的hbase的regionserver启动不了

查看logs regionserver 如下

2018-12-05 08:32:15,782 INFO  [main] ipc.SimpleRpcScheduler: Using deadline as user call queue, count=3
**2018-12-05 08:32:15,873 ERROR [main] regionserver.HRegionServerCommandLine: Region server exiting
java.lang.RuntimeException: Failed construction of Regionserver: class** org.apache.hadoop.hbase.regionserver.HRegionServer
        at org.apache.hadoop.hbase.regionserver.HRegionServer.constructRegionServer(HRegionServer.java:2523)
        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:2538)
**Caused by: java.lang.reflect.InvocationTargetException**
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.constructRegionServer(HRegionServer.java:2521)
        ... 5 more
**Caused by: java.net.BindException: Problem binding to hadoop/192.XXX.XXX.XXX:16020 : **Address already in use****
        at org.apache.hadoop.hbase.ipc.RpcServer.bind(RpcServer.java:2377)
        at org.apache.hadoop.hbase.ipc.RpcServer$Listener.<init>(RpcServer.java:524)
        at org.apache.hadoop.hbase.ipc.RpcServer.<init>(RpcServer.java:1901)
        at org.apache.hadoop.hbase.regionserver.RSRpcServices.<init>(RSRpcServices.java:804)
                                                                                                              1351,1        56%
        at org.apache.hadoop.hbase.ipc.RpcServer.<init>(RpcServer.java:1901)
        at org.apache.hadoop.hbase.regionserver.RSRpcServices.<init>(RSRpcServices.java:804)
        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:433)
        at sun.nio.ch.Net.bind(Net.java:425)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
        at org.apache.hadoop.hbase.ipc.RpcServer.bind(RpcServer.java:2375)
        ... 15 more

原因:机器端口冲突
解决办法:修改三台机器hadoop,hadoop02,hadoop03中hbase-site.xml文件的hbase.regionserver.port 端口号,即在60020基础上加偏移量

hadoop 机器hbase-site.xml如下

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://ns1/hbase</value>
  </property>
  <property>
    <name>hbase.tmp.dir</name>
    <value>/home/data/hbasedata</value>
  </property> 
  <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
  </property>
  <property>
        <name>hbase.zookeeper.quorum</name>
        <value>hadoop:2181,hadoop02:2181,hadoop03:2181</value>
  </property>
  <property>
        <name>hbase.master.info.port</name>
        <value>60010</value>
  </property>
   <property>
        <name>hbase.master</name>
        <value>60000</value>
  </property>
 <property>
        <name>hbase.regionserver.info.port</name>
        <value>60030</value>
  </property>
   <property>
        <name>hbase.zookeeper.property.clientPort</name>
        <value>2181</value>
  </property>
  
  <property>
        <name>hbase.regionserver.port</name>
        <value>60020</value>
  </property>
</configuration> 

hadoop02机器 hbase-site.xml 如下

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://ns1/hbase</value>
  </property>
  <property>
    <name>hbase.tmp.dir</name>
    <value>/home/data/hbasedata</value>
  </property> 
  <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
  </property>
  <property>
        <name>hbase.zookeeper.quorum</name>
        <value>hadoop:2181,hadoop02:2181,hadoop03:2181</value>
  </property>
 <property>
        <name>hbase.regionserver.info.port</name>
        <value>60030</value>
  </property>
   <property>
        <name>hbase.zookeeper.property.clientPort</name>
        <value>2181</value>
  </property>
  <property>
        <name>hbase.regionserver.port</name>
        <value>60024</value>
  </property>  
</configuration> 

hadoop03机器hbase-site.xml如下

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://ns1/hbase</value>
  </property>
  <property>
    <name>hbase.tmp.dir</name>
    <value>/home/data/hbasedata</value>
  </property> 
  <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
  </property>
  <property>
        <name>hbase.zookeeper.quorum</name>
        <value>hadoop:2181,hadoop02:2181,hadoop03:2181</value>
  </property>

  <property>
        <name>hbase.master.info.port</name>
        <value>60010</value>
  </property>
   <property>
        <name>hbase.master</name>
        <value>60000</value>
  </property>
 <property>
        <name>hbase.regionserver.info.port</name>
        <value>60030</value>
  </property>
   <property>
        <name>hbase.zookeeper.property.clientPort</name>
        <value>2181</value>
  </property>
 
  <property>
        <name>hbase.regionserver.port</name>
        <value>60021</value>
  </property> 
 
</configuration> 

注意:

hbase启动前要启动hdfs,zookeeper
启动顺序:hdfs---->zookeeper+zkfc±----->hbase

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值