我目前正在对HDFS和HBASE工作。 Hadoop和HBASE已正确安装在机器上,并且我的应用程序托管在同一台机器上时运行良好。HBASE错误:无法设置代理接口org.apache.hadoop.hbase.ipc.HRegionInterface
但是,当在另一台机器上托管。在第一次命中HBASE我得到一个错误说:
org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [sitepulsewebsite] in context with path [/SitePulseWeb] threw exception [Request processing failed; nested exception is javax.jdo.JDODataStoreException
NestedThrowables:org.apache.hadoop.hbase.MasterNotRunningException: localhost:60000] with root cause
org.apache.hadoop.hbase.MasterNotRunningException: localhost:60000
而且在第二次打击我得到异常:
org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [sitepulsewebsite] in context with path [/SitePulseWeb] threw exception [Request processing failed; nested exception is javax.jdo.JDODataStoreException: Failed setting up proxy interface org.apache.hadoop.hbase.ipc.HRegionInterface to localhost/127.0.0.1:60020 after attempts=1
NestedThrowables: org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed setting up proxy interface org.apache.hadoop.hbase.ipc.HRegionInterface to localhost/127.0.0.1:60020 after attempts=1] with root cause
java.net.ConnectException: Connection refused
我的HBase-site.xml中读取如下:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:54310/hbase </value>
<description>
The directory shared by region servers. Should be
fully-qualified to
include the filesystem to use. E.g:
hdfs://NAMENODE_SERVER:PORT/HBASE_ROOTDIR
</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>
<description>Comma separated list of servers in the ZooKeeper Quorum.
If HBASE_MANAGES_ZK is set in hbase-env.sh this is the list of
servers which we will start/stop ZooKeeper on.
</description>
</property>
<property>
<name>hbase.master</name>
<value>master:60010</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property></configuration>
更新日志 寻找由我的Java应用程序创建的日志(调试级别),我发现以下日志
1 2012-01-12 17:12:13,328 DEBUG Thread-1320 org.apache.hadoop.ipc.HBaseClient - IPC Client (47) connection to localhost/127.0.0.1:60020 from an unknown user: closed
2 2012-01-12 17:12:13,328 INFO Thread-1320 org.apache.hadoop.ipc.HbaseRPC - Server at localhost/127.0.0.1:60020 could not be reached after 1 tries, giving up.
3 2012-01-12 17:12:13,328 DEBUG Thread-1320 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation - locateRegionInMeta parentTable=-ROOT-, metaLocation=address: localhost:60020, regioninfo: -ROOT-,,0.70236052, attempt=0 of 10 failed; retrying after sleep of 1000 because: Failed setting up proxy interface org.apache.hadoop.hbase.ipc.HRegionInterface to localhost/127.0.0.1:60020 after attempts=1
4 2012-01-12 17:12:13,328 DEBUG Thread-1320 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation - Lookedup root region location, connection=org.apache.h[email protected]9d1e83; hsa=localhost:60020
5 2012-01-12 17:12:13,736 DEBUG Thread-1268 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation - Lookedup root region location, connection=org.apache.h[email protected]9d1e83; hsa=localhost:60020
6 2012-01-12 17:12:13,736 DEBUG Thread-1268 org.apache.hadoop.ipc.HBaseClient - Connecting to localhost/127.0.0.1:60020
7 2012-01-12 17:12:13,737 DEBUG Thread-1268 org.apache.hadoop.ipc.HBaseClient - closing ipc connection to localhost/127.0.0.1:60020: Connection refused
8 java.net.ConnectException: Connection refused
在/ etc/hosts文件当映射从
127.0.0.1 localhost
改为
<my_server_IP> localhost
我的应用程序工作完全正常。因此我需要某种方式告诉应用程序连接到所需的主机名,而不是本地主机
我非常厌倦了调试它没有任何成功。
请帮我解决这个问题。任何形式的帮助将不胜感激。
在此先感谢
所以我很困惑。你解决了这个问题吗?事实证明有几件事导致了这个错误。 – 2012-01-15 16:52:29
不,我没有解决,我无法将本地主机映射到我的服务器的IP地址,因为当应用程序进入生产时,系统上运行的其他应用程序期望localhost将成为自我系统将会中断。 – devsri 2012-01-16 06:53:00
你禁用ipv6吗? – 2012-01-16 15:30:31