千家信息网

大数据开发中Zookeeper怎么实现简易配置中心

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章给大家介绍大数据开发中Zookeeper怎么实现简易配置中心,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。大数据开发-Zookeeper实现简易配置中心为什么使用Zook
千家信息网最后更新 2026年10月31日大数据开发中Zookeeper怎么实现简易配置中心

这篇文章给大家介绍大数据开发中Zookeeper怎么实现简易配置中心,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

大数据开发-Zookeeper实现简易配置中心

为什么使用Zookeeper

Zookeeper是一个分布式的,开放源码的分布式协调服务,常在Ha架构,比如Hadoop、Hbase中使用,它是一个分布式应用提供一致性服务的软件,提供的功能有:配置维护,域名服务,分布式同步,注册中心等,作为配置中心,需要的就是一个稳定的全局一致的配置化中心,而Zk本身提供的原语正好可以满足需求。

1.实现思路

1.创建要给Web项目,将数据库连接池信息交给Zookeeper配置中心来管理,即把配置参数放到Zk的节点信息中.

2.在项目启动时候,从Zookeeper中拉取Mysql的信息参数、

3.当Zk中的数据库连接池信息修改后,自动感知,正确释放之前的连接池,创建新的连接池。

2.实现过程

2.1 启动springboot项目,并从zk中拉取配置

     /**
* 1. 启动 web 容器
* 2. 初始化 zookeeper
* 3. 配置数据库连接池
**/
public static void main(String[] args) {

SpringApplication.run(Application.class, args);

initZk();

configHikariSource();
}

//初始化zk
private static void initZk() {

zkClient = new ZkClient("centos:8521");

zkClient.setZkSerializer(new ZkStrSerializer());

zkClient.subscribeDataChanges("/jdbc", new IZkDataListener() {

public void handleDataChange(String path, Object data) {

System.out.println(path + " data is changed, new data " + data);

hikariDataSource.close();

configHikariSource();
}

public void handleDataDeleted(String path) {

System.out.println(path + " is deleted!!");

hikariDataSource.close();
}
});
}

2.2 获取数据库连接池信息进行访问mysql

序列化zk中的数据,将其转为字符串,使用HiKari工具建立连接,操作数据库

/**
* 配置数据库连接池
*
* 1. 从 zookeeper 中获取配置信息
* 2. 更新 hikari 配置
* 3. 执行测试 sql
*/
private static void configHikariSource(){

JDBCConfig myConfig = getJDBCConfig();

updateHikariConfig(myConfig);

try {

executeTestSQL();
} catch (SQLException e) {
e.printStackTrace();
}
}

2.3 监听zk,改变节点数据,释放并创建新的数据库连接

//更新数据库信息
private static void updateHikariConfig(JDBCConfig myConfig) {

HikariConfig config = new HikariConfig();
config.setJdbcUrl(myConfig.getUrl());
config.setUsername(myConfig.getUsername());
config.setPassword(myConfig.getPassword());
config.addDataSourceProperty( "driverClassName" , myConfig.getDriver());
config.addDataSourceProperty( "cachePrepStmts" , "true" );
config.addDataSourceProperty( "prepStmtCacheSize" , "250" );
config.addDataSourceProperty( "prepStmtCacheSqlLimit" , "2048" );
hikariDataSource = new HikariDataSource(config);
}

关于大数据开发中Zookeeper怎么实现简易配置中心就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

数据 配置 数据库 信息 分布式 简易 开发 项目 服务 一致 内容 参数 更多 节点 帮助 更新 不错 一致性 全局 兴趣 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网 卓越科技 奇酷互联网络科技 善班互联网科技有限公司 互联网女皇 腾讯科技 睿民互联网科技 深圳市运趣互联网科技有限公司 天速互联网络科技有限公司 宁夏众和广鑫互联网科技有限公司 互联网和黑科技的看法 南平创想时代互联网科技有限公司 崇明区互联网教育科技诚信经营 知域互联网科技有限公司大骗子 佛山市翊博互联网络科技有限公司 华中科技大学互联网的牛人 怎样加入科技互联网 广东工业互联网大赛深圳学泰科技 领航科技大厦互联网公司 互联网金融金融科技 瑞安市蟠桃会互联网科技有限公司 科技美学互联网 艺术 手冲咖啡和咖啡机区别 金诺互联网科技 互联网金融科技平台 居家互联网科技有限公司 甘肃拓世互联网科技有限公司 互联网金融中的现代科技 语蝶互联网科技有限公司 消费医药和互联网科技 坤平互联网科技 燊美集互联网科技有限公司
0