2013-11-08 3 views
3

Я пытаюсь настроить HBase 0.96 для запуска поверх моего кластера Hadoop 2.2.0. Я запускаю start -hbase.sh и мастер вместе с запуском регионов. Я могу войти в каждый регион и посмотреть, как работает процесс. Однако, когда вы проверяете, сколько регионов загружено через веб-интерфейс ui или shell, я получаю ответ 0. Основываясь на журналах, похоже, что серверы регионов запускают неспособность уведомить ведущего, что они работают. Я подтвердил, что мастер прослушивает порт 60000, а порты 60000 вместе с 60020 открыты. Я включил файл hbase-site вместе с журналами с сервера области.Fully Distributed HBase Error

<property> 
    <name>hbase.rootdir</name> 
    <value>hdfs://master:9000/hbase</value> 
    <description>The directory shared by RegionServers. 
    </description> 
    </property> 
    <property> 
    <name>hbase.cluster.distributed</name> 
    <value>true</value> 
    <description>The mode the cluster will be in. Possible values are 
     false: standalone and pseudo-distributed setups with managed Zookeeper 
     true: fully-distributed with unmanaged Zookeeper Quorum (see hbase-env.sh) 
    </description> 
    </property> 
    <property> 
    <name>hbase.zookeeper.quorum</name> 
    <value>master</value> 
</property> 
    <property> 
    <name>zookeeper.znode.parent</name> 
    <value>/master</value> 
    </property> 

Файл журнала:

2013-11-08 20:08:58,357 INFO [regionserver60020] regionserver.HRegionServer: reportForDuty to master=10.119.102.58,60000,1383941300240 with port=60020, startcode=1383941300420 
2013-11-08 20:09:18,636 WARN [regionserver60020] regionserver.HRegionServer: error telling master we are up 
com.google.protobuf.ServiceException: org.apache.hadoop.net.ConnectTimeoutException: 20000 millis timeout while waiting for channel to be ready for connect. ch : java.nio.channels.SocketChannel[connec$ 
     at org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1667) 
     at org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1708) 
     at org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos$RegionServerStatusService$BlockingStub.regionServerStartup(RegionServerStatusProtos.java:5402) 
     at org.apache.hadoop.hbase.regionserver.HRegionServer.reportForDuty(HRegionServer.java:1924) 
     at org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:790) 
     at java.lang.Thread.run(Thread.java:724) 
Caused by: org.apache.hadoop.net.ConnectTimeoutException: 20000 millis timeout while waiting for channel to be ready for connect. ch : java.nio.channels.SocketChannel[connection-pending local=/100.65.$ 
     at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:532) 
     at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:493) 
     at org.apache.hadoop.hbase.ipc.RpcClient$Connection.setupConnection(RpcClient.java:573) 
     at org.apache.hadoop.hbase.ipc.RpcClient$Connection.setupIOstreams(RpcClient.java:858) 
     at org.apache.hadoop.hbase.ipc.RpcClient.getConnection(RpcClient.java:1532) 
     at org.apache.hadoop.hbase.ipc.RpcClient.call(RpcClient.java:1421) 
     at org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1650) 
     ... 5 more 
2013-11-08 20:09:18,676 WARN [regionserver60020] regionserver.HRegionServer: reportForDuty failed; sleeping and then retrying. 
+1

вы определенно есть проблемы с подключением, убедитесь, что RS и мастер фактически прослушивает данных IP-адресов, а не на локальном хосте. и что хосты доступны друг другу через сеть. (попробуйте что-то вроде telnet master 60000) – octo

+0

Почему ваш кворум zookeeper не включает серверы региона ?! –

ответ

0

Я не думаю, что hbase.zookeeper.quorum установлен правильно, что может привести к тайм-аут соединения. Если вы просто не проверили 0,96, запустите его в автономном режиме, а затем убедитесь, что кластер zookeeper запущен до того, как вы перейдете в распределенный режим.

0

HRegionServer жалуется, что он не может подключиться к HMaster, чтобы сообщить о статусе (вверх). Вероятно, что процесс HMaster не запущен, поэтому вы можете его запустить, или если вы уже запустили его, чтобы проверить файл главного журнала.

0

Проверьте ваш главный сервер прослушивает порт 60000. при помощи следующей команды
NETSTAT -l tcp6 0 0 Vostro-350: 60000 : СЛУШАТЬ

если сервер прослушивает ipv6 затем отключить его ,

Чтобы отключить вам необходимо добавить следующие строки в файле: /etc/sysctl.conf

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

После перезагрузки вы должны подтвердить, что IPV6 действительно охлаждает:
кота/Proc/SYS/сеть/ipv6/CONF/все/disable_ipv6

(0 = IPV6 on; 1 = IPV6 выкл)

Ref ссылка: Connecting and Persisting to HBase

Смежные вопросы