有两台机器:
id-test-n03
:hadoop-hbase-master,hadoop-hbase-regionserver,hadoop-hbase-thrift,hadoop-zookeeper-server id-test-i03
:hadoop-hbase-regionserver 它们都是Ubuntu Maverick机器,使用Cloudera CDH3存储库安装了所有Hadoop(CDH3u3)和HBase软件包。
仅使用id-test-n03
时没有问题。正如预期的那样,HBase主Web控制台(http://id-test-n03:60010/master-status)上有1个区域服务器。
将区域服务器添加到id-test-i03
后,我在HBase主Web控制台上发现了重复的区域服务器(两者都具有相同的地址id-test-i03:60030
):
hbase shell
中的状态为:
hbase(main):001:0> status 'detailed'
version 0.90.4-cdh3u3
0 regionsInTransition
3 live servers
id-test-i03:60020 1332390489086
requests=0, regions=0, usedHeap=24, maxHeap=983
id-test-n03.daum.net:60020 1332389557235
requests=0, regions=2, usedHeap=26, maxHeap=983
.META.,,1
stores=1, storefiles=0, storefileSizeMB=0, memstoreSizeMB=0, storefileIndexSizeMB=0
-ROOT-,,0
stores=1, storefiles=2, storefileSizeMB=0, memstoreSizeMB=0, storefileIndexSizeMB=0
id-test-i03:60020 1332390489086
requests=0, regions=0, usedHeap=0, maxHeap=0
0 dead servers
所以,我试图在id-test-i03
上停止区域服务器,但发现只有一个区域服务器已经死亡而另一个仍处于活动状态:
hbase(main):002:0> status 'detailed'
version 0.90.4-cdh3u3
0 regionsInTransition
2 live servers
id-test-n03.daum.net:60020 1332389557235
requests=0, regions=2, usedHeap=29, maxHeap=983
.META.,,1
stores=1, storefiles=0, storefileSizeMB=0, memstoreSizeMB=0, storefileIndexSizeMB=0
-ROOT-,,0
stores=1, storefiles=2, storefileSizeMB=0, memstoreSizeMB=0, storefileIndexSizeMB=0
id-test-i03:60020 1332390489086
requests=0, regions=0, usedHeap=0, maxHeap=0
1 dead servers
id-test-i03.daum.net,60020,1332390489086
根据主Web控制台上的信息,重复区域服务器之间的差异为Start Code
和Load
。一个具有主机名,另一个具有启动代码中的FQDN。一个主机名有空载。
/etc/hosts/
和id-test-n03
的 id-test-i03
是:
127.0.0.1 localhost
192.168.1.1 id-test-n03 id-test-n03.daum.net
192.168.1.2 id-test-i03 id-test-i03.daum.net
这两台机器的 hbase-site.xml
是:
<configuration>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://id-test-n03:8020/hbase</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>id-test-n03</value>
</property>
</configuration>
感谢您的任何建议。
通过以下步骤解决了问题。
首先,删除两台机器的/etc/hosts
中的FQDN:
127.0.0.1 localhost
192.168.1.1 id-test-n03
192.168.1.2 id-test-i03
然后,在search $DOMAIN_NAME
中为两台机器注释掉了/etc/resolv.conf
:
#search daum.net
nameserver 10.20.30.40
最后,重新启动两台计算机上的所有Hadoop和HBase服务。
通过这样做,Hadoop和HBase服务器不再使用FQDN,只与主机名通信。
添加和删除区域服务器会按预期反映在HBase主状态Web控制台和hbase shell中。
答案 0 :(得分:0)
启动HBase后短时间内显示重复的区域服务器是正常的,在此期间后它会自动删除它们