`
qindongliang1922
  • 浏览: 2183946 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117535
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:125921
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:59911
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71301
社区版块
存档分类
最新评论

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

    博客分类:
  • JAVA
阅读更多

编译Qconf

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/299318

给qconf配置zookeeper

默认的编译目录是在

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
编译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

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

Qconf Github Wiki

https://github.com/Qihoo360/QConf


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

0
0
分享到:
评论

相关推荐

    cpp-QConf是奇虎360内部分布式配置管理工具

    QConf 是奇虎 360 内部分布式配置管理工具。用来替代传统的配置文件,使得配置信息和程序代码分离,同时配置变化能够实时同步到客户端,而且保证用户高效读取配置,这使的工程师从琐碎的配置修改、代码提交、配置...

    QConf 架构和实现原理

    - **云原生环境**:在容器化和编排技术中,QConf可以作为配置管理的重要工具。 ### 总结 通过上述分析,我们可以看出QConf作为一种高效的配置管理系统,在分布式系统中扮演着至关重要的角色。其架构设计充分考虑了...

    360如何用QConf搞定2W+服务器的配置管理

    而业务项目中又总少不了各种类型的配置文件。因此,我们常常会遇到这样的问题,仅仅是一个配置内容的修改,便需要重新进行代码提交SVN/Git、打包、分发上线的全部流程。当部署的机器有很多时,分发上线本身就是一个...

    从配置文件到分布式配置管理QConf

    当然,业务项目中总少不了各种类型的配置文件,我们常常会遇到这样的问题,有时仅仅是一个配置内容的修改,便需要重新进行代码提交svn/git,打包,分发上线的流程。当部署的机器有很多时,分发上线本身也是一个很...

    QConf:奇虎分布式配置管理系统

    特征对任何配置的更改将实时同步到所有客户端计算机。 查询效率高。 方便的部署和简单的界面。 高鲁棒性和容错能力。 支持c / c ++,shell,php,python,lua,java,go,node等安装QConf是使用CMake(2.6版或更高...

    zkdash:Zookeeper和Qconf的仪表板

    zkdash是一个zookeeper的管理界面,也可以作为任何基于zookeeper的配置管理项目比如:Qconf 开发规划 zkdash目前正在开发第二版本,更易用,更开发,拥有完善权限管理,支持zk,更易用。 第二版已经在着手开源相关...

    kconfigREADME.pdf

    例如,可以通过`./configure`命令添加不同的选项来定制编译过程,如`--disable-nconf`、`--disable-gconf`、`--disable-qconf`等,这些选项分别用于禁用不需要的配置工具。构建过程通常遵循以下步骤:配置...

    360容器平台基于Prometheus的监控实践

    此外,360还构建了日志监控系统,利用ELK栈(Elasticsearch、Logstash、Kibana)进行日志收集和分析,其中的Log controller组件负责感知Kubernetes资源的变化,Logstash则定时从配置中心QConf获取配置,收集日志到...

    sun公司 大型机使用

    不同的用户角色(如管理人员、操作人员、拥有者和用户)具有不同的权限,比如`qacct`、`qalter`、`qconf`等命令的使用权限就根据用户角色的不同而有所差异。 ### 队列和主机管理 `qconf`还被用于队列和主机的管理...

    Redis客户端zyredis.zip

    日请求量大于5亿failover机制可以灵活切换redis proxy,并配置不同不服务器的负载项目依赖QConfQConf python client目前已经集成到本目录代码中,zyredis/utils/qconf_py.so是通过QConf项目编译的python客户端redis ...

    sge安装及使用文档.pdf

    - `qconf`: 配置SGE **2.7 主机的状态** 监控主机状态对于确保集群稳定运行至关重要。可以通过命令`qhost`查看主机的状态,包括CPU利用率、内存使用情况等。 **2.8 作业的状态** 了解作业的状态可以帮助用户更好...

    Vmware vSphere(一)安装vSphere client 以及 ubuntu

    虽然vSphere Client主要为Windows设计,但在Ubuntu等Linux系统上,可以使用开源的`govc`命令行工具或Web客户端(HTML5版vSphere Client)进行管理。以下是使用`govc`的步骤: 1. 安装依赖:`sudo apt-get install ...

    mongoDB设计.docx

    在性能测试中,使用 JMeter 进行施压测试,记录所有的性能测试数据,包括全量更新的内容和每五秒记录的增量内容。这种方法可以模拟实际应用场景,测试 MongoDB 的性能和可扩展性。 字段设计 在设计文档中,字段...

    微服务一站式解决方案SpringCloud.docx

    - **配置管理**:Disconf、QConf、Diamond和Archaius等提供分布式环境下的配置管理。 - **负载均衡**:Ribbon提供了客户端的负载均衡策略。 - **服务熔断**:Hystrix帮助实现服务降级和熔断,保护系统免受雪崩效应...

    嵌入式Linux下Qt_Embedded的应用.pdf

    2. **配置Qt_Embedded**:下载Qt_Embedded源码后,使用qmake或qconf工具进行配置,指定目标平台、编译选项以及所需的库。这一步骤会生成Makefile,以便后续编译。 3. **编译参数设置**:根据嵌入式设备的硬件特性,...

    简单实现Spring Quartz定时器

    至于工具,像`qconf`(Quartz Configuration and Management Tool)这样的图形化工具可以帮助我们更直观地管理和监控Quartz调度器。此外,IDE插件如Eclipse的Quartz plugin也提供了方便的集成开发环境支持。 总的来...

    mongo-start:简单的包装器,以获取mongojs集合

    但是,由于mongo-start使用您可以将设置存储在qconf允许您使用的任何位置。 const users = require ( 'mongo-start' ) ( 'users' ) ; //mongojs collectionusers . find ( { ... } , ( err , collection ) => { //...

Global site tag (gtag.js) - Google Analytics