Я пытаюсь подключиться (и создать новую таблицу) к HBase, установленному на виртуальной машине Ubuntu, с помощью приложения Java, работающего в Windows 10.
Я уверен, что HBase работает и Код java тоже, потому что, если я отправляю его прямо в Intellij, установленный внутри виртуальной машины, он работает, но если я запускаю приложение java в Windows (host maquine), возвращается эта ошибка:
"Исключение в потоке "основная" организация. apache .had oop .hbase.client.RetriesExhaustedException: ошибка после попыток = 5, исключения: 2020-02-17T15: 38: 25.890Z, RpcRetringCaller {globalStartTime = 1581953902178, пауза = 100 , maxAttempts = 5}, org. apache .had oop .hbase.MasterNotRunningException: java. net .ConnectException: вызов danny-VirtualBox / 192.168.56.101: 16000 не удалось при исключении соединения: org. apache .hbase.thirdparty.io.netty.channel.AbstractChannel $ AnnotatedConnectException: Соединение отклонено: нет дополнительной информации: danny-VirtualBox / 192.168.56.101: 16000 "
У меня есть этот код:
public static void main(String[] args) throws Exception {
Configuration con = HBaseConfiguration.create();
con.clear();
con.set("hbase.zookeeper.quorum", "192.168.56.101");
con.set("hbase.master", "192.168.56.101:16000");
con.set("hbase.zookeeper.property.clientport", "2181");
con.set("hbase.client.retries.number", "4");
con.set("hbase.rpc.timeout", "3000");
con.set("hbase.security.authentication", "simple");
con.set("zookeeper.znode.parent", "/hbase");
Connection conn = ConnectionFactory.createConnection(con);
Admin admin = conn.getAdmin();
// Instantiating table descriptor class
HTableDescriptor tableDescriptor = new
HTableDescriptor(TableName.valueOf("emp2"));
// Adding column families to table descriptor
tableDescriptor.addFamily(new HColumnDescriptor("personal"));
tableDescriptor.addFamily(new HColumnDescriptor("professional"));
// Execute the table through admin
admin.createTable(tableDescriptor);
System.out.println(" Table created ");}
Я уверен, что хост может "видеть" виртуальную машину потому что я могу открыть веб-панель HBase в Windows
(http://192.168.56.101: 16010 / master-status )
Итак, я думаю, что проблема в портах или что-то net безопасность, но я не смог решить проблемы. Не могли бы вы мне помочь?
IP windows машина: 192.168.56.1 IP VM: 192.168.56.101
Я изменил файл хоста в vm (машина hbase) со следующими значениями: