Aws HBase Java-интеграция - KeeperException - PullRequest
0 голосов
/ 05 февраля 2019

Я пытаюсь подключиться из локального приложения Java к работающему кластеру HBase.Фрагмент приведен ниже.

public static Configuration configuration;
    static {
        configuration = HBaseConfiguration.create();
        configuration.set("hbase.zookeeper.property.clientPort", "2181");
        configuration.set("hbase.zookeeper.quorum","slave-public-dns.us-east-2.compute.amazonaws.com");
        configuration.set("hbase.master", "master-public-dns.us-east-2.compute.amazonaws.com:9000");
    }

    public static void main(String... args) throws IOException {
        new HbaseTest().connect();
    }

    private void connect() throws IOException {


        try {
            HBaseAdmin.available(configuration);
        } catch (MasterNotRunningException e) {
            System.out.println("HBase is not running." + e.getMessage());
            return;
        }
    }

Мой кластер HBase запущен и работает.Я могу получить к нему доступ через общедоступный ip: http://master -public-dns.us-east-2.compute.amazonaws.com: 16010 / master-status

Пользовательский интерфейс хорошо показываетвверх.Однако, когда я пытаюсь получить доступ к нему из приложения Java, я получаю следующее исключение:

    HBase is not running.org.apache.hadoop.hbase.MasterNotRunningException: java.io.IOException: 
org.apache.zookeeper.KeeperException$ConnectionLossException:
 KeeperErrorCode = ConnectionLoss for /hbase/master

У меня все порты TCP открыты на моих экземплярах EC2.Есть идеи, какую конфигурацию я делаю неправильно?Я в значительной степени скучаю по любому учебнику, который бы шаг за шагом проводил меня через эту конфигурацию, поэтому любая помощь будет оценена.Где я могу получить кворум зоопарка?Когда я открываю HBase UI и беру значение оттуда, я получаю неизвестное исключение хоста.Нужно ли открывать переадресацию портов?Какие порты по умолчанию использует кластер AWS EMR Hbase & zookeeper для соответствующих узлов?Есть идеи, как это решить?

...