2015-12-03 42 views
2

我有Accumulo在VM中运行。这个Groovy脚本将在虚拟机内连接好,但在虚拟机之外,它会在第一个println语句中挂起。连接到Accumulo只是挂起初始化

String instance = "test" 
String zkServers = "localhost:2181" 
String principal = "root"; 
AuthenticationToken authToken = new PasswordToken("testing1234"); 

ZooKeeperInstance inst = new ZooKeeperInstance(instance, zkServers); 
println "Attempting connection" 
Connector conn = inst.getConnector(principal, authToken); 
println "Connected!" 

这口我在流浪开辟了上市:

config.vm.network "forwarded_port", guest: 2122, host: 2122 
    config.vm.network "forwarded_port", guest: 2181, host: 2181 
    config.vm.network "forwarded_port", guest: 2888, host: 2888 
    config.vm.network "forwarded_port", guest: 3888, host: 3888 
    config.vm.network "forwarded_port", guest: 4445, host: 4445 
    config.vm.network "forwarded_port", guest: 4560, host: 4560 
    config.vm.network "forwarded_port", guest: 6379, host: 6379 
    config.vm.network "forwarded_port", guest: 8020, host: 8020 
    config.vm.network "forwarded_port", guest: 8030, host: 8030 
    config.vm.network "forwarded_port", guest: 8031, host: 8031 
    config.vm.network "forwarded_port", guest: 8032, host: 8032 
    config.vm.network "forwarded_port", guest: 8033, host: 8033 
    config.vm.network "forwarded_port", guest: 8040, host: 8040 
    config.vm.network "forwarded_port", guest: 8042, host: 8042 
    config.vm.network "forwarded_port", guest: 8081, host: 8081 
    config.vm.network "forwarded_port", guest: 8082, host: 8082 
    config.vm.network "forwarded_port", guest: 8088, host: 8088 
    config.vm.network "forwarded_port", guest: 9000, host: 9000 
    config.vm.network "forwarded_port", guest: 9092, host: 9092 
    config.vm.network "forwarded_port", guest: 9200, host: 9200 
    config.vm.network "forwarded_port", guest: 9300, host: 9300 
    config.vm.network "forwarded_port", guest: 9997, host: 9997 
    config.vm.network "forwarded_port", guest: 9999, host: 9999 
    #config.vm.network "forwarded_port", guest: 10001, host: 10001 
    config.vm.network "forwarded_port", guest: 10002, host: 10002 
    config.vm.network "forwarded_port", guest: 11224, host: 11224 
    config.vm.network "forwarded_port", guest: 12234, host: 12234 
    config.vm.network "forwarded_port", guest: 19888, host: 19888 
    config.vm.network "forwarded_port", guest: 42424, host: 42424 
    config.vm.network "forwarded_port", guest: 49707, host: 49707 
    config.vm.network "forwarded_port", guest: 50010, host: 50010 
    config.vm.network "forwarded_port", guest: 50020, host: 50020 
    config.vm.network "forwarded_port", guest: 50070, host: 50070 
    config.vm.network "forwarded_port", guest: 50075, host: 50075 
    config.vm.network "forwarded_port", guest: 50090, host: 50090 
    config.vm.network "forwarded_port", guest: 50091, host: 50091 
    config.vm.network "forwarded_port", guest: 50095, host: 50095 

任何想法,为什么它没有让我的连接?它只是挂起,似乎永远不会超时。

回答

4

我从邮件列表的响应,它花光了一切:

可能是因为Accumulo服务只监听localhost上 并为您的虚拟机而不是“外部”接口。要获得连接器, 这是对默认情况下在9997上运行的TabletServer的调用(并且您已打开 )。

在虚拟机中执行netstat -nape | fgrep 9997 | fgrep LISTEN,并参阅 服务器绑定的接口。我想冒险猜你 只需要把你的虚拟机的FQDN放在$ ACCUMULO_CONF_DIR /奴隶 (和主人,显示器,GC,示踪剂,为了完整)而不是 本地主机。

+0

尝试将accumulo tservers列表添加到您的/ etc/hosts文件中。 – Vaibhav

+0

我觉得有同样的问题,但解决方案并没有为我解决它。为了确保我能正确理解它:在上述文件的新行中添加服务器的IP,并重新启动所有服务。还有什么要做的吗? – nik

+0

好的,明白了!您将需要替换localhost,而不是只添加另一个FQDN – nik