0
  • WindowsマシンにHBaseがあります。
  • Javaプログラムを介して別のWindowsマシンから同じものにアクセスしようとしています。
  • 接続拒否エラーが発生します。

ノート:

  • Linuxでも同じことを試しましたが、完全に機能しました。LinuxマシンにHBaseがあり、Java経由でWindowsマシンからアクセスした場所。問題は、Linux または Windows から Windows HBase にアクセスしようとしたときにのみ発生します。

hbase-env.sh:

以下の 2 行はコメント解除されています。

set HBASE_MANAGES_ZK=true

set JAVA_HOME=C:\jdk

hbase-site.xml:

<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>D:\hbaseInstalledPath</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>D:\zookeeperDataDirPath</value>
    </property>
    <property>
        <name>hbase.zookeeper.recoverable.waittime</name>
        <value>30000</value>
    </property>
    <property>
        <name>zookeeper.session.timeout</name>
        <value>180000</value>
    </property>
    <property>
        <name>hbase.master</name>
        <value>'HBase running IP'</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>false</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.clientPort</name>
        <value>2181</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>'HBase running IP' , 'JavaClient IP'</value>
    </property>
</configuration>

Java コード:

HConnection connection=null;
Configuration config=HBaseConfiguration.create();
config.clear();
config.set("hbase.zookeeper.quorum","172.16.101.82");
config.set("hbase.zookeeper.property.clientPort","2181");
try {
connection=HConnectionManager.createConnection(config);
}
catch(Exception e)
{ }
try {
HTableInterface table=connection.getTable(TableName.valueOf("sample"));
}
catch(Exception e)
{ }

例外:

Exception in connection creationorg.apache.hadoop.hbase.MasterNotRunningException: 
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[connection-pending 
remote=synclapn4948/172.16.101.82:54422]
4

0 に答える 0