web-dev-qa-db-ja.com

Zookeeperで「Java.net.ConnectException:接続が拒否されました」

私は次のようにzookeeperをインストールしました。

wget http://archive.cloudera.com/cdh/3/zookeeper-3.3.3-cdh3u1.tar.gz

これが私のZoo.cf

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/home/reach121/basf/data/zookeeper/data1
# maximum client connection
maxClientCnxns=500
# the port at which the clients will connect
clientPort=2183
server.1=localhost:2878:3878
server.2=localhost:2879:3879
server.3=localhost:2880:3880

から始めた

/bin/zkServer.sh start Zoo.cfg

いつ私は?

bin/zkCli.sh -server 127.0.0.1:2183

それは私にこのエラーを与えます:

Connecting to 127.0.0.1:2183
2011-10-13 14:11:28,433 - INFO  [main:Environment@97] - Client environment:zookeeper.version=3.3.3-cdh3u1--1, built on 07/18/2011 15:17 GMT
2011-10-13 14:11:28,437 - INFO  [main:Environment@97] - Client environment:Host.name=cignexnew
2011-10-13 14:11:28,437 - INFO  [main:Environment@97] - Client environment:Java.version=1.6.0_22
2011-10-13 14:11:28,438 - INFO  [main:Environment@97] - Client environment:Java.vendor=Sun Microsystems Inc.
2011-10-13 14:11:28,438 - INFO  [main:Environment@97] - Client environment:Java.home=/usr/lib/jvm/Java-6-openjdk/jre
2011-10-13 14:11:28,439 - INFO  [main:Environment@97] - Client environment:Java.class.path=/home/reach121/basf/zookeeper-3.3.3-cdh3u1/bin/../build/classes:/home/reach121/basf/zookeeper-3.3.3-cdh3u1/bin/../build/lib/*.jar:/home/reach121/basf/zookeeper-3.3.3-cdh3u1/bin/../zookeeper-3.3.3-cdh3u1.jar:/home/reach121/basf/zookeeper-3.3.3-cdh3u1/bin/../lib/log4j-1.2.15.jar:/home/reach121/basf/zookeeper-3.3.3-cdh3u1/bin/../lib/jline-0.9.94.jar:/home/reach121/basf/zookeeper-3.3.3-cdh3u1/bin/../src/Java/lib/*.jar:/home/reach121/basf/zookeeper-3.3.3-cdh3u1/bin/../conf:
2011-10-13 14:11:28,439 - INFO  [main:Environment@97] - Client environment:Java.library.path=/usr/lib/jvm/Java-6-openjdk/jre/lib/AMD64/server:/usr/lib/jvm/Java-6-openjdk/jre/lib/AMD64:/usr/lib/jvm/Java-6-openjdk/jre/../lib/AMD64:/usr/Java/packages/lib/AMD64:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib
2011-10-13 14:11:28,440 - INFO  [main:Environment@97] - Client environment:Java.io.tmpdir=/tmp
2011-10-13 14:11:28,440 - INFO  [main:Environment@97] - Client environment:Java.compiler=<NA>
2011-10-13 14:11:28,441 - INFO  [main:Environment@97] - Client environment:os.name=Linux
2011-10-13 14:11:28,441 - INFO  [main:Environment@97] - Client environment:os.Arch=AMD64
2011-10-13 14:11:28,441 - INFO  [main:Environment@97] - Client environment:os.version=2.6.35.4-rscloud
2011-10-13 14:11:28,442 - INFO  [main:Environment@97] - Client environment:user.name=reach121
2011-10-13 14:11:28,443 - INFO  [main:Environment@97] - Client environment:user.home=/home/reach121
2011-10-13 14:11:28,443 - INFO  [main:Environment@97] - Client environment:user.dir=/home/reach121/basf/zookeeper-3.3.3-cdh3u1
2011-10-13 14:11:28,446 - INFO  [main:ZooKeeper@373] - Initiating client connection, connectString=127.0.0.1:2183 sessionTimeout=30000 watcher=org.Apache.zookeeper.ZooKeeperMain$MyWatcher@5311a775
Welcome to ZooKeeper!
2011-10-13 14:11:28,472 - INFO  [main-SendThread():ClientCnxn$SendThread@1041] - Opening socket connection to server /127.0.0.1:2183
JLine support is enabled
2011-10-13 14:11:28,487 - WARN  [main-SendThread(localhost:2183):ClientCnxn$SendThread@1161] - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
Java.net.ConnectException: Connection refused
        at Sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
        at Sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.Java:592)
        at org.Apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.Java:1119)
[zk: 127.0.0.1:2183(CONNECTING) 0] 2011-10-13 14:11:30,374 - INFO  [main-SendThread(localhost:2183):ClientCnxn$SendThread@1041] - Opening socket connection to server localhost/127.0.0.1:2183
2011-10-13 14:11:30,376 - WARN  [main-SendThread(localhost:2183):ClientCnxn$SendThread@1161] - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
Java.net.ConnectException: Connection refused
        at Sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
        at Sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.Java:592)
        at org.Apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.Java:1119)
15
XMen

サーバーは稼働していますか?おそらく与えられていません:

server.1=localhost:2878:3878
server.2=localhost:2879:3879
server.3=localhost:2880:3880

同じホスト上で3つすべてのサーバーを実行している場合、それらはそれぞれ異なる構成を持っている必要があります-特にdatadirの場所は異なっている必要があり、各datadirにサーバー行に対応するmyidファイルがあることを確認する必要があります(つまりサーバー。#in config)。

通常、分散モードで実行する場合は、個別のホストが必要です。この場合、なぜスタンドアロン(デフォルト)モードで実行しないのですか?

最初に管理ガイドで詳細を読むことをお勧めします: http://zookeeper.Apache.org/doc/r3.3.3/zookeeperAdmin.html

6
phunt

必要なサービスがすべて実行されていることを確認してください

ステップ1:hbase-masterが実行されているかどうかを確認

Sudo /etc/init.d/hbase-master status

そうでない場合は、開始してくださいSudo /etc/init.d/hbase-master start

ステップ2:hbase-regionserverが実行されているかどうかを確認

Sudo /etc/init.d/hbase-regionserver status

そうでない場合は、開始してくださいSudo /etc/init.d/hbase-regionserver start

ステップ3:zookeeper-serverが実行されているかどうかを確認します

Sudo /etc/init.d/zookeeper-server status

そうでない場合は、開始してくださいSudo /etc/init.d/zookeeper-server start


または単にこれらの3つのコマンドを続けて実行します。

Sudo /etc/init.d/hbase-master restart
Sudo /etc/init.d/hbase-regionserver restart
Sudo /etc/init.d/zookeeper-server restart

その後、ステータスを確認することを忘れないでください

Sudo /etc/init.d/hbase-master status
Sudo /etc/init.d/hbase-regionserver status
Sudo /etc/init.d/zookeeper-server status

飼育係がまだ実行されていないことに気付く場合があります。その後、飼育係を実行できます。

Sudo /usr/lib/zookeeper/bin/zkServer.sh stop
Sudo /usr/lib/zookeeper/bin/zkServer.sh start

その後、再度ステータスを確認し、その実行を確認します

Sudo /etc/init.d/zookeeper-server status

これは動作するはずです。

3
Abhishek Goel

クライアントコードからMapr m3にそのまま接続すると同じ問題が発生しました

問題は、クライアントがlocalhostでM3 zookeeperに接続しようとしたことです。

/opt/mapr/conf/mapr-clusters.conf M3クラスターでlocalhostをポイントしていました...私はそれをM3マシンのIPアドレスに変更し、クライアントからの接続は機能しました

/opt/mapr/conf/cldb.conf localhostの代わりにIPアドレスを追加します

そして、飼育係を再起動します

2
Sachin Pawar