“1+X中级B卷:Zookeeper 集群”的版本间的差异

来自CloudWiki
跳转至: 导航搜索
Zookeeper集群部署
Zookeeper集群部署
 
(未显示2个用户的8个中间版本)
第4行: 第4行:
 
ZooKeeper 是一个分布式协调服务的开源框架。主要用来解决分布式集群中应用系统的一致性的问题,例如怎样避免同时操作同一数据造成脏读的问题。ZooKeeper 本质上是一个分布式的小文件存储系统。提供基于类似于文件系统的目录树方式的数据存储,并且可以对树种 的节点进行有效管理里。从而来维护和监控你存储的数据的状态变化。将通过监控这些数据状态的变化,从而可以达到基于数据的集群管理。诸如:统一命名服务(dubbo)、分布式配置管理(solr的配置集中管理)、分布式消息队列(sub/pub)、分布式锁、分布式协调等功能。
 
ZooKeeper 是一个分布式协调服务的开源框架。主要用来解决分布式集群中应用系统的一致性的问题,例如怎样避免同时操作同一数据造成脏读的问题。ZooKeeper 本质上是一个分布式的小文件存储系统。提供基于类似于文件系统的目录树方式的数据存储,并且可以对树种 的节点进行有效管理里。从而来维护和监控你存储的数据的状态变化。将通过监控这些数据状态的变化,从而可以达到基于数据的集群管理。诸如:统一命名服务(dubbo)、分布式配置管理(solr的配置集中管理)、分布式消息队列(sub/pub)、分布式锁、分布式协调等功能。
  
'''1.节点部署'''
+
'''1.节点部署'''<br>
本次实验使用采用三个节点
+
本次实验使用采用三个节点<br>
 
   IP                    主机名
 
   IP                    主机名
 
  192.168.100.10        zookeeper1
 
  192.168.100.10        zookeeper1
第11行: 第11行:
 
  192.168.100.30        zookeeper3
 
  192.168.100.30        zookeeper3
  
'''2.修改主机名'''
+
'''2.修改主机名'''<br>
 
  hostnamectl set-hostname zookeeper1
 
  hostnamectl set-hostname zookeeper1
 
  hostnamectl set-hostname zookeeper2
 
  hostnamectl set-hostname zookeeper2
 
  hostnamectl set-hostname zookeeper3
 
  hostnamectl set-hostname zookeeper3
3.配置YUM源
+
'''3.配置YUM源'''<br>
  mv /etc/yum.repos.d/* /home  备份到home下
+
  mv /etc/yum.repos.d/* /home  备份到home下<br>
挂载镜像创建挂载点并挂载
+
挂载镜像创建挂载点并挂载<br>
 
  mkdir /ISO
 
  mkdir /ISO
 
  mount /dev/sr0 /ISO
 
  mount /dev/sr0 /ISO
第26行: 第26行:
 
  enabled=1
 
  enabled=1
 
  gpgcheck=0
 
  gpgcheck=0
保持并退出
+
保持并退出<br>
 
  yum clean all 清理缓存
 
  yum clean all 清理缓存
 
  yum makecache 建立缓存
 
  yum makecache 建立缓存
  
4.搭建JDK环境
+
'''4.搭建JDK环境'''<br>
3个节点都安装JDK环境
+
3个节点都安装JDK环境<br>
 
  yum install java-7.8.0-openjdk java-1.8.0-openjdk-devel
 
  yum install java-7.8.0-openjdk java-1.8.0-openjdk-devel
测试java环境是否成功
+
测试java环境是否成功<br>
 
   java -version
 
   java -version
 +
'''5.搭建Zzookeeper'''<br>
 +
解压Zookeeper安装包<br>
 +
tar -zxvf zookeeper.tar.gz<br>
 +
进入到Zookeeper的配置文件目录zookeeper-3.4.14/conf目录下,修改zoo_sample.cfg文件重命名为zoo.cfg<br>
 +
编辑该配置文件<br>
  
 +
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文件<br>
   
+
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集群<br>
 +
三个节点全部启动<br>
 +
./zkServer.sh start
  
 +
然后查看集群启动状态<br>
 +
./zkServer.sh status
  
 +
<nowiki>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
 +
</nowiki>
 +
'''排错技巧'''<br>
 +
如果zookeeper没有启动起来,可能是myid中的号码忘记更改了,或者就是配置文件zoo.conf中配置错误,修改正确后删除启动的日志文件,重新启动。<br>
 +
一定要关闭防火墙,selinux。<br>
  
 +
== 简化版本 ==
  
  

2020年12月2日 (三) 08:06的最新版本

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