install and use zookeeper C client API
1. install zookeeper in cluster
参考前面的STORM安装 http://www.cnblogs.com/Torstan/archive/2013/03/07/2948319.html
2. install zookeerper C client API
cd zookeeper-3.3.5/src/c
autoreconf -if
If this happens, we need install cppunit1.10.2 .
$ autoreconf -if >> aclocal:configure.ac:33: warning: macro `AM_PATH_CPPUNIT' not found in >> library >> aclocal:configure.ac:33: warning: macro `AM_PATH_CPPUNIT' not found in >> library >> configure.ac:33: error: possibly undefined macro: AM_PATH_CPPUNIT >> If this token and others are legitimate, please use m4_pattern_allow. >> See the Autoconf documentation. >> autoreconf: /usr/bin/autoconf failed with exit status: 1
We can see there is no directory named with /usr/local/share/aclocal.
2.1 install cppuint1.10.2
download cppunit-cvs-1.10.2.tar.gz
tar xzvf cppunit-cvs-1.10.2.tar.gz
cd cppunit-cvs-1.10.2
sh autogen.sh
./configure
make && make install
So cppuint1.10.2 has been installed in /usr/local/share/aclocal.
We continue to install zookeeper C client API. See https://issues.apache.org/jira/browse/ZOOKEEPER-1454
ACLOCAL="aclocal -I /usr/local/share/aclocal" autoreconf -if
./configure
make && make install
3. use zookeeper C client API
cd zookeeper-3.3.5/src/c/src/
there is a file cli.c, we can compile it into a binary, cli, with the following Makefile.
[Torstan]# more Makefile
all:
g++ -c -I/usr/local/include/c-client-src -I/usr/local/zookeeper-3.3.5/src/c/include cli.c
g++ -o cli cli.o /usr/local/lib/libzookeeper_st.a
clean:
rm cli cli.o
make clean; make
[Torstan]# ./cli 127.0.0.1:2181
Watcher -1 state = CONNECTED_STATE
Got a new session id: 0x3d3564f27e0021
ls /
time = 0 msec
/: rc = 0
hello
storm
zookeeper
zk_test ginobili
time = 0 msec
For more information, please refer to http://zookeeper.apache.org/doc/r3.2.2/zookeeperOver.html