我想使用 GeoMesa(Accumulo 的 GIS 扩展)并使用 Docker 对其进行虚拟化,就像这个 repo一样。现在我想使用 Java 连接到 Accumulo 实例:
Instance i = new ZooKeeperInstance("docker_instance",zkIP:port);
Connector conn = i.getConnector(user, new PasswordToken(password));
连接没有建立并挂起(就像在这个问题中一样)。我可以使用 using 连接到 ZooKeeper 实例
./zkCli.sh -server ip:port
所以我猜 instance_name 是错误的。我使用了第一个链接的 repo 中提到的那个。但是我不知道如何检查所需的 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");