设为首页 收藏本站
查看: 939|回复: 0

[经验分享] 搭建zookeeper管理集群

[复制链接]

尚未签到

发表于 2019-1-8 12:00:42 | 显示全部楼层 |阅读模式
Zookeeper集群


  一、实验环境

Zookeeper集群环境安装过程详解

Zookeeper是一个分布式开源框架提供了协调分布式应用的基本服务它向外部应用暴露一组通用服务——分布式同步Distributed Synchronization命名服务Naming Service集群维护Group Maintenance简化分布式应用协调及其管理的难度提供高性能的分布式服务。ZooKeeper本身可以以单机模式安装运行不过它的长处在于通过分布式ZooKeeper集群一个Leader多个Follower),基于一定的策略来保证ZooKeeper集群的稳定性和可用性从而实现分布式应用的可靠性。
Zookeeper安装和配置
Zookeeper有三种不同的运行环境包括单机环境、集群环境和集群伪分布式环境。
  环境准备

1、修改主机名

2、配置/etc/hosts文件

#vi /etc/hosts

安装java jdk-7u65-linux-x64.gz
#tar zxf jdk-7u65-linux-x64.gz
#mv   jdk1.7.0_65/   /usr/local/java

  编辑/etc/profile设置java的环境变量

#vi /etc/profile

export JAVA_HOME=/usr/local/java export PATH=$PATH:$JAVA_HOME/bin #source /etc/profile

#ln -s /usr/local/java/bin   /usr/bin
#java -version


  二、实验步骤
zk01zk02zk03主机上安装zookeeper

1、下载解压zookeeper

下载地址 http://www.apache.org/dyn/closer.cgi/zookeeper
#mkdir /data
#cd/data
#tar  zxf   zookeeper-3.4.10.tar.gz
#mv   zookeeper-3.4.10    zookeeper
2、配置环境变量/etc/profile
#echo "export ZOOKEEPER_HOME=/data/zookeeper" >> /etc/profile

#echo "export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf" >> /etc/profile
#source/etc/profile                //使变量生效

3、集群部署
Zookeeper集群环境下只要一半以上的机器正常启动了那么Zookeeper服务将是可用的。因此署Zookeeper最好使用奇数台机器这样如果有5台机器只要3台正常工作则服务将正常使用。下面我们将对Zookeeper的配置文件的参数进行设置

#cd /data/zookeeper/conf
#cp     zoo_sample.cfg   zoo.cfg
  zk01上配置
#vi    zoo.cfg

tickTime: zookeeper中使用的基本时间单位, 毫秒值

dataDir: 数据目录. 可以是任意目录.

dataLogDir: log目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和dataDir相同的设置. 这里没设置日志目 录。此方法不推荐

clientPort: 监听client连接的端口号

zk02上执行

#scp root@192.168.111.136:/data/zookeeper/conf/zoo.cfg/data/zookeeper/conf/

zk03上执行

#scproot@192.168.111.136:/data/zookeeper/conf/zoo.cfg /data/zookeeper/conf/

配置文件中server.id=host:port:port中的第一个port是从机器follower连接到主机器leader的端口号第二个port

是进行leadership选举的端口号。 接下来在dataDir所指定的目录下创建一个文件名为myid的文件文件中的内容只有一行

为本主机对应的id也就是server.id中的id。例如在服务器1中的myid的内容应该写入1id 被称为Server ID, 用来标识 服务器在集群中的序号。同时每台 ZooKeeper 服务器上, 都需要在数据目录(dataDir 指定的目录) 下创建一个 myid

, 该文件只有一行内容, 即对应于每台服务器的Server IDZooKeeper 集群中, 每台服务器上的 zoo.cfg 配置文件内容一 致。 server.1myid 文件内容就是 1。每个服务器的 myid 内容都不同, 且需要保证和自己的 zoo.cfg 配置文件中
server.id=host:port:port id 值一致。

id 的范围是 1 ~ 255

4.远程复制分发安装文件

zk01主机的zookeeper复制到另外两台主机中。 *主机修改datadir目录下myidid。 集群模式中, 集群中的每台机器都需要 感知其它机器,zoo.cfg 配置文件中, 可以按照如下格式进行配置, 每一行代表一台服务器配置。
server.id=host:port:port

server.1 myid 文件内容就是 "1"。每个服务器的 myid 内容都不同, 且需要保证和自己的 zoo.cfg 配置文件

"server.id=host:port:port"id 值一致。

  zk01为例

#mkdir  /data/zookeeper/data

#cd /data/zookeeper/data

#vi myid

1

zk02上执行
#scp root@localhost :/data/zookeeper/conf/zoo.cfg/data/zookeeper/conf/
zk03上执行
#scp root@localhost :/data/zookeeper/conf/zoo.cfg/data/zookeeper/conf/
5zk01,zk02,zk03启动ZooKeeper
zk01上执行如下操作
#cd       /data/zookeeper/zookeeper/bin
#./zkServer.sh start                                                   //启动zookeeper服务





zk02上执行如下操作

zk03上执行如下操作

6、检查zookeeper启动是否成功
zk01上操作
#jps

其中QuorumPeerMainzookeeper进程启动正常。 如上依次启动了所有机器上的Zookeeper之后可以通过ZooKeeper

脚本来查看启动状态包括集群中各个结点的角色或是Leader或是Follower),如下所示是在ZooKeeper集群中的每

个结点上查询的结果
zk01上执行 查看zookeeper状态


zk02上执行

zk03上执行






通过上面状态查询结果可见zk02是集群的Leader其余的两个结点是Follower。 另外接到ZooKeeper集群上。对于客户

端来说ZooKeeper是一个整体ensemble),连接到独享整个集群的服务所以你可以在任何一个结点上建立到服务

集群的连接例如

7、集群测试

zookeeper集群搭建完毕!!!
  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-660743-1-1.html 上篇帖子: zabbix 3.4监控zookeeper3.4 下篇帖子: 【ZooKeeper Notes 5】单机启动多个zk实例注意点
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表