o2geao 发表于 2015-9-6 11:54:46

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.
  # 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
  # ./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
页: [1]
查看完整版本: install and use zookeeper C client API