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