使用Zookeeper完成对数据库配置的管理

每台机器的应用程序都需要连接数据库,而数据库的配置信息(连接信息),这时候放在机器本地的话不方面(机器多,需要一个个改配置信息),这就用到Zookeeper,把数据库的配置信息放到配置中心,利用Zookeeper节点可以存储数据的特性,然后各台机器可以使用JavaAPI去获取Zookeeper中数据库的配置信息。每一个应用都在Zookeeper节点注册监听器,一旦节点信息改变,各台机器就获取信息,使用最新的信息连接数据库,这样优点一是方便了管理(只放置一份数据在配置中心,没必要放到多个机器上去),二是一旦配置改了,就做一个发布的动作即可。
ConfigPublisher.java这个配置中心,负责更改配置,发布到Zookeeper服务上,配置内容:driverClassName=com.mysql.jdbc.Driver&url=jdbc:mysql://192.168.100.133:3306/mydatabase&username=root&password=root
DistributeApp.java内部方法中设置Zookeeper服务上对应监听器,时刻监听配置信息的变化,并更新本地配置
然后打包项目并上传到hadoop-twq用户的根目录下cd ~,然后同步到slave1、slave2上:
scp zookeeper-course-1.0-SNAPSHOT-jar-with-dependencies.jar hadoop-twq@slave1:~/
scp zookeeper-course-1.0-SNAPSHOT-jar-with-dependencies.jar hadoop-twq@slave2:~/
然后运行:
java -cp zookeeper-course-1.0-SNAPSHOT-jar-with-dependencies.jar com.twq.zk.usage.config.DistributeApp
这样机器就会时时刻刻监听Zookeeper中配置信息,并将配置信息解析出来。每当执行ConfigPublisher.java后都会将配置信息上传到Zookeeper,而各个机器节点就会检测到配置信息的变化,并且同步显示出来,以及将配置信息格式化。

posted @ 2019-02-27 16:49  AntarcticPenguin  阅读(2093)  评论(3编辑  收藏  举报
//开启礼花特效的js