[英]Get Accumulo instance name
我想使用GeoMesa(Accumulo的GIS擴展)並使用Docker對其進行虛擬化,就像此repo一樣 。 現在,我想使用Java通過以下方式連接到Accumulo實例:
Instance i = new ZooKeeperInstance("docker_instance",zkIP:port);
Connector conn = i.getConnector(user, new PasswordToken(password));
連接沒有建立並掛起(就像這個問題一樣 )。 我可以使用連接到ZooKeeper實例
./zkCli.sh -server ip:port
所以我想instance_name是錯誤的。 我使用了回購鏈接中首先提到的那個。 但是我不知道如何在哪里檢查instance_name。
為了使問題可重現,我確實設置了具有所有必要依賴項和累積性的數字海洋服務器。 我測試了使用zkCli是否可以連接到zookeeper,並使用服務器上的accumulo shell
檢查了憑據。
Instance i = new ZooKeeperInstance("DIGITAL_OCEAN","46.101.199.216:2181");
// WARN org.apache.accumulo.core.client.ClientConfiguration - Found no client.conf in default paths. Using default client configuration values.
System.out.println("This is reached");
Connector conn = i.getConnector("root", new PasswordToken("mypassw"));
System.out.println("This is not reached");
作為故障排除步驟,您可以通過使用HdfsZooInstance.getInstance().getInstanceName()
或直接連接到ZooKeeper並使用ls /accumulo/instances/
列出實例名稱來提取實例名稱HdfsZooInstance.getInstance().getInstanceName()
有多種簡單的方法來獲取instance_name:以太坊只需按照注釋中的elserj的方式查看到累加狀態頁面的頂部,或使用zkCli連接到Zookeeper並使用Christopher回答的ls /accumulo/instances /
。
但是,我無法使用普通的Java連接器連接到累加器。 盡管如此,我還是設法通過代理設置連接到Accumulo,這對我來說是一個有效的解決方案,即使我仍然希望發現問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.