私は次のように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)
サーバーは稼働していますか?おそらく与えられていません:
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
必要なサービスがすべて実行されていることを確認してください
ステップ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
これは動作するはずです。
クライアントコードからMapr m3にそのまま接続すると同じ問題が発生しました
問題は、クライアントがlocalhostでM3 zookeeperに接続しようとしたことです。
/opt/mapr/conf/mapr-clusters.conf
M3クラスターでlocalhostをポイントしていました...私はそれをM3マシンのIPアドレスに変更し、クライアントからの接続は機能しました
/opt/mapr/conf/cldb.conf
localhostの代わりにIPアドレスを追加します
そして、飼育係を再起動します