Zookeeper的分布式安装

本文介绍ZooKeeper集群的安装部署过程及zk-web的安装配置方法。覆盖了解压安装包、配置环境变量、创建必要目录及配置文件等步骤,并详细解释了各配置项的作用。

目录

 

1 基本信息

2 安装过程

2.1  解压并创建软连接

2.2 修改配置文件

2.3 创建data目录和log目录,并在data目录下创建名为myid文件

2.4 配置zookeeper运行的环境变量。

2.5 将解压后的包传送到其他两台机器上

2.6 在三台机器上分别执行zookeeper命令:$ zkServer.sh start

2.7 检查每台机器的zookeeper状态:$ zkServer.sh status

2.8 检查zkCli命令是否能够执行成功:

3 安装zk-web

3.1 安装lein命令

3.2 安装zk-web


1 基本信息

版本3.4.6
安装机器bgs-5p173-wangwenting,bgs-5p174-wangwenting,bgs-5p175-wangwenting
源路径/opt/software/zookeeper-3.4.6.tar.gz
目标路径

/opt/zookeeper --> /opt/zookeeper-3.4.6/

依赖关系

2 安装过程

2.1  解压并创建软连接

使用hadoop账户,通过tar -xxvf命令将zookeeper-${version}.tar.gz解压缩至目的安装目录,并设置软连接。

[root@bgs-5p173-wangwenting opt]# su hadoop

[hadoop@bgs-5p173-wangwenting opt]$ cd /opt/software

[hadoop@bgs-5p173-wangwenting software]$ tar -zxvf zookeeper-${version}.tar.gz -C /opt/

[hadoop@bgs-5p173-wangwenting software]$  cd /opt/

[hadoop@bgs-5p173-wangwenting opt]$  ln -s /opt/zookeeper-${version}   /opt/zookeeper

2.2 修改配置文件

修改zoo.cfg配置文件

[hadoop@bgs-5p173-wangwenting zookeeper]# cd /opt/zookeeper/conf

[hadoop@bgs-5p173-wangwenting conf]$ cp zoo_sample.cfg   zoo.cfg

[hadoop@bgs-5p173-wangwenting conf]$ vim zoo.cfg

# 添加以下爱内容

dataDir=/opt/zookeeper/data

dataLogDir=/opt/zookeeper/log

server.1=bgs-5p173-wangwenting:2888:3888

server.2=bgs-5p174-wangwenting:2888:3888

server.3=bgs-5p175-wangwenting:2888:3888

 

配置说明:

在每台服务器的conf/zoo.cfg文件中添加如下内容:

格式: server.A=B:C:D

A表示这台服务器的编号ID,是一个数字

B表示服务器的IP地址或域名

C表示这台服务器与集群中的Leader交换信息时使用的端口

D表示执行选举Leader服务器时互相通信的端口

 

配置项含义说明
tickTime=2000心跳时间维持心跳的时间间隔,单位是毫秒
在zookeeper中所有的时间都是以这个时间为基础单元,进行
整数倍配置
initLimit=10初始通信时限用于zookeeper集群,此时有多台zookeeper服务器,其中一个
为Leader,其他都为Follower
syncLimit=5同步通信时限在运行时Leader通过心跳检测与Follower进行通信,如果超过
syncLimit*tickTime时间还未收到响应,则认为该Follower已经
宕机
dataDir=../data存储数据的目录数据文件也称为snapshot快照文件
clientPort=2181端口号默认为2181
maxClientCnxns=60单个客户端的最
大连接数限制
默认为60,可以设置为0,表示没有限制
autopurge.snapRetainCount=3保留文件的数量默认3个
autopurge.purgeInterval=1自动清理快照文
件和事务日志的
频率
默认为0,表示不开启自动清理,单位是小时
dataLogDir=存储日志的目录未指定时日志文件也存放在dataDir中,为了性能最大化,一般
建议把dataDir和dataLogDir分别放到不同的磁盘上

2.3 创建data目录和log目录,并在data目录下创建名为myid文件

myid文件内容是当前服务器的编号,即上面配置的A

ZooKeeper启动时会读取这个文件,将里面的数字与zoo.cfg中配置的server.A进行比较,从而判断这台服务器是哪个

[hadoop@bgs-5p173-wangwenting conf]$ mkdir /opt/zookeeper/data

[hadoop@bgs-5p173-wangwenting conf]$ mkdir /opt/zookeeper/log

[hadoop@bgs-5p173-wangwenting conf]$ vim  /opt/zookeeper/data/myid

# 在myid文件中写入1(同理在另外两台机器中写2和3)

1

 

2.4 配置zookeeper运行的环境变量。

[hadoop@bgs-5p173-wangwenting conf]$ vim /etc/profile

# 添加下面的内容:

export ZK_HOME=/opt/zookeeper

export PATH=$ZK_HOME/bin:$PATH

# 配置成功后,执行source /etc/profile使配置生效

[hadoop@bgs-5p173-wangwenting conf]$ source /etc/profile

 

2.5 将解压后的包传送到其他两台机器上

# 在bgs-5p174-wangwenting和bgs-5p175-wangwenting上分别执行

[hadoop@bgs-5p173-wangwenting conf]$  scp -r /opt/zookeeper-3.4.6  hadoop@bgs-5p174-wangwenting:/opt

[hadoop@bgs-5p173-wangwenting conf]$  scp -r /opt/zookeeper-3.4.6  hadoop@bgs-5p175-wangwenting:/opt


[hadoop@bgs-5p174-wangwenting conf]$ ln -s /opt/zookeeper-3.4.6 /opt/zookeeper

[hadoop@bgs-5p175-wangwenting conf]$ ln -s /opt/zookeeper-3.4.6 /opt/zookeeper


# 在bgs-5p174-wangwenting和bgs-5p175-wangwenting上分别修改/opt/zookeeper/data/myid文件,bgs-5p174-wangwenting中的myid改为2,bgs-5p175-wangwenting中的改为3

[hadoop@bgs-5p174-wangwenting conf]$ vim /opt/zookeeper/data/myid
2

[hadoop@bgs-5p175-wangwenting conf]$ vim /opt/zookeeper/data/myid
3

# 在bgs-5p174-wangwenting和bgs-5p175-wangwenting上分别步骤4配置zookeeper运行的环境变量

2.6 在三台机器上分别执行zookeeper命令:$ zkServer.sh start

[hadoop@bgs-5p173-wangwenting conf]$  zkServer.sh start

[hadoop@bgs-5p174-wangwenting conf]$  zkServer.sh start

[hadoop@bgs-5p175-wangwenting conf]$  zkServer.sh start

2.7 检查每台机器的zookeeper状态:$ zkServer.sh status

若输出结果是leader 或者follower, 三台机器中有一台是leader 和2 个follower, 说明安装成功了。


[hadoop@bgs-5p173-wangwenting conf]$  zkServer.sh status

[hadoop@bgs-5p174-wangwenting conf]$  zkServer.sh status

[hadoop@bgs-5p175-wangwenting conf]$  zkServer.sh status

2.8 检查zkCli命令是否能够执行成功:

[hadoop@bgs-5p173-wangwenting conf]$ zkCli.sh -server bgs-5p173-wangwenting:2181,bgs-5p174-wangwenting:2181,bgs-5p175-wangwenting:2181

若能成功连接,说明安装启动成功了,此时在某台服务器上执行更新操作时,其他服务器也会同步。

3 安装zk-web

3.1 安装lein命令

[hadoop@hlg-5p149-wangwenting opt]$ sudo wget -P /usr/bin https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein

[hadoop@hlg-5p149-wangwenting opt]$ sudo chmod 755 /usr/bin/lein

[hadoop@hlg-5p149-wangwenting opt]$ lein -v

Leiningen 2.7.1 on Java 1.8.0_101 Java HotSpot(TM) 64-Bit Server VM

# 注释lein启动脚本中的代码。因为是国外节点,下载速度很慢。故我手动下载之后,放在指定目录

[hadoop@hlg-5p149-wangwenting opt]$ sudo vim /usr/bin/lein

 65 function self_install {

 66   if [ -r "$LEIN_JAR" ]; then

 67     echo "The self-install jar already exists at $LEIN_JAR."

 68     echo "If you wish to re-download, delete it and rerun \"$0 self-install\"."

 69     exit 1

 70   fi

 71   echo "Downloading Leiningen to $LEIN_JAR now..."

 72   mkdir -p "$(dirname "$LEIN_JAR")"

 73   LEIN_URL="<a href="https://github.com/technomancy/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.zip" "="" style="text-decoration: none; border-radius: 0px; background: 0px center; border: 0px; bottom: auto; float: none; height: auto; left: auto; line-height: 20px; margin: 0px; outline: 0px; overflow: visible; padding: 0px; position: static; right: auto; top: auto; vertical-align: baseline; width: auto; box-sizing: content-box; min-height: inherit; color: rgb(0, 51, 102) !important;">https://github.com/technomancy/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.zip"

 74   #$HTTP_CLIENT "$LEIN_JAR.pending" "$LEIN_URL"               # 此行注释

 75   #local exit_code=$?                                         # 此行注释

 76   mv -f "$LEIN_JAR.pending" "$LEIN_JAR"

 77   echo "success!!!!!!"

 78   #if [ $exit_code == 0 ]; then                               # 此行注释

 79   #    # TODO: checksum                                       # 此行注释

 80   #    mv -f "$LEIN_JAR.pending" "$LEIN_JAR"                  # 此行注释

 81   #else                                                       # 此行注释

 82   #    rm "$LEIN_JAR.pending" 2> /dev/null                    # 此行注释

 83   #    download_failed_message "$LEIN_URL" "$exit_code"       # 此行注释

 84   #    exit 1                                                 # 此行注释

 85   #fi                                                         # 此行注释

 86 }

# 将leiningen-2.7.1-standalone.jar(见附件)上传至服务器,并放在指定路径下  /home/{user}/.lein/self-installs/

[hadoop@hlg-5p149-wangwenting opt]$ ll /home/hadoop/.lein/self-installs/leiningen-2.7.1-standalone.jar

-rw-r--r-- 1 hadoop hadoop 15370238 Sep 22  2016 /home/hadoop/.lein/self-installs/leiningen-2.7.1-standalone.jar

 

 

 

 

 

5.2 安装zk-web

[hadoop@hlg-5p149-wangwenting opt]$ sudo git clone git://github.com/qiuxiafei/zk-web.git

[hadoop@hlg-5p149-wangwenting opt]$ sudo chown -R hadoop:hadoop zk-web*

# 修改配置

[hadoop@hlg-5p149-wangwenting opt]$ cd zk-web

[hadoop@hlg-5p149-wangwenting zk-web]$ vim conf/zk-web-conf.clj

{

 :server-port 8989       # 启动端口

 :users {"hadoop" "hadoop"}   # 用户名密码,可以用来登陆

}

# 启动,测试完没有问题可以后台启动

[bfd_hz@bgsbtsp0006-dqf zk-web]$ lein run

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值