1+X中级B卷:Zookeeper 集群
Zookeeper集群部署
一. 对Zookeeper的介绍
ZooKeeper 是一个分布式协调服务的开源框架。主要用来解决分布式集群中应用系统的一致性的问题,例如怎样避免同时操作同一数据造成脏读的问题。ZooKeeper 本质上是一个分布式的小文件存储系统。提供基于类似于文件系统的目录树方式的数据存储,并且可以对树种 的节点进行有效管理里。从而来维护和监控你存储的数据的状态变化。将通过监控这些数据状态的变化,从而可以达到基于数据的集群管理。诸如:统一命名服务(dubbo)、分布式配置管理(solr的配置集中管理)、分布式消息队列(sub/pub)、分布式锁、分布式协调等功能。
1.节点部署
本次实验使用采用三个节点
IP 主机名 192.168.100.10 zookeeper1 192.168.100.20 zookeeper2 192.168.100.30 zookeeper3
2.修改主机名
hostnamectl set-hostname zookeeper1 hostnamectl set-hostname zookeeper2 hostnamectl set-hostname zookeeper3
3.配置YUM源
mv /etc/yum.repos.d/* /home 备份到home下
挂载镜像创建挂载点并挂载
mkdir /ISO mount /dev/sr0 /ISO vi /etc/yum.repos.d/iso.repo [centos] name=centos baseurl=file:///ISO enabled=1 gpgcheck=0
保持并退出
yum clean all 清理缓存 yum makecache 建立缓存
4.搭建JDK环境
3个节点都安装JDK环境
yum install java-7.8.0-openjdk java-1.8.0-openjdk-devel
测试java环境是否成功
java -version
5.搭建Zzookeeper
解压Zookeeper安装包
tar -zxvf zookeeper.tar.gz
进入到Zookeeper的配置文件目录zookeeper-3.4.14/conf目录下,修改zoo_sample.cfg文件重命名为zoo.cfg
编辑该配置文件
tickTime=2000 initLimit=10 syncLimit=5 dataDir=/usr/zookeeper/zookeeper-3.4.14/zkdata clientPort=2181 dataLogDir=/usr/zookeeper/zookeeper-3.4.14/zkdatalog server.1=zookeeper1:2888:3888 server.2=zookeeper2:2888:3888 server.3=zookeeper3:2888:3888
接下来我们创建myid文件
zookeeper1节点
mkdir /usr/zookeeper/zookeeper-3.4.14/zkdata echo "1" > /usr/zookeeper/zookeeper-3.4.14/zkdata/myid
zookeeper2节点
mkdir /usr/zookeeper/zookeeper-3.4.14/zkdata echo "2" > /usr/zookeeper/zookeeper-3.4.14/zkdata/myid
zookeeper3节点
mkdir /usr/zookeeper/zookeeper-3.4.14/zkdata echo "3" > /usr/zookeeper/zookeeper-3.4.14/zkdata/myid
接下来到了最激动人心的时刻了启动Zookeeper集群
三个节点全部启动
./zkServer.sh start
然后查看集群启动状态
./zkServer.sh status
ZooKeeper JMX enabled by default Using config: /root/zookeeper-3.4.14/bin/../conf/zoo.cfg Mode: follower [root@zookeeper2 bin]# ./zkServer.sh status ZooKeeper JMX enabled by default Using config: /root/zookeeper-3.4.14/bin/../conf/zoo.cfg Mode: leader [root@zookeeper3 bin]# ./zkServer.sh status ZooKeeper JMX enabled by default Using config: /root/zookeeper-3.4.14/bin/../conf/zoo.cfg Mode: follower
排错技巧
如果zookeeper没有启动起来,可能是myid中的号码忘记更改了,或者就是配置文件zoo.conf中配置错误,修改正确后删除启动的日志文件,重新启动。
一定要关闭防火墙,selinux。
简化版本
首先配置好java环境 使用java -version 成功回显版本号
首先将zookeeper上传到linux中
将Zookeeper配置解压到/usr/zookeeper目录下
tar -zxvf zookeeper.tar.gz -C /usr/zookeeper
配置环境变量vi /etc/profile
export ZOOKEEPER_HOME=/绝对路径 export PATH=$PATH:$ZOOKEEPER_HOME/bin
配置zookeeper
cd $zookeeper cd conf/ cp zoo_sample.cfg zoo.cfg vi zoo.cfg dataDir=数据目录 dataLogDir=日志目录 server.1=master:2888:3888 server.2=slave1:2888:3888 server.3=slave2:2888:3888
在数据目录中生成myid文件写入对应的server号码
如:master的myid号码为1
启动zookeeper
zkServer.sh start
查看zookeeper启动状态
zkServer.sh status