连接外部Accumulo实例和java

时间:2013-03-19 16:31:31

标签: java apache-zookeeper accumulo

我正在尝试使用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和isntance名称是该名称。在accumulo的配置中,'accumulo-02'是主人,奴隶等的领域......

1 个答案:

答案 0 :(得分:3)

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

  1. 已经设置并运行ZooKeeper的主机:端口逗号分隔列表没有空格
  2. 确保您使用 ZooKeeper 客户端端口,而不是 TServer 。 (端口 2181 是ZooKeeper的默认客户端端口。端口 9997 是TServers的默认客户端端口。)
  3. 如果您在默认端口( 2181 )上运行ZooKeeper,则可以省略:port 部分,只留下以逗号分隔的列表主机,或者如果您在非标准端口上有一些端口,而在标准端口上有一些端口,则可以组合它们,如“ proxyhost,proxyhost:2182,thirdhost:2181 ”。 / LI>
  4. 使用 IP地址 主机名无关紧要,只要您指定的内容可以从客户端,端口打开,未被防火墙阻止。
  5. 请参阅构造函数here上的JavaDoc注释。