访问ide eclipse中的hbase,java.net.unknownhostexception

pobjuy32  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(409)

当我在ideeclipse中编写访问hbase的java代码时,总是显示消息“java.net.unknownhostexception”,但是hbase shell工作得很好。我在一个linux节点上以伪分发模式安装hadoop和hbase。我的主机名是yzd。以下是/etc/hosts和hbase-site.xml:

/etc/hosts:
127.0.0.1 localhost yzd

hbase-site.xml:
      <property>
              <name>hbase.rootdir</name>
              <value>hdfs://localhost:9000/hbase</value>
      </property>
      <property>
              <name>hbase.cluster.distributed</name>
              <value>true</value>
      </property>
      <property>
              <name>dfs.replication</name>
              <value>1</value>
      </property>

Error message:
INFO [main] (HBaseRPC.java:117) - Using org.apache.hadoop.hbase.ipc.WritableRpcEngine for org.apache.hadoop.hbase.ipc.HMasterInterface
INFO [main] (HConnectionManager.java:596) - getMaster attempt 0 of 10 failed; retrying after sleep of 1000

java.net.UnknownHostException: unknown host: �  13846@yzdlocalhost
at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.<init>(HBaseClient.java:224)
at org.apache.hadoop.hbase.ipc.HBaseClient.getConnection(HBaseClient.java:954)
at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:816)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:141)
at com.sun.proxy.$Proxy4.getProtocolVersion(Unknown Source)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine.getProxy(WritableRpcEngine.java:174)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:295)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:272)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:324)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getMaster(HConnectionManager.java:579)
at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:94)
at com.hbasebook.hush.schema.SchemaManager.process(SchemaManager.java:126)
at com.hbasebook.hush.HushMain.main(HushMain.java:57)
gzszwxb4

gzszwxb41#

检查本地hbase的版本是否与pom中用作依赖项的版本匹配。这应该能解决你的问题。我也面临同样的问题,我在独立模式下使用hbase。我希望这对你有帮助。

wsxa1bj1

wsxa1bj12#

首先yzd不是主机名,它的域名(你应该首选fqdn)。现在这条线

java.net.UnknownHostException: unknown host: �  13846@yzdlocalhost

显然是这么说的13846@yzdlocalhost 主人不在。现在您可以执行以下操作:
在hbase-site.xml和core-site.xml中使用ip地址而不是主机名,并检查
然后在etc/hosts文件中使用fqdn并用tab分隔这些值,现在可以用fqdn替换ip

相关问题