gpt4 book ai didi

java - HBASE 错误 : Failed setting up proxy interface org. apache.hadoop.hbase.ipc.HRegionInterface

转载 作者:可可西里 更新时间:2023-11-01 14:24:46 24 4
gpt4 key购买 nike

我目前正在尝试处理 HDFS 和 HBASE。 Hadoop 和 HBASE 已正确安装在一台机器上,当托管在同一台机器上时,我的应用程序运行完美。

但是在另一台机器上托管时。第一次访问 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 应用程序创建的日志(DEBUG 级别),我发现了以下日志:

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.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@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.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@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

我的应用程序运行良好。因此,我需要一些方法来告诉应用程序连接到所需的主机名而不是本地主机。

我试过调试它,但没有成功。

最佳答案

我不知道这是否是您的问题,但如果您不是从同一主机访问所有内容,那么使用 localhost 通常是一个问题。

所以不要使用本地主机!

并且通常不要更改 localhost 的定义。根据定义,本地主机为 127.0.0.1。

您将 hbase.rootdir 定义为 hdfs://master:54310/hbase 并将 hbase.zookeeper.quorum 定义为 master。

什么是大师?它确实应该是您主机的主要以太网接口(interface)的完全限定域名。该接口(interface) IP 地址的反向 DNS 应解析为您在这些字段中填写的同一 FQDN。 (如果您无法控制反向 DNS,则只提供原始 IP 地址)

确保您的 HDFS 配置也使用相同的 FQDN 或 IP 地址或同步的/etc/hosts 文件。同步的/etc/hosts 文件应确保正向和反向 DNS 相同,只要所有主机(所有 HDFS 和 HBase 以及您的客户端)使用相同的/etc/hosts 并且没有操作系统内容覆盖/etc/主机。一般来说,我不喜欢对/etc/hosts 做任何事情。它最终会咬你一口。

然后您的远程客户端应通过相同的 FQDN 或 IP 地址访问您的 HBase 主控。

我发现这种 DNS 问题会引起相当大的困惑。

如果您需要进行现实检查,只需在所有地方使用 IP 地址,直到它起作用为止。然后试验完全限定的域名或同步的/etc/hosts 文件。

关于java - HBASE 错误 : Failed setting up proxy interface org. apache.hadoop.hbase.ipc.HRegionInterface,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8818289/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com