簡體   English   中英

獲取Accumulo實例名稱

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM