目录
2.3 创建data目录和log目录,并在data目录下创建名为myid文件
2.6 在三台机器上分别执行zookeeper命令:$ zkServer.sh start
2.7 检查每台机器的zookeeper状态:$ zkServer.sh status
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