我正在尝试让 zookeeper 以独立模式工作以进行 python api 测试,并且遇到了 python api 问题。
1)这是我在 ubuntu 11.04 上的安装方式
sudo apt-get install zookeeper
sudo easy_install zc-zookeeper-static
from source install python zc.zk
http://pypi.python.org/packages/source/z/zc.zk/zc.zk-0.9.1.tar.gz
2)这是我启动zookeeper的方式:
sudo /usr/share/zookeeper/bin/zkCli.sh -server 127.0.0.1:2181
Connecting to 127.0.0.1:2181
Welcome to ZooKeeper!
JLine support is enabled
[zk: 127.0.0.1:2181(CONNECTING) 0]
3)这是我尝试和使用文档中的python api的方法。
import zc.zk
zk = zc.zk.ZooKeeper('localhost:2181')
zk.register_server('/fooservice/providers', ('192.168.0.42', 8080))
4)这是我得到的python错误。
No handlers could be found for logger "ZooKeeper"
Traceback (most recent call last):
File "/home/ubuntu/workspace/rtbopsConfig/zookeeper/test.py", line 2, in <module>
zk = zc.zk.ZooKeeper('localhost:2181')
File "/usr/local/lib/python2.7/dist-packages/zc.zk-0.9.1-py2.7.egg/zc/zk/__init__.py", line 211, in __init__
raise FailedConnect(connection_string)
zc.zk.FailedConnect: localhost:2181
5)这是日志文件:
2012-07-15 14:23:51,666 - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1000] - Opening socket connection to server localhost/127.0.0.1:2181
2012-07-15 14:23:51,667 - WARN [main-SendThread(localhost:2181):ClientCnxn$SendThread@1120] - 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:1078)
2012-07-15 14:23:53,076 - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1000] - Opening socket connection to server localhost/127.0.0.1:2181
2012-07-15 14:23:53,077 - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@908] - Socket connection established to localhost/127.0.0.1:2181, initiating session
2012-07-15 14:23:53,165 - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1114] - Unable to reconnect to ZooKeeper service, session 0x0 has expired, closing socket connection
所以......我是动物园管理员的新手。我想使用 python api 以独立模式启动并运行。阿洛斯,似乎有很多 python zookeeper api。哪一个是最常用的?
谢谢