一、安装QConf :1. 使用源码安装1)git clone https://github.com/Qihoo360/QConf.git2) cd QConf && mdkir build && cmake ..3) make4) make install2. 使用rpm包安装1) 根据不同的CentOS 系统下载不同的rpm包下载页面:https://github.com/Qihoo360/QConf/releases如果是CentOS 6.*,则下载:QConf-1.0.0-1.el6.x86_64.rpm如果是CentOS 5.*,则下载:QConf-1.0.0-1.el5.x86_64.rpm2) rpm -ivh QConf-1.0.0-1.el5.x86_64.rpm
二、使用QConf
1. 启动qconf-agent1) cd /usr/local/qconf2) cd bin && sh agent-cmd.sh start3) export PATH=$PATH:/usr/local/qconf/bin2. 先部署zookeeper服务器1) wget 2) tar -zxv -f zookeeper-3.3.6.tar.gz3) cd zookeeper-3.3.6/conf && cp zoo_sample.cfg zoo.cfg4) cd ../bin && sh zkServer.sh start5) 使用客户端链接到zookeeper: sh zkCli.sh
6) 创建配置节点(这个后续会提供页面来处理):create /demo democreate /demo/confs confscreate /demo/confs/conf1 111111111111111111111create /demo/confs/conf2 222222222222222222222create /demo/confs/conf3 3333333333333333333333. 获取值1) 使用 shell 命令获取:qconf get_conf /demo/confs/conf1qconf get_batch_keys /demo/confs
如果想用c客户端的话,C客户端安装:
cd src/c
./configure
make
make-install
C客户端连接:
三、安装qconf的php扩展
查找文件:
whereis php
whereis phpize;
php.ini /etc/php.ini
phpize 、/usr/bin/phpize
php-config /usr/bin/php-config
php-modules /usr/lib64/php/modules/
进入到qcon源码目录driver/php目录执行/user/bin/phpize
./configure –with-php-config=/usr/bin/php-config –with-libqconf-dir=/usr/local/qconf/include –enable-static LDFLAGS=/usr/local/qconf/lib/libqconf.a
或./configure –with-php-config=/usr/local/php/bin/php-config –with-libqconf-dir=/usr/local/qconf/include –enable-static LDFLAGS=/usr/local/qconf/lib/libqconf.a
在php.ini中添加 extension=qconf.so即可,重启nginx
安装过程中可能遇到的问题:
(1)安装jdk:
检查电脑是否已安装jdk
yum list installed |grep java
查看yum中的jdk版本
[root@localhost bin]# yum -y list java*
安装jdk
yum -y install java-1.8.0-openjdk*
(2)环境变量:
export PATH=$PATH:/usr/local/qconf/bin:$HOME/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin
(3)安装phpize:
yum install php-devel然后就会安装上phpize了
查看phpize位置: whereis phpize
报错:
The GPG keys listed for the "CentOS / Red Hat Enterprise Linux 6 -atomicrocketturtle.com" repository are already installed but theyare not correct for this package.Check that the correct key URLs are configured for thisrepository.此时只要加上“–nogpgcheck”就可以了,即去掉gpg检查,,如“yum install php-mcrypt –nogpgcheck”最后还得重启一下服务器service nginx restart
(4)安装后其他机器无法连接到zookeeper
防火墙中开放zookeeper所在服务器的2181端口:
#(允许qconf:2181端口通过防火墙)
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
(5)zookeeper客户端操作:
ls(查看当前节点数据),ls2(查看当前节点数据并能看到更新次数等数据) ,create(创建一个节点) ,get(得到一个节点,包含数据和更新次数等数据),set(修改节点)delete(删除一个节点)
四、使用qconf封装的phpsdk获取配置信息
<?php$value = Qconf::getConf("/demo/confs/conf1",'test');echo 'get node /demo/confs: ';print_r($value);echo '<br />';$batchkeys = Qconf::getBatchKeys("/demo/confs",'test');echo 'get batchkeys /demo/confs: ';print_r($batchkeys);echo '<br />';$batchconf = Qconf::getBatchconf("/demo/confs",'test');echo 'get batchconf /demo/confs: ';print_r($batchconf);echo '<br />';$allhost = Qconf::getAllHost('demo/hosts','test');var_dump($allhost);echo '<br>';$host = Qconf::getHost('/demo','test');五、在补充一下qconf原理及zookeeper集群配置
1、qconf架构:https://github.com/Qihoo360/QConf/wiki/QConf-%E6%9E%B6%E6%9E%84
2、zookeeper集群的安装与配置:
赚钱之道很多,但是找不到赚钱的种子,便成不了事业家。