AWS HBase Java集成-KeeperException

时间:2019-02-04 21:10:12

标签: java amazon-web-services hbase amazon-emr

我正在尝试从本地Java应用程序连接到正在运行的HBase集群。该代码段可以在下面找到。

fn remove_duplicates(mut list: Option<Box<ListNode>>) -> Option<Box<ListNode>> {
    let mut cursor = list.as_mut();
    while let Some(c) = cursor {
        if let Some(next) = c.next.as_mut() {
            if next.val == c.val {
                c.next = next.next.take();
                cursor = Some(c);
                continue;
            }
        }
        cursor = c.next.as_mut();
    }
    list
}

我的HBase群集已启动并正在运行。我可以通过公共IP访问它:     http://master-public-dns.us-east-2.compute.amazonaws.com:16010/master-status

UI很好地显示了。但是,当我尝试从Java应用程序访问它时,出现以下异常:

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;
        }
    }

我确实在我的EC2实例上打开了所有TCP端口。知道我做错了什么配置吗?我几乎没有任何教程可以逐步指导我完成此配置,因此我们将不胜感激。我从哪里获得动物园管理员的法定人数?当我打开HBase UI并从那里获取值时,出现未知的主机异常。我需要打开一些端口转发吗? AWS EMR Hbase和Zookeeper集群分别用于各个节点的默认端口是什么?任何想法如何解决这个问题?

0 个答案:

没有答案