2014-02-03 5 views
3

Извините заранее за дамп данных здесь. У меня есть два сервера с Zookeeper. Я хочу запустить их как ансамбль. Вот что в моем zoo.cfg для обоих.Zookeeper java.net.NoRouteToHostException при подключении

tickTime=2000 
initLimit=10 
syncLimit=5 
dataDir=/opt/zookeeper/data 
server.1=solr1:2888:3888 
server.2=solr2:2888:3888 
clientPort=2181 

Оба сервера имеют файл myid. Их имена находятся в файлах/etc/hosts, поэтому они могут определенно видеть друг друга. Когда я запускаю любой из них, используя zkServer.sh, он говорит, что запущен zookeeper. Однако, когда я запускаю «zkServer.sh статус», я вижу это сообщение:

Using config: /opt/zookeeper/bin/../conf/zoo.cfg 
Error contacting service. It is probably not running. 

Но процесс Java зоопарка, кажется, работает и с помощью NETSTAT показывает TCP-порты 3888 и 2181, как слушать. При попытке подключиться к серверу с помощью «ш zkCli.sh -server локальный: 2181», я вижу кучу среды информации, а затем целая куча этих записей журнала:

2014-02-03 15:39:00,623 [myid:] - INFO [main-SendThread(localhost.localdomain:2181):[email protected]] - Opening socket connection to server localhost.localdomain/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error) 
2014-02-03 15:39:00,646 [myid:] - INFO [main-SendThread(localhost.localdomain:2181):[email protected]] - Socket   connection established to localhost.localdomain/127.0.0.1:2181, initiating session 
JLine support is enable 
2014-02-03 15:39:00,662 [myid:] - INFO [main-SendThread(localhost.localdomain:2181):[email protected]] - Unable to read additional data from server sessionid 0x0, likely server has closed socket, closing socket connection and attempting reconnect 

Если я пытаюсь подключиться на другой сервер (ш zkCli.sh -server solr1: 2181), я вижу кучу этих:

2014-02-03 15:40:42,390 [myid:] - WARN [main-SendThread(solr1:2181):[email protected]] - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
java.net.NoRouteToHostException: No route to host 

Zookeeper, кажется, работает, несмотря на статус zkServer.sh говоря иначе. Но есть ли у кого-нибудь понимание моих проблем с подключением? ОС - RHEL 6.4, 64 бит.

+0

Вы открыли соответствующие порты в iptables? – Jukka

+0

Это действительно проблема. Я отключил iptables (это только среда dev), и это исправило это. Я использую AWS и использую функцию групп безопасности для управления открытыми портами. Благодаря! – json4639

ответ

3

aha, я просто решаю ту же проблему сейчас, а ОС - Centos7. Я проверяю все файлы конфигурации, но не могу помочь. наконец, я модифицировал iptable, чтобы добавить такой порт: 2181,2888,3888, а затем перезапустить сервер zookeeper, он работает. один из cmd выглядит следующим образом: firewall-cmd --zone = public --add-port = 2181/udp --add-port = 2181/tcp --permanent then reloat: firewall-cmd --reload of Конечно, вы можете отключить iptables и отключить iptables для загрузки при запуске ОС для достижения этого. прочее, вы должны проверить, есть ли в пути данных файл «myid»: dataDir =/opt/zookeeper/data и его владелец должен быть «username: groupUsername»; Пусть это тоже поможет.

-2

Проблема решена после отключения iptables

Смежные вопросы