git clone https://github.com/Qihoo360/QConf.git cd Qconf //注意若是不是root永恒,可能须要使用sudo权限 mkdir build && cd build // 默认安装在/usr/local/qconf目录,后面的命令指定安装目录 cmake .. 或者 cmake .. -DCMAKE_INSTALL_PREFIX=/install/prefix make make install //若是出错,也就下面几个错误了 sudo ln -s /usr/bin/aclocal /usr/bin/aclocal-1.14 sudo ln -s /usr/bin/automake /usr/bin/automake-1.14 sudo yum install -y texinfo //一切顺利,便可编译成功
安装zookeeper,可参考散仙的文章:http://qindongliang.iteye.com/category/299318java
默认的编译目录是在linux
cd /usr/local/qconf/ drwxr-xr-x. 2 root root 55 9月 20 17:31 bin drwxr-xr-x. 2 root root 6 9月 20 17:31 cmd drwxr-xr-x. 2 root root 53 9月 21 15:42 conf drwxr-xr-x. 2 root root 6 9月 20 17:31 doc drwxr-xr-x. 2 root root 23 9月 21 15:44 dumps drwxr-xr-x. 2 root root 62 9月 20 17:31 include drwxr-xr-x. 2 root root 41 9月 20 17:31 lib drwxr-xr-x. 2 root root 21 9月 20 17:31 lock drwxr-xr-x. 2 root root 54 9月 21 15:49 logs drwxr-xr-x. 2 root root 6 9月 20 17:31 monitor -rw-r--r--. 1 root root 5 9月 21 15:44 pid drwxr-xr-x. 2 root root 6 9月 20 17:31 result drwxr-xr-x. 2 root root 30 9月 20 17:31 script -rw-r--r--. 1 root root 19 9月 20 16:14 version //配置zk地址 vi conf/idc.conf zookeeper.test=192.168.10.38:2181,192.168.10.39:2181,192.168.10.40:2181 //配置idc,默认是test就不用动 vi conf/localidc test //启动agent sh bin/agent-cmd.sh start //向zk写入几条测试数据,须要使用zookeeper自带的命令行写,qconf不支持写 (1) 路径: /tz/key1 内容:key1 (2) 路径: /tz/key2 内容:key2 (3) 路径: /tz/key3 内容:key3 //在shell下面读取zk里面的数据 qconf get_conf /tz/key1 //获得结果 key1 qconf get_conf /tz/key2 //获得结果 key2 qconf get_batch_keys /tz/ //结果 key1 key2 key3
//进入qconf的驱动端 cd /home/search/QConf/driver/java //下面几个须要配置下 CC = g++ JNI_DIR = /home/search/jdk1.8.0_102/include/ JNI_MD_DIR = /home/search/jdk1.8.0_102/include/linux/ QCONF_HEAD_DIR = /usr/local/qconf/include/ LIBOBJS = /usr/local/qconf/lib/libqconf.a // 安装Ant,qconf编译java是用ant打包的 //下载Ant,http://ftp.tsukuba.wide.ad.jp/software/apache//ant/binaries/apache-ant-1.9.7-bin.tar.gz //解压完,安装配置环境变量 #ant export ANT_HOME=/home/search/ant export CLASSPATH=$CLASSPATH:$ANT_HOME/lib export PATH=$PATH:$ANT_HOME/bin //最后执行 make 会在/home/search/QConf/driver/java/qconf_jar下面看到jar包 这个jar包,只能在linux上使用,win上调试不支持。
最后说下使用感,Qconf只能从zookeeper上读,并不支持写,也就是说,功能很是有限,本质上只能算是对操做zk的低级api作了个封装而已,并且只是读的api,比较low,并且客户端的java jar包,居然不支持win上调试,让我很诧异,若是我要选择一个操做zk的框架,确定是使用 curator,固然原生的zk也有jar,就是更加底层而已,像配置同步这件事使用zookeeper和redis均可以,zk的高可用方面会更好,配置同步这件事其实很是简单,就是存储和读取而已,而后对链接稍做优化便可,感受Qconf适合那些不是Java为主的编程的人员使用,若是是Java编程人员,真心建议本身使用curator或者zk原生api来实现配置同步,并无多大开发量,Qconf虽然开源的精神是不错的,可是这个东东过低级了,用起来也不太爽。git
https://github.com/Qihoo360/QConfgithub
有什么问题能够扫码关注微信公众号:我是攻城师(woshigcs),在后台留言咨询。 技术债不能欠,健康债更不能欠, 求道之路,与君同行。redis