前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Disconf服务搭建(1)—ZooKeeper集群环境

Disconf服务搭建(1)—ZooKeeper集群环境

作者头像
kl博主
发布2023-11-18 08:48:50
1410
发布2023-11-18 08:48:50
举报
文章被收录于专栏:kl的专栏kl的专栏

说明

《Disconf实现分布式配置管理的原理与设计》我们了解到,搭建部署我们自己的分布式disconf配置中心需要分布式应用程序协调服务Zookeeper的支持,下面我们就来部署我们的Zookeeper集群服务

认识Zookeeper

在我们动手部署前,我们先来感性的认识一下Zookeeper,百度百科对Zookeeper的描述如下:

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

ZooKeeper包含一个简单的原语集,1  提供Java和C的接口。

ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.3\src\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。

准备(当然你只是自己尝试的话一台机器也是可以的)

这里以三台ubuntu机器为例搭建一个最小的集群环境,三台服务器或者三台虚拟机均可。安装Ubuntu server的过程略,可以去http://releases.ubuntu.com/precise/下载。

第一步:服务器配置

三台Ubuntu server准备好之后,假设它们的IP地址分别为192.168.0.11,192.168.0.12和192.168.0.13. 将它们的host分别命名为zkp1,zkp2和zkp3。

Zookeeper是用java开发的,所以这里还需要jdk环境,Ubuntu下安装Oracle JDK的可以参考这篇博文http://www.linuxidc.com/Linux/2014-11/109216.htm

第二步:下载Zookeeper.

Zookeeper官网去下载最新版本的安装包

第三步:安装Zookeeper

注:先在第一台服务器server1上分别执行(1)-(3)步。

(1)解压:这里假定以dennis作为用户名进行安装,将zookeeper-3.4.5.tar.gz放入/home/dennis目录下,然后执行”tar zxf zookeeper-3.4.5.tar.gz”解压。

(2)配置:将conf/zoo_sample.cfg拷贝一份命名为zoo.cfg,也放在conf目录下。然后按照如下值修改其中的配置:

#zookeeper中使用的基本时间单位, 毫秒值.

tickTime=2000       

#数据目录. 可以是任意目录

dataDir=/var/lib/zookeeper/

#集群中的包含多台server, 其中一台为leader, 集群中其余的server为follower. initLimit参数配置初始化连接时, follower和leader之间的最长心跳时间. 此时该参数设置为5, 说明时间限制为5倍

initLimit=5

#该参数配置leader和follower之间发送消息, 请求和应答的最大时间长度. 此时该参数设置为2, 说明时间限制为2倍tickTime, 即4000ms

syncLimit=2

#监听client连接的端口号.

clientPort=2181

#server.X=A:B:C 其中X是一个数字, 表示这是第几号server. A是该server所在的IP地址. B配置该server和集群中的leader交换消息所使用的端口. C配置选举leader时所使用的端口.

server.1=zkp1:2888:3888

server.2=zkp2:2888:3888

server.3=zkp3:2888:3888

(3)创建/var/lib/zookeeper快照目录,并创建server id文件。

       $sudo mkdir /var/lib/zookeeper

       $ cd /var/lib/zookeeper

在该目录下创建名为myid的文件,内容为1(这个值随server而改变,后面会提到)。

(4)将server1上已经配置好的/home/dennis/zookeeper-3.4.5/和/var/lib/zookeeper两个目录分别拷贝至server2和server3。然后将其上的/var/lib/zookeeper/myid的内容修改为2和3.

第四步:启动Zookeeper

一次启动三台服务器,进入Zookeeper-3.4.5目录下,执行如下启动命令:

$sudo java-cp zookeeper-3.4.5.jar:lib/slf4j-api-1.6.1.jar:lib/slf4j-log4j12-1.6.1.jar:lib/log4j-1.2.15.jar:conf\org.apache.zookeeper.server.quorum.QuorumPeerMain conf/zoo.cfg

也可以到每台zookeeper server的目录下,执行:

启动 ./bin/zkServer.sh start

关闭 ./bin/zkServer.sh start

注:启动第一台的时候可能会报错,提示zoo2和zoo3,等全部启动完成之后就不会报错了。

到这里我们的Zookeeper集群环境就已经配置搭建好了,也就完成了Disconf服务搭建的其中一个环境依赖,其实除了需要Zookeeper提供支持外还需要如下依赖:

1.Mysql(Ver 14.12 Distrib 5.0.45, for unknown-linux-gnu (x86_64) using EditLine wrapper)

2.Tomcat(apache-tomcat-7.0.50)

3.Nginx(nginx/1.5.3)

4. Redis (2.4.5)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档