360开源的Qconf配置同步工具使用记录

来源:互联网 发布:power mac g4改装 编辑:程序博客网 时间:2024/06/04 18:37


编译Qconf

git clone https://github.com/Qihoo360/QConf.gitcd Qconf//注意如果不是root永恒,可能需要使用sudo权限mkdir build && cd build// 默认安装在/usr/local/qconf目录,后面的命令指定安装目录cmake ..  或者 cmake .. -DCMAKE_INSTALL_PREFIX=/install/prefixmakemake install//如果出错,也就下面几个错误了sudo ln -s /usr/bin/aclocal /usr/bin/aclocal-1.14 sudo ln -s /usr/bin/automake /usr/bin/automake-1.14sudo yum install -y texinfo //一切顺利,即可编译成功

安装zookeeper,可参考散仙的文章:http://qindongliang.iteye.com/category/299318

给qconf配置zookeeper

默认的编译目录是在

cd /usr/local/qconf/drwxr-xr-x. 2 root root 55 920 17:31 bindrwxr-xr-x. 2 root root  6 920 17:31 cmddrwxr-xr-x. 2 root root 53 921 15:42 confdrwxr-xr-x. 2 root root  6 920 17:31 docdrwxr-xr-x. 2 root root 23 921 15:44 dumpsdrwxr-xr-x. 2 root root 62 920 17:31 includedrwxr-xr-x. 2 root root 41 920 17:31 libdrwxr-xr-x. 2 root root 21 920 17:31 lockdrwxr-xr-x. 2 root root 54 921 15:49 logsdrwxr-xr-x. 2 root root  6 920 17:31 monitor-rw-r--r--. 1 root root  5 921 15:44 piddrwxr-xr-x. 2 root root  6 920 17:31 resultdrwxr-xr-x. 2 root root 30 920 17:31 script-rw-r--r--. 1 root root 19 920 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/localidctest//启动agentsh 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//得到结果 key1qconf get_conf /tz/key2//得到结果 key2qconf get_batch_keys /tz///结果key1key2key3

编译Java客户端

//进入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//解压完,安装配置环境变量#antexport ANT_HOME=/home/search/antexport CLASSPATH=$CLASSPATH:$ANT_HOME/libexport 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虽然开源的精神是不错的,但是这个东东太低级了,用起来也不太爽。

Qconf Github Wiki

https://github.com/Qihoo360/QConf


 

有什么问题可以扫码关注微信公众号:我是攻城师(woshigcs),在后台留言咨询。 
技术债不能欠,健康债更不能欠, 求道之路,与君同行。 


 

0 0