参照搭建之前请仔细阅读相关安装配置信息及注意事项:
启动顺序,先启动数据库-->再启动zookeeper-->再启动zkdash
在做
qconfig
管理的时候需要启动各个节点的
qconfig
客户端
根据实际情况确定!
qconf安装与配置
一、安装QConf :
1. 使用源码安装
1)git clonehttps://github.com/Qihoo360/QConf.git
2) cd QConf
3) mkdir build
4) cdbuild && cmake ..
5) make
6) make install
cmake编译前准备条件
yum install m4 autoconf automake gcc-c++ libtool
2.cmake编译报错
CMakeFiles/cmTryCompileExec2834106963.dir/CheckSymbolExists.c.o:In function `main':
CheckSymbolExists.c:(.text+0xc):undefined reference to `pthread_create'
collect2: ld returned 1exit status
//如果出错,也就下面几个错误了
ln -s /usr/bin/aclocal/usr/bin/aclocal-1.14
ln -s /usr/bin/automake/usr/bin/automake-1.15
yum install -ytexinfo
mkdir /usr/local/qconf
下载安装最新的autoconf
wgethttp://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.gz
tar xzf autoconf-2.69.tar.gz
cd autoconf-2.69
./configure --prefix=/usr/local
make
make install
3.make 报错
3.1缺少libgdbm.a静态库
make[2]: *** No rule tomake target `../agent/../deps/gdbm/_install/lib/libgdbm.a', needed by`agent/qconf_agent'. Stop.
自己上网下载https://ftp.gnu.org/gnu/gdbm/gdbm自己编译出libgdbm.a
静态库
./configure 执行报错
checking host systemtype... Invalid configuration `x86_64-unknown-linux-gnu': machine`x86_64-unknown' not recognized
make && makeinstall
cp /usr/share/libtool/config/config.guess .
cp /usr/share/libtool/config/config.sub .
3.2参数检查不通过
修改/usr/local/src/QConf/agent/qconf_dump.cc:63增加(char *)进行强转
二、使用QConf
1. 启动qconf-agent
1) cd /usr/local/qconf
2) cd bin && sh agent-cmd.sh start
3) export PATH=$PATH:/usr/local/qconf/bin
2. 先部署zookeeper服务器
1) wgethttp://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.3.6/zookeeper-3.3.6.tar.gz
2) tar -zxv -f zookeeper-3.3.6.tar.gz
3) cd zookeeper-3.3.6/conf && cpzoo_sample.cfg zoo.cfg
4) cd ../bin && sh zkServer.shstart
5) 使用客户端链接到zookeeper: sh zkCli.sh
6)创建配置节点(这个后续会提供页面来处理):
create /demo demo
create /demo/confs confs
create /demo/confs/conf1 111111111111111111111
create /demo/confs/conf2 222222222222222222222
create /demo/confs/conf3 333333333333333333333
3. 获取值
1) 使用shell 命令获取:
qconf get_conf /demo/confs/conf1
qconf get_batch_keys /demo/confs
三、安装过程中可能遇到的问题:
(1)安装jdk:
检查电脑是否已安装jdk
yum list installed|grep java
查看yum中的jdk版本
[root@localhostbin]# yum -y list java*
安装jdk
yum -y installjava-1.8.0-openjdk*
(2)环境变量:
exportPATH=$PATH:/usr/local/qconf/bin:$HOME/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin
(3)安装后其他机器无法连接到zookeeper
防火墙中开放zookeeper所在服务器的2181端口:
#(允许qconf:2181端口通过防火墙)
vi /etc/sysconfig/iptables
-A INPUT -m state--state NEW -m tcp -p tcp --dport 2181 -j ACCEPT
(4)zookeeper客户端操作:
ls(查看当前节点数据),
ls2(查看当前节点数据并能看到更新次数等数据) ,
create(创建一个节点) ,
get(得到一个节点,包含数据和更新次数等数据),
set(修改节点)
delete(删除一个节点)
搭建zookeeper管理qconfig页面
zkdash是一个zookeeper的管理界面,也可以作为任何基于zookeeper的配置管理项目比如:Qconf
安装步骤
· 安装并运行mysql
· 安装python2.7, 版本最好 >= 2.7.6(参照http://www.cnblogs.com/dudu/p/4294238.html)
· 下载zkdash
·
git clone https://github.com/ireaderlab/zkdash.git
· 安装依赖项
· 下载安装pip
wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9
# tar -xzvf pip-1.5.4.tar.gz
# cd pip-1.5.4
先下载安装setuptools包
# wget http://pypi.python.org/packages/source/s/setuptools/setuptools-2.0.tar.gz
# tar zxvfsetuptools-2.0.tar.gz
# cd setuptools-2.0
# python setup.py build
# python setup.py install
然后再安装pip
# python setup.py install
参照:http://blog.csdn.net/u013372487/article/details/51726002
·
cd zkdash
·
pip install -r requirements.txt
执行报错
请参照
http://www.cnblogs.com/yuechaotian/archive/2013/06/03/3115472.html
· 设置配置文件
根据需要修改当前目录下./conf/conf.yml中相关配置信息,配置文件详细说明见后面
· 同步数据库表结构首先创建数据库zkdash,并设置数据库的用户名和密码将配置文件的数据库的用户名和密码进行修改
·
DATABASE:
·
db: 'zkdash'
·
host: '192.168.1.1' #
修改为你的数据库地址
·
port: 3306 #
设置端口号
·
user: 'tokyo'
#
修改用户名
·
passwd: 'tokyo!'
#
修改密码
·
设置完成后进行初始化数据库
·
cd zkdash
·
python ./bin/syncdb.py #
注意执行路径必须为
./bin/syncdb.py
说明:数据库使用mysql,创建表结构前请先配置数据库连接信息
· 运行
·
cd zkdash
·
python init.py -port=8888
说明:初次运行zkdash时需要到zookeeper管理菜单下增加监控的zookeeper集群ip信息
配置文件详细说明
数据库配置项(DATABASE)
全局配置项
1. 新增节点需要先指定父节点,并且只能逐级增加
2. 当设置使用QConf获取zookeeper数据时,zookeeper管理菜单下的zookeeper集群名称需要与QConf 客户端Agent配置文件的idc名称一致
五、在补充一下qconf原理及zookeeper集群配置
1. qconf架构:https://github.com/Qihoo360/QConf/wiki/QConf-%E6%9E%B6%E6%9E%84
2. zookeeper集群的安装与配置:http://blog.chinaunix.net/uid-20498361-id-3184380.html
3. qconf管理界面的安装:https://github.com/Qihoo360/QConf/wiki/QConf-%E7%AE%A1%E7%90%86%E7%95%8C%E9%9D%A2%E4%BD%BF%E7%94%A8