Доступ к Windows HBase с другого компьютера Windows через Java-программу
- У меня есть HBase в машине Windows.
- Я пытаюсь получить доступ к тому же с другой машины Windows через программу Java.
- Результаты с ошибкой подключения отказались.
Замечания:
- Я попробовал то же самое в Linux, который работал отлично. Где у меня был HBase на Linux-машине и доступ к нему с Windows-машины через Java. Проблема возникает только когда я пытаюсь получить доступ к Windows HBase, либо из Linux, либо из Windows
hbase-env.sh:
Ниже две строки без комментариев;
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]