Не удалось подключить HBase

Hbase, работающий на Cloudera-quickstart-VM, также подтвердил, что Zookeeper и Hbase работают с использованием hbase shell, но когда я пытаюсь создать таблицу с помощью программы Java, я получаю сообщение об ошибке ниже.

public static void main(String[] args) throws IOException {
    Configuration config=new HBaseConfiguration().create();
    config.set("hbase.zookeeper.quorum","sandbox.hortonworks.com");
    config.set("zookeeper.znode.parent", "/hbase-unsecure");
    //config.set("hbase.master", "hostname"+":16000");
    Connection conn=ConnectionFactory.createConnection(config);
    
    Admin admin=conn.getAdmin();
    HTableDescriptor tableName=new HTableDescriptor("notification");
    tableName.addFamily(new HColumnDescriptor("attribute"));
    tableName.addFamily(new HColumnDescriptor("metrics"));
    
    if(!admin.tableExists(tableName.getTableName())) {
        
        System.out.println("create table ...");
        admin.createTable(tableName);
        System.out.println("done");
    }
    
    
}

Найдите конфигурацию Cloudera Virtual Box

[maria_dev@sandbox ~]$ cat /etc/hosts
127.0.0.1       localhost
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2      sandbox.hortonworks.com

Найдите файл конфигурации окна hosts:

127.0.0.1           localhost
#   ::1             localhost
172.17.0.2          sandbox.hortonworks.com

Ошибка при подключении

2020-07-04 19:09:02 INFO  ClientCnxn:975 - Opening socket connection to server sandbox.hortonworks.com/172.17.0.2:2181. Will not attempt to authenticate using SASL (unknown error)
2020-07-04 19:09:23 WARN  ClientCnxn:1102 - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection timed out: no further information
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350)
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)
2020-07-04 19:09:23 DEBUG ClientCnxnSocketNIO:192 - Ignoring exception during shutdown input
java.nio.channels.ClosedChannelException
    at sun.nio.ch.SocketChannelImpl.shutdownInput(SocketChannelImpl.java:780)
    at sun.nio.ch.SocketAdaptor.shutdownInput(SocketAdaptor.java:399)
    at org.apache.zookeeper.ClientCnxnSocketNIO.cleanup(ClientCnxnSocketNIO.java:189)
    at org.apache.zookeeper.ClientCnxn$SendThread.cleanup(ClientCnxn.java:1185)
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1110)
2020-07-04 19:09:23 DEBUG ClientCnxnSocketNIO:199 - Ignoring exception during shutdown output
java.nio.channels.ClosedChannelException

person rahul sharma    schedule 04.07.2020    source источник


Ответы (2)


Я не знаю, связано это или нет, но create - это статическая функция. Должно быть
Configuration config=HBaseConfiguration.create();
не
new HBaseConfiguration().create();.
Также убедитесь, что ваш порт zookeeper — 2181. Если нет, укажите его в свойстве hbase.zookeeper.property.clientPort.

person ozhang    schedule 13.07.2020

Хотя невозможно точно определить, где именно могла быть создана проблема, кажется, что вы каким-то образом «слишком много» в URL-адресе сервера:

sandbox.hortonworks.com/172.17.0.2:2181

Предположительно подойдет либо доменное имя, либо IP-адрес, но оба вместе недействительны.

Кроме того, имейте в виду, что Hortonworks объединилась с Cloudera, и существует преемник HDP, который называется Cloudera Data Platform. Это рекомендуется для всех новых настроек кластера. Эквивалент песочницы можно найти здесь< /а>.


Полное раскрытие: я сотрудник Cloudera (ранее Hortonworks), компании, стоящей за HDP и CDP.

person Dennis Jaheruddin    schedule 02.08.2020