我想使用GeoMesa (),并像这个回购一样使用Docker对其进行虚拟化。现在,我想使用以下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。
为了使我的问题可复制,我使用了所有必需的依赖项和accumulo来执行建立数字海洋服务器。我测试了使用zkCli与动物园管理员的连接是可能的,并在服务器上使用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");发布于 2016-01-19 00:26:40
作为故障排除步骤,您可以通过使用HdfsZooInstance.getInstance().getInstanceName()或直接连接到ZooKeeper并使用ls /accumulo/instances/列出实例名称来提取实例名称。
发布于 2016-01-19 17:42:23
获得instance_name有多种简单的方法: Ether 查看accumulo页面的顶部,在评论中指出,或者使用zkCli连接到动物园管理员并使用zkCli作为克里斯托弗的回答。
但是,我无法使用普通的Java连接器连接到accumulo。尽管如此,我还是设法使用代理-设置连接到Accumulo,这对我来说是一个有效的解决方案,即使我仍然希望找到这个问题。
https://stackoverflow.com/questions/34846415
复制相似问题