2

我正在尝试使用 Accumulo 连接到 VM。问题是,我无法将它连接到 Java 中。我可以看到 Apache 抛出的网页,但我无法让它与代码一起使用。我认为这是缺乏知识问题而不是真正的问题,但我找不到有关它的文档。所有示例都使用 localhost 作为 zooServer 名称,这显然对我不起作用。

所以,这是我的代码:

  String instanceName = "accumulo-02"
  String zooServers = "192.168.56.5, accumulo-02.localdomain:9997"
  ZooKeeperInstance inst = new ZooKeeperInstance(instanceName, zooServers)
  ....

其余的并不重要,因为我无法连接到服务器。

这也是用 Groovy 编写的。我刚刚为 Java 人员更改了我的代码。

编辑:该程序驻留在我的电脑上。Accumulo、Hadoop 和 Zookeeper 都在 VM 上。它的 ip 是那个 IP,而实例名称是那个名字。在 accumulo 的配置中,'accumulo-02' 是 master、slave 等的域...

4

1 回答 1

3

要在使用ZooKeeperInstance连接到Apache Accumulo时正确指定Apache ZooKeeper节点列表,zooServers 应指定为:

  1. ZooKeeper 已经设置并运行的host:port逗号分隔列表,没有空格
  2. 确保您使用的是ZooKeeper的客户端端口,而不是TServer。(端口2181是 ZooKeeper 的默认客户端端口。端口9997是 TServer 的默认客户端端口。)
  3. 如果你在默认端口(2181)上运行 ZooKeeper,你可以省略:port部分,只留下一个逗号分隔的主机列表,或者如果你有一些在非标准端口上,你可以将它们组合起来标准端口,如“ proxyhost,proxyhost:2182,thirdhost:2181 ”。
  4. 无论您使用IP 地址 还是主机名都无关紧要,只要可以从客户端访问您指定的任何内容,并且端口是开放的并且未被防火墙阻止。

请参阅此处关于构造函数的 JavaDoc 注释。

于 2013-03-21T06:06:09.157 回答