我在虚拟机中运行了Accumulo。这个Groovy脚本在虚拟机内连接得很好,但在虚拟机外,它挂在第一个println语句上。
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!"
这是我在Vagrant:中打开的端口列表
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
有什么想法为什么不让我联系吗?它只是挂着,似乎从来没有超时。
我从邮件列表中得到了这个响应,它清除了所有内容:
可能是Accumulo服务仅在本地主机上侦听而不是VM的"外部"接口。为了获得连接器,这是对默认情况下在9997上运行的TabletServer的调用(并且打开)。
在虚拟机中执行
netstat -nape | fgrep 9997 | fgrep LISTEN
,请参阅服务器绑定到哪个接口。我想你只需要将VM的FQDN放在$ACCUMULO_CONF_DIR/slaves中(以及master、monitor、gc、tracers,以确保完整性)而不是localhost。