Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Java库(org.apache.hadoop.Hbase.client)从不同的网络连接Hbase?_Java_Apache_Hadoop_Networking_Hbase - Fatal编程技术网

如何使用Java库(org.apache.hadoop.Hbase.client)从不同的网络连接Hbase?

如何使用Java库(org.apache.hadoop.Hbase.client)从不同的网络连接Hbase?,java,apache,hadoop,networking,hbase,Java,Apache,Hadoop,Networking,Hbase,我有一个使用内部网络的Hadoop集群(ip范围是192.168.0.0/24),我想使用java库(org.apache.Hadoop.hbase.client)连接hbase 从Windows 7上使用不同网络的开发计算机(ip超出网络203.252.x.x),但我无法连接hbase 我有个问题 我的代码错了吗 可以使用Java库(org.apache.hadoop.hbase.client)吗?我应该使用thrift协议吗?(我不想节俭) 你知道吗?还是评论 多谢各位 这是我连接Hbase

我有一个使用内部网络的Hadoop集群(ip范围是192.168.0.0/24),我想使用java库(org.apache.Hadoop.hbase.client)连接hbase 从Windows 7上使用不同网络的开发计算机(ip超出网络203.252.x.x),但我无法连接hbase

我有个问题

  • 我的代码错了吗

  • 可以使用Java库(org.apache.hadoop.hbase.client)吗?我应该使用thrift协议吗?(我不想节俭)

  • 你知道吗?还是评论

    多谢各位

    这是我连接Hbase的代码


    这就是Eclipse中的错误代码

    log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).
    log4j:WARN Please initialize the log4j system properly.
    log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
    Exception in thread "main" org.apache.hadoop.hbase.MasterNotRunningException: com.google.protobuf.ServiceException: java.net.UnknownHostException: unknown host: datanode2
    at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation$StubMaker.makeStub(ConnectionManager.java:1661)
    at enter code hereorg.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation$MasterServiceStubMaker.makeStub(ConnectionManager.java:1687)
    at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.getKeepAliveMasterService(ConnectionManager.java:1904)
    at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.isMasterRunning(ConnectionManager.java:932)
    at enter code hereorg.apache.hadoop.hbase.client.HBaseAdmin.checkHBaseAvailable(HBaseAdmin.java:2409)
    at TestBase.main(TestBase.java:28)
    Caused by: com.google.protobuf.ServiceException: java.net.UnknownHostException: unknown host: datanode2
    at org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1739)
    at org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1777)
    at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$BlockingStub.isMasterRunning(MasterProtos.java:42561)
    at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation$MasterServiceStubMaker.isMasterRunning(ConnectionManager.java:1698)
    at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation$StubMaker.makeStubNoRetries(ConnectionManager.java:1607)
    at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation$StubMaker.makeStub(ConnectionManager.java:1633)
    ... 5 more
    Caused by: java.net.UnknownHostException: unknown host: datanode2
    at org.apache.hadoop.hbase.ipc.RpcClient$Connection.<init>(RpcClient.java:501)
    at org.apache.hadoop.hbase.ipc.RpcClient.createConnection(RpcClient.java:325)
    at org.apache.hadoop.hbase.ipc.RpcClient.getConnection(RpcClient.java:1614)
    at org.apache.hadoop.hbase.ipc.RpcClient.call(RpcClient.java:1494)
    at org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1724)
    ... 10 more
    
    log4j:WARN找不到记录器(org.apache.hadoop.metrics2.lib.MutableMetricsFactory)的追加器。
    log4j:警告请正确初始化log4j系统。
    log4j:请参阅http://logging.apache.org/log4j/1.2/faq.html#noconfig 更多信息。
    线程“main”org.apache.hadoop.hbase.MasterNotRunningException:com.google.protobuf.ServiceException:java.net.UnknownHosteException:unknown主机:datanode2中出现异常
    位于org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation$StubMaker.makeStub(ConnectionManager.java:1661)
    在此处输入代码org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation$MasterServiceStubMaker.makeStub(ConnectionManager.java:1687)
    位于org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.getKeepAliveMasterService(ConnectionManager.java:1904)
    位于org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.isMasterRunning(ConnectionManager.java:932)
    在此处输入代码org.apache.hadoop.hbase.client.HBaseAdmin.checkHBaseAvailable(HBaseAdmin.java:2409)
    位于TestBase.main(TestBase.java:28)
    原因:com.google.protobuf.ServiceException:java.net.UnknownHosteException:unknown主机:datanode2
    位于org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1739)
    位于org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1777)
    位于org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$BlockingStub.isMasterRunning(MasterProtos.java:42561)
    位于org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation$MasterServiceStubMaker.isMasterRunning(ConnectionManager.java:1698)
    位于org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation$StubMaker.makeStubNoRetries(ConnectionManager.java:1607)
    位于org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation$StubMaker.makeStub(ConnectionManager.java:1633)
    ... 还有5个
    原因:java.net.UnknownHostException:未知主机:datanode2
    位于org.apache.hadoop.hbase.ipc.RpcClient$Connection.(RpcClient.java:501)
    位于org.apache.hadoop.hbase.ipc.RpcClient.createConnection(RpcClient.java:325)
    位于org.apache.hadoop.hbase.ipc.RpcClient.getConnection(RpcClient.java:1614)
    位于org.apache.hadoop.hbase.ipc.RpcClient.call(RpcClient.java:1494)
    位于org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1724)
    ... 10多
    
    您无法访问群集的节点。检查防火墙和网络设置。确保端口也已打开以进行连接。

    这是堆栈跟踪中的错误:

    Exception in thread "main" org.apache.hadoop.hbase.MasterNotRunningException: com.google.protobuf.ServiceException: java.net.UnknownHostException: unknown host: datanode2
    

    此外,您不需要在代码中指定HBase群集属性。将hbase-site.xml放在java的类路径中,只需实例化连接。

    hbase Master DNS名称映射到hbase.Master的ip地址可能有问题。确保您已经设置了DNS服务器,或者您可以尝试在我的GNU/Linux机器上找到类似的东西。例如配置“/etc/hostname”:在尝试连接到主节点的计算机上设置HBase主节点的名称)和“/etc/hosts”

    希望你能在你的Windows机器上设置它

    以下是GNU/Linux方式的有用链接:

    Exception in thread "main" org.apache.hadoop.hbase.MasterNotRunningException: com.google.protobuf.ServiceException: java.net.UnknownHostException: unknown host: datanode2