1+X中级B卷:Zookeeper 集群

来自CloudWiki
58.56.27.218讨论2020年11月22日 (日) 13:01的版本 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

解压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没有启动起来,可能是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