分布式协调服务Zookeeper集群搭建

              分布式协调服务Zookeeper集群搭建

                                           作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.安装jdk环境

1>.操作环境

[root@node101.yinzhengjie.org.cn ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# uname -r
3.10.0-957.el7.x86_64
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# uname -m
x86_64
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# cat /etc/hosts | grep yinzhengjie            #注意,本片博客只有3台测试机,每台测试机器必须得配置jdk环境!
172.30.1.101 node101.yinzhengjie.org.cn
172.30.1.102 node102.yinzhengjie.org.cn
172.30.1.103 node103.yinzhengjie.org.cn
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           3.7G        331M        2.9G        9.4M        570M        3.3G
Swap:          2.0G          0B        2.0G
[root@node101.yinzhengjie.org.cn ~]# 

2>.打开Oracle官方网站下载相应的平台的安装包(https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

3>.卸载平台中已经存在的JDK版本 

[root@node101.yinzhengjie.org.cn ~]# java -version
openjdk version "1.8.0_201"
OpenJDK Runtime Environment (build 1.8.0_201-b09)
OpenJDK 64-Bit Server VM (build 25.201-b09, mixed mode)
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# rpm -qa *openjdk*
java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.5.el7.x86_64
java-1.7.0-openjdk-1.7.0.191-2.6.15.5.el7.x86_64
java-1.8.0-openjdk-headless-1.8.0.201.b09-2.el7_6.x86_64
java-11-openjdk-headless-11.0.ea.28-7.el7.x86_64
java-1.8.0-openjdk-devel-1.8.0.201.b09-2.el7_6.x86_64
java-11-openjdk-11.0.ea.28-7.el7.x86_64
java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.5.el7.x86_64          #卸载JDK版本!
[root@node101.yinzhengjie.org.cn ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.191-2.6.15.5.el7.x86_64
[root@node101.yinzhengjie.org.cn ~]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.201.b09-2.el7_6.x86_64
[root@node101.yinzhengjie.org.cn ~]# rpm -e --nodeps java-11-openjdk-headless-11.0.ea.28-7.el7.x86_64
[root@node101.yinzhengjie.org.cn ~]# rpm -e --nodeps java-1.8.0-openjdk-devel-1.8.0.201.b09-2.el7_6.x86_64
[root@node101.yinzhengjie.org.cn ~]# rpm -e --nodeps java-11-openjdk-11.0.ea.28-7.el7.x86_64
[root@node101.yinzhengjie.org.cn ~]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# rpm -qa *openjdk*
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# java -version
-bash: /usr/bin/java: No such file or directory
[root@node101.yinzhengjie.org.cn ~]#

4>.将下载的jdk版本进行解压安装并配置环境变量(如果你下载的是rpm包的oracle jdk的话就无需配置环境变量啦!)

[root@node101.yinzhengjie.org.cn ~]# mkdir /yinzhengjie/softwares -p
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# tar -zxf jdk-8u201-linux-x64.tar.gz -C /yinzhengjie/softwares/
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# ll /yinzhengjie/softwares/jdk1.8.0_201/
total 383856
drwxr-xr-x. 2   10  143      4096 Dec 16 03:45 bin
-r--r--r--. 1   10  143      3244 Dec 16 03:45 COPYRIGHT
-rw-r--r--. 1 root root 366447449 Apr  9 15:27 hadoop-2.9.2.tar.gz
drwxr-xr-x. 3   10  143      4096 Dec 16 03:45 include
-rw-r--r--. 1   10  143   5207434 Dec 12 17:07 javafx-src.zip
drwxr-xr-x. 5   10  143      4096 Dec 16 03:45 jre
drwxr-xr-x. 5   10  143      4096 Dec 16 03:45 lib
-r--r--r--. 1   10  143        40 Dec 16 03:45 LICENSE
drwxr-xr-x. 4   10  143      4096 Dec 16 03:45 man
-r--r--r--. 1   10  143       159 Dec 16 03:45 README.html
-rw-r--r--. 1   10  143       424 Dec 16 03:45 release
-rw-r--r--. 1   10  143  21103945 Dec 16 03:45 src.zip
-rw-r--r--. 1   10  143    108109 Dec 12 17:07 THIRDPARTYLICENSEREADME-JAVAFX.txt
-r--r--r--. 1   10  143    155002 Dec 16 03:45 THIRDPARTYLICENSEREADME.txt
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# tail -3 /etc/profile
#Add by yinzhengjie
JAVA_HOME=/yinzhengjie/softwares/jdk1.8.0_201
PATH=$PATH:$JAVA_HOME/bin
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# source /etc/profile
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# java -version       
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
[root@node101.yinzhengjie.org.cn ~]#

5>.将环境同步到其他节点 

[root@node101.yinzhengjie.org.cn ~]# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
Generating public/private rsa key pair.
Created directory '/root/.ssh'.
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Ytkk9uzXOlYJPLDRaUAyqDzYv1n3CRk6NjN/nuhDbDo root@node101.yinzhengjie.org.cn
The key's randomart image is:
+---[RSA 2048]----+
|     .o.oo .     |
|    .  oo +      |
| + .  o .*       |
|. =  . Bo +      |
|   o  +oSo o .   |
|    ..OoB  .o    |
|     = @.o.o.    |
|    o E oo*o     |
|       oo=+.     |
+----[SHA256]-----+
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
[root@node101.yinzhengjie.org.cn ~]# ssh-copy-id root@node102.yinzhengjie.org.cn
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host 'node102.yinzhengjie.org.cn (172.30.1.102)' can't be established.
ECDSA key fingerprint is SHA256:rDA5nSO2LcozxK76hXrtZ1xiXXZTXqQWu+wkBdpMDQA.
ECDSA key fingerprint is MD5:fd:75:9d:2b:28:ef:a2:0c:e2:c5:fc:fb:e9:5f:ee:c1.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@node102.yinzhengjie.org.cn's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@node102.yinzhengjie.org.cn'"
and check to make sure that only the key(s) you wanted were added.

[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ssh-copy-id root@node102.yinzhengjie.org.cn
[root@node101.yinzhengjie.org.cn ~]# ssh-copy-id root@node103.yinzhengjie.org.cn
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host 'node103.yinzhengjie.org.cn (172.30.1.103)' can't be established.
ECDSA key fingerprint is SHA256:5ucWsWQo98ucT5KLfpkXT9DtxurZgMQEMAtynmncvvE.
ECDSA key fingerprint is MD5:6b:fd:ed:8e:83:33:86:97:b0:4c:9f:23:87:50:85:4e.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@node103.yinzhengjie.org.cn's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@node103.yinzhengjie.org.cn'"
and check to make sure that only the key(s) you wanted were added.

[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ssh-copy-id root@node103.yinzhengjie.org.cn
[root@node101.yinzhengjie.org.cn ~]# scp -r /yinzhengjie/ root@node102.yinzhengjie.org.cn:/ 
......
org.eclipse.equinox.p2.ql_2.0.100.v20131211-1531.jar                                                                                                                             100% 8979    17.5MB/s   00:00    
org.eclipse.e4.ui.workbench.addons.swt.nl_zh_4.4.0.v20140623020002.jar                                                                                                           100% 2738     6.2MB/s   00:00    
com.jrockit.mc.flightrecorder.configuration_5.5.2.174165.jar                                                                                                                     100% 3397     7.7MB/s   00:00    
org.eclipse.equinox.p2.engine.nl_zh_4.4.0.v20140623020002.jar                                                                                                                    100% 2592     5.6MB/s   00:00    
org.eclipse.osgi.services_3.4.0.v20140312-2051.jar                                                                                                                               100%   88KB  66.5MB/s   00:00    
com.jrockit.mc.greychartplugin_5.5.2.174165.jar                                                                                                                                  100%  131KB  72.1MB/s   00:00    
org.eclipse.equinox.p2.touchpoint.natives_1.1.100.v20140523-0116.jar                                                                                                             100%   52KB  55.8MB/s   00:00    
org.eclipse.ui.net.nl_zh_4.4.0.v20140623020002.jar                                                                                                                               100% 2868     7.8MB/s   00:00    
org.eclipse.equinox.p2.ui.nl_zh_4.4.0.v20140623020002.jar                                                                                                                        100% 4529    10.3MB/s   00:00    
org.eclipse.core.filesystem_1.4.100.v20140514-1614.jar                                                                                                                           100%   57KB  47.0MB/s   00:00    
org.eclipse.equinox.p2.director.app.nl_zh_4.4.0.v20140623020002.jar                                                                                                              100% 2613     3.7MB/s   00:00    
org.eclipse.e4.core.contexts_1.3.100.v20140407-1019.jar                                                                                                                          100%   48KB  22.5MB/s   00:00    
com.jrockit.mc.rjmx.ui.ja_5.5.2.174165.jar                                                                                                                                       100% 9550    14.1MB/s   00:00    
org.eclipse.equinox.simpleconfigurator.manipulator_2.0.0.v20131217-1203.jar                                                                                                      100%   25KB  35.9MB/s   00:00    
org.eclipse.equinox.p2.engine.nl_ja_4.4.0.v20140623020002.jar                                                                                                                    100% 4522    11.0MB/s   00:00    
org.eclipse.jface.databinding_1.6.200.v20140528-1422.jar                                                                                                                         100%  271KB  89.7MB/s   00:00    
org.eclipse.core.resources_3.9.1.v20140825-1431.jar                                                                                                                              100%  814KB  90.9MB/s   00:00    
com.jrockit.mc.common_5.5.2.174165.jar                                                                                                                                           100%  240KB  86.9MB/s   00:00    
artifacts.xml                                                                                                                                                                    100% 1388     3.2MB/s   00:00    
com.oracle.jmc.executable.gtk.linux.x86_64_5.5.2                                                                                                                                 100%   43KB  45.9MB/s   00:00    
com.jrockit.mc.rcp.product_root_5.5.2.174165                                                                                                                                     100% 3816KB 101.7MB/s   00:00    
org.eclipse.rcp_root_4.4.0.v20141007-2301                                                                                                                                        100%   36KB  42.6MB/s   00:00    
org.eclipse.equinox.p2.metadata.repository.prefs                                                                                                                                 100% 3405     5.4MB/s   00:00    
org.eclipse.equinox.p2.artifact.repository.prefs                                                                                                                                 100% 8028    10.3MB/s   00:00    
1512678761228.profile.gz                                                                                                                                                         100%  105KB  65.7MB/s   00:00    
.lock                                                                                                                                                                            100%    0     0.0KB/s   00:00    
1512678763613.profile.gz                                                                                                                                                         100%  105KB  75.2MB/s   00:00    
1512678749009.profile.gz                                                                                                                                                         100%  364   982.8KB/s   00:00    
1512678748591.profile.gz                                                                                                                                                         100%  360   972.2KB/s   00:00    
ct.sym                                                                                                                                                                           100%   17MB 115.5MB/s   00:00    
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# scp -r /yinzhengjie/ root@node102.yinzhengjie.org.cn:/
[root@node101.yinzhengjie.org.cn ~]# scp -r /yinzhengjie/ root@node103.yinzhengjie.org.cn:/
......
org.eclipse.equinox.p2.ql_2.0.100.v20131211-1531.jar                                                                                                                             100% 8979    15.9MB/s   00:00    
org.eclipse.e4.ui.workbench.addons.swt.nl_zh_4.4.0.v20140623020002.jar                                                                                                           100% 2738     6.2MB/s   00:00    
com.jrockit.mc.flightrecorder.configuration_5.5.2.174165.jar                                                                                                                     100% 3397     6.4MB/s   00:00    
org.eclipse.equinox.p2.engine.nl_zh_4.4.0.v20140623020002.jar                                                                                                                    100% 2592     5.2MB/s   00:00    
org.eclipse.osgi.services_3.4.0.v20140312-2051.jar                                                                                                                               100%   88KB  58.9MB/s   00:00    
com.jrockit.mc.greychartplugin_5.5.2.174165.jar                                                                                                                                  100%  131KB  74.8MB/s   00:00    
org.eclipse.equinox.p2.touchpoint.natives_1.1.100.v20140523-0116.jar                                                                                                             100%   52KB  59.2MB/s   00:00    
org.eclipse.ui.net.nl_zh_4.4.0.v20140623020002.jar                                                                                                                               100% 2868     7.9MB/s   00:00    
org.eclipse.equinox.p2.ui.nl_zh_4.4.0.v20140623020002.jar                                                                                                                        100% 4529    10.3MB/s   00:00    
org.eclipse.core.filesystem_1.4.100.v20140514-1614.jar                                                                                                                           100%   57KB  55.4MB/s   00:00    
org.eclipse.equinox.p2.director.app.nl_zh_4.4.0.v20140623020002.jar                                                                                                              100% 2613     6.7MB/s   00:00    
org.eclipse.e4.core.contexts_1.3.100.v20140407-1019.jar                                                                                                                          100%   48KB  56.7MB/s   00:00    
com.jrockit.mc.rjmx.ui.ja_5.5.2.174165.jar                                                                                                                                       100% 9550    15.2MB/s   00:00    
org.eclipse.equinox.simpleconfigurator.manipulator_2.0.0.v20131217-1203.jar                                                                                                      100%   25KB  29.7MB/s   00:00    
org.eclipse.equinox.p2.engine.nl_ja_4.4.0.v20140623020002.jar                                                                                                                    100% 4522     8.3MB/s   00:00    
org.eclipse.jface.databinding_1.6.200.v20140528-1422.jar                                                                                                                         100%  271KB  77.4MB/s   00:00    
org.eclipse.core.resources_3.9.1.v20140825-1431.jar                                                                                                                              100%  814KB 100.5MB/s   00:00    
com.jrockit.mc.common_5.5.2.174165.jar                                                                                                                                           100%  240KB  85.6MB/s   00:00    
artifacts.xml                                                                                                                                                                    100% 1388     3.2MB/s   00:00    
com.oracle.jmc.executable.gtk.linux.x86_64_5.5.2                                                                                                                                 100%   43KB  40.6MB/s   00:00    
com.jrockit.mc.rcp.product_root_5.5.2.174165                                                                                                                                     100% 3816KB 101.1MB/s   00:00    
org.eclipse.rcp_root_4.4.0.v20141007-2301                                                                                                                                        100%   36KB  34.7MB/s   00:00    
org.eclipse.equinox.p2.metadata.repository.prefs                                                                                                                                 100% 3405     6.9MB/s   00:00    
org.eclipse.equinox.p2.artifact.repository.prefs                                                                                                                                 100% 8028    16.2MB/s   00:00    
1512678761228.profile.gz                                                                                                                                                         100%  105KB  40.2MB/s   00:00    
.lock                                                                                                                                                                            100%    0     0.0KB/s   00:00    
1512678763613.profile.gz                                                                                                                                                         100%  105KB  68.5MB/s   00:00    
1512678749009.profile.gz                                                                                                                                                         100%  364     1.1MB/s   00:00    
1512678748591.profile.gz                                                                                                                                                         100%  360   905.7KB/s   00:00    
ct.sym                                                                                                                                                                           100%   17MB 115.2MB/s   00:00    
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# scp -r /yinzhengjie/ root@node103.yinzhengjie.org.cn:/ 
[root@node101.yinzhengjie.org.cn ~]# scp /etc/profile root@node102.yinzhengjie.org.cn:/etc/
profile                                                                                                                                                                          100% 1912     2.6MB/s   00:00    
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# scp /etc/profile root@node102.yinzhengjie.org.cn:/etc/
[root@node101.yinzhengjie.org.cn ~]# scp /etc/profile root@node103.yinzhengjie.org.cn:/etc/
profile                                                                                                                                                                          100% 1912     2.5MB/s   00:00    
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# scp /etc/profile root@node103.yinzhengjie.org.cn:/etc/

6>.安装ansible软件

[root@node101.yinzhengjie.org.cn ~/Downloads]# yum -y install ansible
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
base                                                                                                                                                                                                               | 3.6 kB  00:00:00     
extras                                                                                                                                                                                                             | 3.4 kB  00:00:00     
updates                                                                                                                                                                                                            | 3.4 kB  00:00:00     
(1/2): extras/7/x86_64/primary_db                                                                                                                                                                                  | 187 kB  00:00:00     
(2/2): updates/7/x86_64/primary_db                                                                                                                                                                                 | 3.4 MB  00:00:01     
Resolving Dependencies
--> Running transaction check
---> Package ansible.noarch 0:2.4.2.0-2.el7 will be installed
--> Processing Dependency: sshpass for package: ansible-2.4.2.0-2.el7.noarch
--> Processing Dependency: python2-jmespath for package: ansible-2.4.2.0-2.el7.noarch
--> Processing Dependency: python-passlib for package: ansible-2.4.2.0-2.el7.noarch
--> Processing Dependency: python-paramiko for package: ansible-2.4.2.0-2.el7.noarch
--> Processing Dependency: python-jinja2 for package: ansible-2.4.2.0-2.el7.noarch
--> Processing Dependency: python-httplib2 for package: ansible-2.4.2.0-2.el7.noarch
--> Running transaction check
---> Package python-httplib2.noarch 0:0.9.2-1.el7 will be installed
---> Package python-jinja2.noarch 0:2.7.2-2.el7 will be installed
--> Processing Dependency: python-babel >= 0.8 for package: python-jinja2-2.7.2-2.el7.noarch
--> Processing Dependency: python-markupsafe for package: python-jinja2-2.7.2-2.el7.noarch
---> Package python-paramiko.noarch 0:2.1.1-9.el7 will be installed
---> Package python-passlib.noarch 0:1.6.5-2.el7 will be installed
---> Package python2-jmespath.noarch 0:0.9.0-3.el7 will be installed
---> Package sshpass.x86_64 0:1.06-2.el7 will be installed
--> Running transaction check
---> Package python-babel.noarch 0:0.9.6-8.el7 will be installed
---> Package python-markupsafe.x86_64 0:0.11-10.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==========================================================================================================================================================================================================================================
 Package                                                        Arch                                                Version                                                    Repository                                            Size
==========================================================================================================================================================================================================================================
Installing:
 ansible                                                        noarch                                              2.4.2.0-2.el7                                              extras                                               7.6 M
Installing for dependencies:
 python-babel                                                   noarch                                              0.9.6-8.el7                                                base                                                 1.4 M
 python-httplib2                                                noarch                                              0.9.2-1.el7                                                extras                                               115 k
 python-jinja2                                                  noarch                                              2.7.2-2.el7                                                base                                                 515 k
 python-markupsafe                                              x86_64                                              0.11-10.el7                                                base                                                  25 k
 python-paramiko                                                noarch                                              2.1.1-9.el7                                                updates                                              269 k
 python-passlib                                                 noarch                                              1.6.5-2.el7                                                extras                                               488 k
 python2-jmespath                                               noarch                                              0.9.0-3.el7                                                extras                                                39 k
 sshpass                                                        x86_64                                              1.06-2.el7                                                 extras                                                21 k

Transaction Summary
==========================================================================================================================================================================================================================================
Install  1 Package (+8 Dependent packages)

Total download size: 10 M
Installed size: 51 M
Downloading packages:
python-httplib2-0.9.2-1.el7.no FAILED                                          
http://mirrors.cloud.aliyuncs.com/centos/7/extras/x86_64/Packages/python-httplib2-0.9.2-1.el7.noarch.rpm: [Errno 14] curl#6 - "Could not resolve host: mirrors.cloud.aliyuncs.com; Unknown error"       ]  0.0 B/s |    0 B  --:--:-- ETA 
Trying other mirror.
python-jinja2-2.7.2-2.el7.noar FAILED                                          
http://mirrors.cloud.aliyuncs.com/centos/7/os/x86_64/Packages/python-jinja2-2.7.2-2.el7.noarch.rpm: [Errno 14] curl#6 - "Could not resolve host: mirrors.cloud.aliyuncs.com; Unknown error"             ]  0.0 B/s |    0 B  --:--:-- ETA 
Trying other mirror.
(1/9): python-markupsafe-0.11-10.el7.x86_64.rpm                                                                                                                                                                    |  25 kB  00:00:00     
(2/9): python-babel-0.9.6-8.el7.noarch.rpm                                                                                                                                                                         | 1.4 MB  00:00:00     
(3/9): python-paramiko-2.1.1-9.el7.noarch.rpm                                                                                                                                                                      | 269 kB  00:00:01     
(4/9): ansible-2.4.2.0-2.el7.noarch.rpm                                                                                                                                                                            | 7.6 MB  00:00:04     
(5/9): python2-jmespath-0.9.0-3.el7.noarch.rpm                                                                                                                                                                     |  39 kB  00:00:00     
(6/9): sshpass-1.06-2.el7.x86_64.rpm                                                                                                                                                                               |  21 kB  00:00:00     
(7/9): python-httplib2-0.9.2-1.el7.noarch.rpm                                                                                                                                                                      | 115 kB  00:00:00     
(8/9): python-jinja2-2.7.2-2.el7.noarch.rpm                                                                                                                                                                        | 515 kB  00:00:00     
(9/9): python-passlib-1.6.5-2.el7.noarch.rpm                                                                                                                                                                       | 488 kB  00:00:05     
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                                                     1.7 MB/s |  10 MB  00:00:06     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : python-httplib2-0.9.2-1.el7.noarch                                                                                                                                                                                     1/9 
  Installing : sshpass-1.06-2.el7.x86_64                                                                                                                                                                                              2/9 
  Installing : python-babel-0.9.6-8.el7.noarch                                                                                                                                                                                        3/9 
  Installing : python-paramiko-2.1.1-9.el7.noarch                                                                                                                                                                                     4/9 
  Installing : python2-jmespath-0.9.0-3.el7.noarch                                                                                                                                                                                    5/9 
  Installing : python-passlib-1.6.5-2.el7.noarch                                                                                                                                                                                      6/9 
  Installing : python-markupsafe-0.11-10.el7.x86_64                                                                                                                                                                                   7/9 
  Installing : python-jinja2-2.7.2-2.el7.noarch                                                                                                                                                                                       8/9 
  Installing : ansible-2.4.2.0-2.el7.noarch                                                                                                                                                                                           9/9 
  Verifying  : python-markupsafe-0.11-10.el7.x86_64                                                                                                                                                                                   1/9 
  Verifying  : python-jinja2-2.7.2-2.el7.noarch                                                                                                                                                                                       2/9 
  Verifying  : python-passlib-1.6.5-2.el7.noarch                                                                                                                                                                                      3/9 
  Verifying  : python2-jmespath-0.9.0-3.el7.noarch                                                                                                                                                                                    4/9 
  Verifying  : python-paramiko-2.1.1-9.el7.noarch                                                                                                                                                                                     5/9 
  Verifying  : python-babel-0.9.6-8.el7.noarch                                                                                                                                                                                        6/9 
  Verifying  : ansible-2.4.2.0-2.el7.noarch                                                                                                                                                                                           7/9 
  Verifying  : sshpass-1.06-2.el7.x86_64                                                                                                                                                                                              8/9 
  Verifying  : python-httplib2-0.9.2-1.el7.noarch                                                                                                                                                                                     9/9 

Installed:
  ansible.noarch 0:2.4.2.0-2.el7                                                                                                                                                                                                          

Dependency Installed:
  python-babel.noarch 0:0.9.6-8.el7      python-httplib2.noarch 0:0.9.2-1.el7  python-jinja2.noarch 0:2.7.2-2.el7  python-markupsafe.x86_64 0:0.11-10.el7  python-paramiko.noarch 0:2.1.1-9.el7  python-passlib.noarch 0:1.6.5-2.el7 
  python2-jmespath.noarch 0:0.9.0-3.el7  sshpass.x86_64 0:1.06-2.el7          

Complete!
[root@node101.yinzhengjie.org.cn ~/Downloads]# 
[root@node101.yinzhengjie.org.cn ~/Downloads]# yum -y install ansible
[root@node101.yinzhengjie.org.cn ~]# tail -5 /etc/ansible/hosts                                 #编辑ansible的主机配置文件
[namenode]
node101.yinzhengjie.org.cn

[datanode]
node[101:103].yinzhengjie.org.cn
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# tail -5 /etc/ansible/hosts                                             #编辑ansible的主机配置文件
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'ln -s /yinzhengjie/softwares/jdk1.8.0_201/bin/jps /usr/local/bin/'
 [WARNING]: Consider using file module with state=link rather than running ln

node103.yinzhengjie.org.cn | SUCCESS | rc=0 >>


node102.yinzhengjie.org.cn | SUCCESS | rc=0 >>


node101.yinzhengjie.org.cn | SUCCESS | rc=0 >>


[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'ln -s /yinzhengjie/softwares/jdk1.8.0_201/bin/jps /usr/local/bin/'      #测试ansible是否可用

二.搭建zookeeper集群

1>.下载zookeeper软件(下载地址:https://www.apache.org/dyn/closer.cgi/zookeeper/ 

[root@node101.yinzhengjie.org.cn ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
--2019-04-12 08:48:40--  https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
Resolving mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)... 101.6.8.193, 2402:f000:1:408:8100::1
Connecting to mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)|101.6.8.193|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 37676320 (36M) [application/x-gzip]
Saving to: ‘zookeeper-3.4.14.tar.gz’

100%[============================================================================================================================================>] 37,676,320  7.57MB/s   in 4.5s   

2019-04-12 08:48:45 (7.94 MB/s) - ‘zookeeper-3.4.14.tar.gz’ saved [37676320/37676320]

[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

2>.解压zookeeper并配置环境变量

[root@node101.yinzhengjie.org.cn ~]# tar -zxf zookeeper-3.4.14.tar.gz -C /yinzhengjie/softwares/
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ll /yinzhengjie/softwares/zookeeper-3.4.14/
total 1672
drwxr-xr-x  2 2002 2002     202 Mar  6 09:09 bin
-rw-rw-r--  1 2002 2002   97426 Mar  6 08:50 build.xml
drwxr-xr-x  2 2002 2002      77 Mar  6 09:09 conf
drwxr-xr-x  2 2002 2002    4096 Mar  6 09:10 dist-maven
-rw-rw-r--  1 2002 2002    1709 Mar  6 08:50 ivysettings.xml
-rw-rw-r--  1 2002 2002   10742 Mar  6 08:50 ivy.xml
drwxr-xr-x  4 2002 2002     308 Mar  6 09:09 lib
-rw-rw-r--  1 2002 2002   11970 Mar  6 08:50 LICENSE.txt
-rw-rw-r--  1 2002 2002    3132 Mar  6 08:50 NOTICE.txt
-rw-rw-r--  1 2002 2002   31622 Mar  6 08:50 pom.xml
-rw-rw-r--  1 2002 2002    1765 Mar  6 08:50 README.md
-rw-rw-r--  1 2002 2002    1770 Mar  6 08:50 README_packaging.txt
drwxr-xr-x  3 2002 2002      22 Mar  6 08:50 src
-rw-rw-r--  1 2002 2002 1515359 Mar  6 08:50 zookeeper-3.4.14.jar
-rw-rw-r--  1 2002 2002     836 Mar  6 09:10 zookeeper-3.4.14.jar.asc
-rw-rw-r--  1 2002 2002      33 Mar  6 08:50 zookeeper-3.4.14.jar.md5
-rw-rw-r--  1 2002 2002      41 Mar  6 08:50 zookeeper-3.4.14.jar.sha1
drwxr-xr-x  3 2002 2002      47 Mar  6 09:09 zookeeper-client
drwxr-xr-x 12 2002 2002    4096 Mar  6 09:09 zookeeper-contrib
drwxr-xr-x  7 2002 2002    4096 Mar  6 09:09 zookeeper-docs
drwxr-xr-x  3 2002 2002      35 Mar  6 09:09 zookeeper-it
drwxr-xr-x  4 2002 2002      46 Mar  6 09:09 zookeeper-jute
drwxr-xr-x  5 2002 2002     176 Mar  6 09:09 zookeeper-recipes
drwxr-xr-x  3 2002 2002      32 Mar  6 09:09 zookeeper-server
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# tar -zxf zookeeper-3.4.14.tar.gz -C /yinzhengjie/softwares/
[root@node101.yinzhengjie.org.cn ~]# tail -3 /etc/profile
#ADD ZOOKEEPER_HOME PATH
ZOOKEEPER_HOME=/yinzhengjie/softwares/zookeeper-3.4.14
PATH=$PATH:$ZOOKEEPER_HOME/bin
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# source /etc/profile
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# tail -3 /etc/profile

3>.配置zookeeper的配置文件

[root@node101.yinzhengjie.org.cn ~]# cp /yinzhengjie/softwares/zookeeper-3.4.14/conf/zoo_sample.cfg /yinzhengjie/softwares/zookeeper-3.4.14/conf/zoo.cfg 
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ll /yinzhengjie/softwares/zookeeper-3.4.14/conf/
total 16
-rw-rw-r-- 1 2002 2002  535 Mar  6 08:50 configuration.xsl
-rw-rw-r-- 1 2002 2002 2161 Mar  6 08:50 log4j.properties
-rw-r--r-- 1 root root  922 Apr 12 08:55 zoo.cfg
-rw-rw-r-- 1 2002 2002  922 Mar  6 08:50 zoo_sample.cfg
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# cp /yinzhengjie/softwares/zookeeper-3.4.14/conf/zoo_sample.cfg /yinzhengjie/softwares/zookeeper-3.4.14/conf/zoo.cfg
[root@node101.yinzhengjie.org.cn ~]# cat /yinzhengjie/softwares/zookeeper-3.4.14/conf/zoo.cfg 
# 滴答,计时的基本单位,默认是2000毫秒,即2秒。它是zookeeper最小的时间单位,用于丈量心跳时间和超时时间等,通常设置成默认2秒即可。
tickTime=2000

# 初始化限制是10滴答,默认是10个滴答,即默认是20秒。指定follower节点初始化是链接leader节点的最大tick次数。
initLimit=5

# 数据同步的时间限制,默认是5个滴答,即默认时间是10秒。设定了follower节点与leader节点进行同步的最大时间。与initLimit类似,它也是以tickTime为单位进行指定的。
syncLimit=2

# 指定zookeeper的工作目录,这是一个非常重要的参数,zookeeper会在内存中在内存只能中保存系统快照,并定期写入该路径指定的文件夹中。生产环境中需要注意该文件夹的磁盘占用情况。
dataDir=/home/yinzhengjie/zookeeper

# 监听zookeeper的默认端口。zookeeper监听客户端链接的端口,一般设置成默认2181即可。
clientPort=2181

# 这个操作将限制连接到 ZooKeeper 的客户端的数量,限制并发连接的数量,它通过 IP 来区分不同的客户端。此配置选项可以用来阻止某些类别的 Dos 攻击。将它设置为 0 或者忽略而不进行设置将会取消对并发连接的限制。
#maxClientCnxns=60
 
# 在上文中已经提到,3.4.0及之后版本,ZK提供了自动清理事务日志和快照文件的功能,这个参数指定了清理频率,单位是小时,需要配置一个1或更大的整数,默认是0,表示不开启自动清理功能。
#autopurge.purgeInterval=1

# 这个参数和上面的参数搭配使用,这个参数指定了需要保留的文件数目。默认是保留3个。
#autopurge.snapRetainCount=3

#server.x=[hostname]:nnnnn[:nnnnn],这里的x是一个数字,与myid文件中的id是一致的。右边可以配置两个端口,第一个端口用于F和L之间的数据同步和其它通信,第二个端口用于Leader选举过程中投票通信。  
server.101=node101.yinzhengjie.org.cn:2888:3888
server.102=node102.yinzhengjie.org.cn:2888:3888
server.103=node103.yinzhengjie.org.cn:2888:3888
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# cat /yinzhengjie/softwares/zookeeper-3.4.14/conf/zoo.cfg
[root@node101.yinzhengjie.org.cn ~]# cat /yinzhengjie/softwares/zookeeper-3.4.14/conf/java.env
#!/bin/bash
#@author :yinzhengjie
#blog:http://www.cnblogs.com/yinzhengjie
#EMAIL:y1053419035@qq.com

#指定JDK的安装路径
export JAVA_HOME=/yinzhengjie/softwares/jdk1.8.0_201

#指定zookeeper的heap内存大小
export JVMFLAGS="-Xms256m -Xmx256m $JVMFLAGS"
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# cat /yinzhengjie/softwares/zookeeper-3.4.14/conf/java.env          #创建配置zookeeper的堆内存配置文件

4>.编写zookeeper的启动脚本

[root@node101.yinzhengjie.org.cn ~]# vi /usr/local/bin/xzk.sh
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# cat /usr/local/bin/xzk.sh
#!/bin/bash
#@author :yinzhengjie
#blog:http://www.cnblogs.com/yinzhengjie
#EMAIL:y1053419035@qq.com

#判断用户是否传参
if [ $# -ne 1 ];then
    echo "无效参数,用法为: $0  {start|stop|restart|status}"
    exit
fi

#获取用户输入的命令
cmd=$1

#定义函数功能
function zookeeperManger(){
    case $cmd in
    start)
        echo "启动服务"        
        remoteExecution start
        ;;
    stop)
        echo "停止服务"
        remoteExecution stop
        ;;
    restart)
        echo "重启服务"
        remoteExecution restart
        ;;
    status)
        echo "查看状态"
        remoteExecution status
        ;;
    *)
        echo "无效参数,用法为: $0  {start|stop|restart|status}"
        ;;
    esac
}


#定义执行的命令
function remoteExecution(){
    for (( i=101 ; i<=103 ; i++ )) ; do
            tput setaf 2
            echo ========== node${i}.yinzhengjie.org.cn zkServer.sh  $1 ================
            tput setaf 9
            ssh node${i}.yinzhengjie.org.cn  "source /etc/profile ; zkServer.sh $1"
    done
}

#调用函数
zookeeperManger
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# vi /usr/local/bin/xzk.sh
[root@node101.yinzhengjie.org.cn ~]# ll /usr/local/bin/xzk.sh
-rw-r--r-- 1 root root 1125 Apr 12 09:03 /usr/local/bin/xzk.sh
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# chmod +x /usr/local/bin/xzk.sh
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ll /usr/local/bin/xzk.sh
-rwxr-xr-x 1 root root 1125 Apr 12 09:03 /usr/local/bin/xzk.sh
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# chmod +x /usr/local/bin/xzk.sh

5>.创建myid文件并写入服务器编号

[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'mkdir /home/yinzhengjie/zookeeper/'
 [WARNING]: Consider using file module with state=directory rather than running mkdir

node101.yinzhengjie.org.cn | SUCCESS | rc=0 >>


node103.yinzhengjie.org.cn | SUCCESS | rc=0 >>


node102.yinzhengjie.org.cn | SUCCESS | rc=0 >>


[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'mkdir /home/yinzhengjie/zookeeper/'
[root@node101.yinzhengjie.org.cn ~]# for (( i=101;i<=103;i++ )) do ssh node${i}.yinzhengjie.org.cn "echo -n $i > /home/yinzhengjie/zookeeper/myid" ;done
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'cat /home/yinzhengjie/zookeeper/myid'
node102.yinzhengjie.org.cn | SUCCESS | rc=0 >>
102

node103.yinzhengjie.org.cn | SUCCESS | rc=0 >>
103

node101.yinzhengjie.org.cn | SUCCESS | rc=0 >>
101

[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# for (( i=101;i<=103;i++ )) do ssh node${i}.yinzhengjie.org.cn "echo -n $i > /home/yinzhengjie/zookeeper/myid" ;done

6>.分发配置文件

[root@node101.yinzhengjie.org.cn ~]# scp /etc/profile node102.yinzhengjie.org.cn:/etc/
profile                                                                                                                                             100% 2127     1.2MB/s   00:00    
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# scp /etc/profile node102.yinzhengjie.org.cn:/etc/
[root@node101.yinzhengjie.org.cn ~]# scp /etc/profile node103.yinzhengjie.org.cn:/etc/
profile                                                                                                                                             100% 2127     1.4MB/s   00:00    
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# scp /etc/profile node103.yinzhengjie.org.cn:/etc/
[root@node101.yinzhengjie.org.cn ~]# scp -r /yinzhengjie/softwares/zookeeper-3.4.14/ node102.yinzhengjie.org.cn:/yinzhengjie/softwares/
........
log.42                                                                                                                                              100%  184   128.3KB/s   00:00    
log.63b                                                                                                                                             100%   48KB  22.7MB/s   00:00    
snapshot.0                                                                                                                                          100%  296   277.6KB/s   00:00    
snapshot.272                                                                                                                                        100%   55KB  26.5MB/s   00:00    
snapshot.273                                                                                                                                        100%   55KB  24.3MB/s   00:00    
snapshot.639                                                                                                                                        100%  140KB  27.2MB/s   00:00    
snapshot.83f                                                                                                                                        100% 4824     3.5MB/s   00:00    
minikdc-krb5.conf                                                                                                                                   100% 1103     1.3MB/s   00:00    
minikdc.ldiff                                                                                                                                       100% 1630     2.2MB/s   00:00    
log.100000001                                                                                                                                       100% 2401KB  50.2MB/s   00:00    
log.100001bf0                                                                                                                                       100% 1001KB  59.6MB/s   00:00    
snapshot.100000000                                                                                                                                  100%   73    17.1KB/s   00:00    
snapshot.100001bec                                                                                                                                  100% 2507KB  61.6MB/s   00:00    
check_compatibility.py                                                                                                                              100% 7212     4.7MB/s   00:00    
checkstyle-noframes-sorted.xsl                                                                                                                      100% 5489     6.5MB/s   00:00    
checkstyle.xml                                                                                                                                      100% 7489     7.3MB/s   00:00    
findbugsExcludeFile.xml                                                                                                                             100% 5027     6.6MB/s   00:00    
log4j.properties                                                                                                                                    100% 2712     1.9MB/s   00:00    
test-patch.properties                                                                                                                               100%  855   930.7KB/s   00:00    
test-github-pr.sh                                                                                                                                   100%   24KB   9.7MB/s   00:00    
test-patch.sh                                                                                                                                       100%   24KB  19.4MB/s   00:00    
pom.xml                                                                                                                                             100%   10KB   7.6MB/s   00:00    
LICENSE.txt                                                                                                                                         100%   12KB   5.9MB/s   00:00    
NOTICE.txt                                                                                                                                          100% 3132     1.2MB/s   00:00    
README.md                                                                                                                                           100% 1765     1.4MB/s   00:00    
README_packaging.txt                                                                                                                                100% 1770     2.5MB/s   00:00    
build.xml                                                                                                                                           100%   95KB  39.5MB/s   00:00    
ivy.xml                                                                                                                                             100%   10KB   8.2MB/s   00:00    
ivysettings.xml                                                                                                                                     100% 1709     1.3MB/s   00:00    
pom.xml                                                                                                                                             100%   31KB   8.9MB/s   00:00    
zookeeper-3.4.14.jar                                                                                                                                100% 1480KB  41.5MB/s   00:00    
zookeeper-3.4.14.jar.md5                                                                                                                            100%   33    25.6KB/s   00:00    
zookeeper-3.4.14.jar.sha1                                                                                                                           100%   41    60.7KB/s   00:00    
zookeeper-3.4.14.jar.asc                                                                                                                            100%  836     1.2MB/s   00:00    
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# scp -r /yinzhengjie/softwares/zookeeper-3.4.14/ node102.yinzhengjie.org.cn:/yinzhengjie/softwares/
[root@node101.yinzhengjie.org.cn ~]# scp -r /yinzhengjie/softwares/zookeeper-3.4.14/ node103.yinzhengjie.org.cn:/yinzhengjie/softwares/

......
snapshot.273                                                                                                                                        100%   55KB  14.8MB/s   00:00    
snapshot.639                                                                                                                                        100%  140KB  21.7MB/s   00:00    
snapshot.83f                                                                                                                                        100% 4824     4.4MB/s   00:00    
minikdc-krb5.conf                                                                                                                                   100% 1103     1.0MB/s   00:00    
minikdc.ldiff                                                                                                                                       100% 1630     1.4MB/s   00:00    
log.100000001                                                                                                                                       100% 2401KB  53.2MB/s   00:00    
log.100001bf0                                                                                                                                       100% 1001KB  46.5MB/s   00:00    
snapshot.100000000                                                                                                                                  100%   73    40.2KB/s   00:00    
snapshot.100001bec                                                                                                                                  100% 2507KB  57.4MB/s   00:00    
check_compatibility.py                                                                                                                              100% 7212     1.4MB/s   00:00    
checkstyle-noframes-sorted.xsl                                                                                                                      100% 5489     4.4MB/s   00:00    
checkstyle.xml                                                                                                                                      100% 7489     5.0MB/s   00:00    
findbugsExcludeFile.xml                                                                                                                             100% 5027     4.2MB/s   00:00    
log4j.properties                                                                                                                                    100% 2712     2.5MB/s   00:00    
test-patch.properties                                                                                                                               100%  855   376.7KB/s   00:00    
test-github-pr.sh                                                                                                                                   100%   24KB   6.3MB/s   00:00    
test-patch.sh                                                                                                                                       100%   24KB  13.5MB/s   00:00    
pom.xml                                                                                                                                             100%   10KB   6.5MB/s   00:00    
LICENSE.txt                                                                                                                                         100%   12KB   4.9MB/s   00:00    
NOTICE.txt                                                                                                                                          100% 3132     2.8MB/s   00:00    
README.md                                                                                                                                           100% 1765     1.9MB/s   00:00    
README_packaging.txt                                                                                                                                100% 1770     1.6MB/s   00:00    
build.xml                                                                                                                                           100%   95KB  27.3MB/s   00:00    
ivy.xml                                                                                                                                             100%   10KB  10.1MB/s   00:00    
ivysettings.xml                                                                                                                                     100% 1709     1.3MB/s   00:00    
pom.xml                                                                                                                                             100%   31KB  13.6MB/s   00:00    
zookeeper-3.4.14.jar                                                                                                                                100% 1480KB  42.5MB/s   00:00    
zookeeper-3.4.14.jar.md5                                                                                                                            100%   33    38.8KB/s   00:00    
zookeeper-3.4.14.jar.sha1                                                                                                                           100%   41    29.3KB/s   00:00    
zookeeper-3.4.14.jar.asc                                                                                                                            100%  836   690.2KB/s   00:00    
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# scp -r /yinzhengjie/softwares/zookeeper-3.4.14/ node103.yinzhengjie.org.cn:/yinzhengjie/softwares/

7>.启动zookeeper集群

[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'grep SELINUX= /etc/selinux/config |  grep -v ^#'
node102.yinzhengjie.org.cn | SUCCESS | rc=0 >>
SELINUX=enforcing

node103.yinzhengjie.org.cn | SUCCESS | rc=0 >>
SELINUX=enforcing

node101.yinzhengjie.org.cn | SUCCESS | rc=0 >>
SELINUX=enforcing

[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'grep SELINUX= /etc/selinux/config | grep -v ^#'
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'sed -i s#SELINUX=enforcing#SELINUX=disabled# /etc/selinux/config'
 [WARNING]: Consider using template or lineinfile module rather than running sed

node103.yinzhengjie.org.cn | SUCCESS | rc=0 >>


node102.yinzhengjie.org.cn | SUCCESS | rc=0 >>


node101.yinzhengjie.org.cn | SUCCESS | rc=0 >>


[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'sed -i s#SELINUX=enforcing#SELINUX=disabled# /etc/selinux/config'
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'grep SELINUX= /etc/selinux/config |  grep -v ^#'                 
node102.yinzhengjie.org.cn | SUCCESS | rc=0 >>
SELINUX=disabled

node103.yinzhengjie.org.cn | SUCCESS | rc=0 >>
SELINUX=disabled

node101.yinzhengjie.org.cn | SUCCESS | rc=0 >>
SELINUX=disabled

[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'grep SELINUX= /etc/selinux/config | grep -v ^#'
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'getenforce'                                                      
node103.yinzhengjie.org.cn | SUCCESS | rc=0 >>
Enforcing

node102.yinzhengjie.org.cn | SUCCESS | rc=0 >>
Enforcing

node101.yinzhengjie.org.cn | SUCCESS | rc=0 >>
Enforcing

[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'getenforce'
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'setenforce 0' 
node103.yinzhengjie.org.cn | SUCCESS | rc=0 >>


node102.yinzhengjie.org.cn | SUCCESS | rc=0 >>


node101.yinzhengjie.org.cn | SUCCESS | rc=0 >>


[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'setenforce 0'
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'getenforce'
node102.yinzhengjie.org.cn | SUCCESS | rc=0 >>
Permissive

node103.yinzhengjie.org.cn | SUCCESS | rc=0 >>
Permissive

node101.yinzhengjie.org.cn | SUCCESS | rc=0 >>
Permissive

[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'getenforce'                            #以上操作是禁用selinux
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'systemctl status firewalld'
node103.yinzhengjie.org.cn | SUCCESS | rc=0 >>
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-04-23 11:22:42 CST; 2 days ago
     Docs: man:firewalld(1)
 Main PID: 3916 (firewalld)
    Tasks: 2
   CGroup: /system.slice/firewalld.service
           └─3916 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

Apr 23 11:22:41 node103.yinzhengjie.org.cn systemd[1]: Starting firewalld - dynamic firewall daemon...
Apr 23 11:22:42 node103.yinzhengjie.org.cn systemd[1]: Started firewalld - dynamic firewall daemon.

node102.yinzhengjie.org.cn | SUCCESS | rc=0 >>
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-04-23 11:22:27 CST; 2 days ago
     Docs: man:firewalld(1)
 Main PID: 3929 (firewalld)
    Tasks: 2
   CGroup: /system.slice/firewalld.service
           └─3929 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

Apr 23 11:22:26 node102.yinzhengjie.org.cn systemd[1]: Starting firewalld - dynamic firewall daemon...
Apr 23 11:22:27 node102.yinzhengjie.org.cn systemd[1]: Started firewalld - dynamic firewall daemon.

node101.yinzhengjie.org.cn | SUCCESS | rc=0 >>
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-04-23 11:22:10 CST; 2 days ago
     Docs: man:firewalld(1)
 Main PID: 4068 (firewalld)
    Tasks: 2
   CGroup: /system.slice/firewalld.service
           └─4068 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

Apr 23 11:22:09 node101.yinzhengjie.org.cn systemd[1]: Starting firewalld - dynamic firewall daemon...
Apr 23 11:22:10 node101.yinzhengjie.org.cn systemd[1]: Started firewalld - dynamic firewall daemon.

[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'systemctl status firewalld'
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'systemctl stop firewalld'  
node101.yinzhengjie.org.cn | SUCCESS | rc=0 >>


node102.yinzhengjie.org.cn | SUCCESS | rc=0 >>


node103.yinzhengjie.org.cn | SUCCESS | rc=0 >>


[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'systemctl stop firewalld'
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'systemctl disable firewalld'
node101.yinzhengjie.org.cn | SUCCESS | rc=0 >>
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

node103.yinzhengjie.org.cn | SUCCESS | rc=0 >>
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

node102.yinzhengjie.org.cn | SUCCESS | rc=0 >>
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'systemctl disable firewalld'  
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'systemctl status firewalld'   
node103.yinzhengjie.org.cn | FAILED | rc=3 >>
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

Apr 23 11:22:41 node103.yinzhengjie.org.cn systemd[1]: Starting firewalld - dynamic firewall daemon...
Apr 23 11:22:42 node103.yinzhengjie.org.cn systemd[1]: Started firewalld - dynamic firewall daemon.
Apr 25 14:50:48 node103.yinzhengjie.org.cn systemd[1]: Stopping firewalld - dynamic firewall daemon...
Apr 25 14:50:49 node103.yinzhengjie.org.cn systemd[1]: Stopped firewalld - dynamic firewall daemon.non-zero return code

node102.yinzhengjie.org.cn | FAILED | rc=3 >>
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

Apr 23 11:22:26 node102.yinzhengjie.org.cn systemd[1]: Starting firewalld - dynamic firewall daemon...
Apr 23 11:22:27 node102.yinzhengjie.org.cn systemd[1]: Started firewalld - dynamic firewall daemon.
Apr 25 14:50:48 node102.yinzhengjie.org.cn systemd[1]: Stopping firewalld - dynamic firewall daemon...
Apr 25 14:50:49 node102.yinzhengjie.org.cn systemd[1]: Stopped firewalld - dynamic firewall daemon.non-zero return code

node101.yinzhengjie.org.cn | FAILED | rc=3 >>
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

Apr 23 11:22:09 node101.yinzhengjie.org.cn systemd[1]: Starting firewalld - dynamic firewall daemon...
Apr 23 11:22:10 node101.yinzhengjie.org.cn systemd[1]: Started firewalld - dynamic firewall daemon.
Apr 25 14:50:48 node101.yinzhengjie.org.cn systemd[1]: Stopping firewalld - dynamic firewall daemon...
Apr 25 14:50:49 node101.yinzhengjie.org.cn systemd[1]: Stopped firewalld - dynamic firewall daemon.non-zero return code

[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'systemctl status firewalld'                    #以上操作是禁用firewalld
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'jps'
node101.yinzhengjie.org.cn | SUCCESS | rc=0 >>
Jps

node103.yinzhengjie.org.cn | SUCCESS | rc=0 >>
Jps

node102.yinzhengjie.org.cn | SUCCESS | rc=0 >>
Jps

[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'jps'
[root@node101.yinzhengjie.org.cn ~]# xzk.sh start
启动服务
========== node101.yinzhengjie.org.cn zkServer.sh start ================
ZooKeeper JMX enabled by default
Using config: /yinzhengjie/softwares/zookeeper-3.4.14/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
========== node102.yinzhengjie.org.cn zkServer.sh start ================
ZooKeeper JMX enabled by default
Using config: /yinzhengjie/softwares/zookeeper-3.4.14/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
========== node103.yinzhengjie.org.cn zkServer.sh start ================
ZooKeeper JMX enabled by default
Using config: /yinzhengjie/softwares/zookeeper-3.4.14/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# xzk.sh start
[root@node101.yinzhengjie.org.cn ~]# xzk.sh status
查看状态
========== node101.yinzhengjie.org.cn zkServer.sh status ================
ZooKeeper JMX enabled by default
Using config: /yinzhengjie/softwares/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: follower
========== node102.yinzhengjie.org.cn zkServer.sh status ================
ZooKeeper JMX enabled by default
Using config: /yinzhengjie/softwares/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: leader
========== node103.yinzhengjie.org.cn zkServer.sh status ================
ZooKeeper JMX enabled by default
Using config: /yinzhengjie/softwares/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: follower
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# xzk.sh status
[root@node101.yinzhengjie.org.cn ~]#  ansible all -m shell -a 'jps'
node103.yinzhengjie.org.cn | SUCCESS | rc=0 >>
QuorumPeerMain
Jps

node102.yinzhengjie.org.cn | SUCCESS | rc=0 >>
QuorumPeerMain
Jps

node101.yinzhengjie.org.cn | SUCCESS | rc=0 >>
QuorumPeerMain
Jps

[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'jps'
[root@node101.yinzhengjie.org.cn ~]# zkCli.sh 
Connecting to localhost:2181
2019-04-12 09:23:04,270 [myid:] - INFO  [main:Environment@100] - Client environment:zookeeper.version=3.4.14-4c25d480e66aadd371de8bd2fd8da255ac140bcf, built on 03/06/2019 16:18 GMT
2019-04-12 09:23:04,272 [myid:] - INFO  [main:Environment@100] - Client environment:host.name=node101.yinzhengjie.org.cn
2019-04-12 09:23:04,273 [myid:] - INFO  [main:Environment@100] - Client environment:java.version=1.8.0_201
2019-04-12 09:23:04,275 [myid:] - INFO  [main:Environment@100] - Client environment:java.vendor=Oracle Corporation
2019-04-12 09:23:04,275 [myid:] - INFO  [main:Environment@100] - Client environment:java.home=/yinzhengjie/softwares/jdk1.8.0_201/jre
2019-04-12 09:23:04,275 [myid:] - INFO  [main:Environment@100] - Client environment:java.class.path=/yinzhengjie/softwares/zookeeper-3.4.14/bin/../zookeeper-server/target/classes:/yinzhengjie/softwares/zookeeper-3.4.14/bin/../build/classes:/yinzhengjie/softwares/zookeeper-3.4.14/bin/../zookeeper-server/target/lib/*.jar:/yinzhengjie/softwares/zookeeper-3.4.14/bin/../build/lib/*.jar:/yinzhengjie/softwares/zookeeper-3.4.14/bin/../lib/slf4j-log4j12-1.7.25.jar:/yinzhengjie/softwares/zookeeper-3.4.14/bin/../lib/slf4j-api-1.7.25.jar:/yinzhengjie/softwares/zookeeper-3.4.14/bin/../lib/netty-3.10.6.Final.jar:/yinzhengjie/softwares/zookeeper-3.4.14/bin/../lib/log4j-1.2.17.jar:/yinzhengjie/softwares/zookeeper-3.4.14/bin/../lib/jline-0.9.94.jar:/yinzhengjie/softwares/zookeeper-3.4.14/bin/../lib/audience-annotations-0.5.0.jar:/yinzhengjie/softwares/zookeeper-3.4.14/bin/../zookeeper-3.4.14.jar:/yinzhengjie/softwares/zookeeper-3.4.14/bin/../zookeeper-server/src/main/resources/lib/*.jar:/yinzhengjie/softwares/zookeeper-3.4.14/bin/../conf:
2019-04-12 09:23:04,275 [myid:] - INFO  [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2019-04-12 09:23:04,275 [myid:] - INFO  [main:Environment@100] - Client environment:java.io.tmpdir=/tmp
2019-04-12 09:23:04,275 [myid:] - INFO  [main:Environment@100] - Client environment:java.compiler=<NA>
2019-04-12 09:23:04,275 [myid:] - INFO  [main:Environment@100] - Client environment:os.name=Linux
2019-04-12 09:23:04,275 [myid:] - INFO  [main:Environment@100] - Client environment:os.arch=amd64
2019-04-12 09:23:04,275 [myid:] - INFO  [main:Environment@100] - Client environment:os.version=3.10.0-957.el7.x86_64
2019-04-12 09:23:04,276 [myid:] - INFO  [main:Environment@100] - Client environment:user.name=root
2019-04-12 09:23:04,276 [myid:] - INFO  [main:Environment@100] - Client environment:user.home=/root
2019-04-12 09:23:04,276 [myid:] - INFO  [main:Environment@100] - Client environment:user.dir=/root
2019-04-12 09:23:04,277 [myid:] - INFO  [main:ZooKeeper@442] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@5ce65a89
Welcome to ZooKeeper!
2019-04-12 09:23:04,303 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@1025] - Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
JLine support is enabled
2019-04-12 09:23:04,365 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@879] - Socket connection established to localhost/127.0.0.1:2181, initiating session
2019-04-12 09:23:04,395 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@1299] - Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x6500007f14d00000, negotiated timeout = 30000

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0] ls /
[zookeeper]
[zk: localhost:2181(CONNECTED) 1] ls /zookeeper
[quota]
[zk: localhost:2181(CONNECTED) 2] ls /zookeeper/quota
[]
[zk: localhost:2181(CONNECTED) 3] quit
Quitting...
2019-04-12 09:23:13,101 [myid:] - INFO  [main:ZooKeeper@693] - Session: 0x6500007f14d00000 closed
2019-04-12 09:23:13,102 [myid:] - INFO  [main-EventThread:ClientCnxn$EventThread@522] - EventThread shut down for session: 0x6500007f14d00000
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# zkCli.sh                                              #测试zookeeper是否可用

三.zookeeper客户端四字符指令

  ZooKeeper 支持某些特定的四字命令字母与其的交互。它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。用户在客户端可以通过 telnet 或 nc 向 ZooKeeper 提交相应的命令,接下来我们一起体验一下吧。

[root@node101.yinzhengjie.org.cn ~]#  echo conf |  nc node101.yinzhengjie.org.cn 2181            #查看配置信息
clientPort=2181
dataDir=/home/yinzhengjie/zookeeper/version-2
dataLogDir=/home/yinzhengjie/zookeeper/version-2
tickTime=2000
maxClientCnxns=60
minSessionTimeout=4000
maxSessionTimeout=40000
serverId=101
initLimit=5
syncLimit=2
electionAlg=3
electionPort=3888
quorumPort=2888
peerType=0
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# echo conf | nc node101.yinzhengjie.org.cn 2181              #查看配置信息,输出相关服务配置的详细信息
[root@node101.yinzhengjie.org.cn ~]# echo ruok |  nc node101.yinzhengjie.org.cn 2181           #注意,他会恢复一个字符串为“imok”,表示其为存活状态
imok[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# echo ruok |  nc node102.yinzhengjie.org.cn 2181           #注意,如果恢复的不是"imok",那就说明该节点挂掉啦!注意管擦好输出结果哟!
Ncat: Connection refused.
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# echo ruok |  nc node103.yinzhengjie.org.cn 2181 
imok[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# echo ruok | nc node102.yinzhengjie.org.cn 2181               #注意,如果恢复的不是"imok",那就说明该节点挂掉啦!注意观察输出结果哟!
[root@node101.yinzhengjie.org.cn ~]# echo envi | nc node103.yinzhengjie.org.cn 2181              #查看指定zookeeper主机环境变量
Environment:
zookeeper.version=3.4.14-4c25d480e66aadd371de8bd2fd8da255ac140bcf, built on 03/06/2019 16:18 GMT
host.name=node103.yinzhengjie.org.cn
java.version=1.8.0_201
java.vendor=Oracle Corporation
java.home=/yinzhengjie/softwares/jdk1.8.0_201/jre
java.class.path=/yinzhengjie/softwares/zookeeper-3.4.14/bin/../zookeeper-server/target/classes:/yinzhengjie/softwares/zookeeper-3.4.14/bin/../build/classes:/yinzhengjie/softwares/zookeeper-3.4.14/bin/../zookeeper-server/target/lib/*.jar:/yinzhengjie/softwares/zookeeper-3.4.14/bin/../build/lib/*.jar:/yinzhengjie/softwares/zookeeper-3.4.14/bin/../lib/slf4j-log4j12-1.7.25.jar:/yinzhengjie/softwares/zookeeper-3.4.14/bin/../lib/slf4j-api-1.7.25.jar:/yinzhengjie/softwares/zookeeper-3.4.14/bin/../lib/netty-3.10.6.Final.jar:/yinzhengjie/softwares/zookeeper-3.4.14/bin/../lib/log4j-1.2.17.jar:/yinzhengjie/softwares/zookeeper-3.4.14/bin/../lib/jline-0.9.94.jar:/yinzhengjie/softwares/zookeeper-3.4.14/bin/../lib/audience-annotations-0.5.0.jar:/yinzhengjie/softwares/zookeeper-3.4.14/bin/../zookeeper-3.4.14.jar:/yinzhengjie/softwares/zookeeper-3.4.14/bin/../zookeeper-server/src/main/resources/lib/*.jar:/yinzhengjie/softwares/zookeeper-3.4.14/bin/../conf:
java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
java.io.tmpdir=/tmp
java.compiler=<NA>
os.name=Linux
os.arch=amd64
os.version=3.10.0-957.el7.x86_64
user.name=root
user.home=/root
user.dir=/root
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# echo envi | nc node103.yinzhengjie.org.cn 2181              #查看指定zookeeper主机环境变量,输出关于服务环境的详细信息
[root@node101.yinzhengjie.org.cn ~]# echo cons | nc node103.yinzhengjie.org.cn 2181 
 /172.30.1.102:57816[1](queued=0,recved=20,sent=20,sid=0x67000b2416210000,lop=PING,est=1556176886312,to=30000,lcxid=0x1,lzxid=0xffffffffffffffff,lresp=187317065,llat=0,minlat=0,avglat=0,maxlat=5)
 /172.30.1.101:57124[0](queued=0,recved=1,sent=0)
 /127.0.0.1:50638[1](queued=0,recved=17,sent=17,sid=0x67000b2416210001,lop=GETC,est=1556176940249,to=30000,lcxid=0x4,lzxid=0x400000005,lresp=187315052,llat=1,minlat=0,avglat=0,maxlat=4)

[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# echo cons | nc node103.yinzhengjie.org.cn 2181              #查看终端链接信息
[root@node101.yinzhengjie.org.cn ~]# echo dump | nc node103.yinzhengjie.org.cn 2181                 #查看未处理会话的节点
SessionTracker dump:
org.apache.zookeeper.server.quorum.LearnerSessionTracker@515b070f
ephemeral nodes dump:
Sessions with Ephemerals (0):
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# echo dump | nc node103.yinzhengjie.org.cn 2181               #查看未处理会话的节点
[root@node101.yinzhengjie.org.cn ~]# echo stat | nc node103.yinzhengjie.org.cn 2181                 #查看统计信息
Zookeeper version: 3.4.14-4c25d480e66aadd371de8bd2fd8da255ac140bcf, built on 03/06/2019 16:18 GMT
Clients:
 /172.30.1.102:57816[1](queued=0,recved=36,sent=36)
 /127.0.0.1:50638[1](queued=0,recved=33,sent=33)
 /172.30.1.101:57128[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0/5
Received: 84
Sent: 83
Connections: 3
Outstanding: 0
Zxid: 0x400000005
Mode: follower
Node count: 4
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# echo stat | nc node103.yinzhengjie.org.cn 2181               #查看统计信息,一般用来查看哪个节点被选择作为follower或者leader
[root@node101.yinzhengjie.org.cn ~]# echo wchs | nc node103.yinzhengjie.org.cn 2181                 #查看链接的watch信息
0 connections watching 0 paths
Total watches:0
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# echo wchs | nc node103.yinzhengjie.org.cn 2181                #查看服务器的watch的详细信息
[root@node101.yinzhengjie.org.cn ~]# echo wchc | nc node103.yinzhengjie.org.cn 2181                #通过 session 列出服务器 watch 的详细信息,它的输出是一个与 watch 相关的会话的列表。
wchc is not executed because it is not in the whitelist.
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# echo wchc | nc node103.yinzhengjie.org.cn 2181               #通过 session 列出服务器 watch 的详细信息,它的输出是一个与 watch 相关的会话的列表。(需要进一步调研)
[root@node101.yinzhengjie.org.cn ~]# echo wchp | nc node103.yinzhengjie.org.cn 2181                #通过路径列出服务器 watch 的详细信息。它输出一个与 session 相关的路径。
wchp is not executed because it is not in the whitelist.
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# echo wchp | nc node103.yinzhengjie.org.cn 2181               #通过路径列出服务器 watch 的详细信息。它输出一个与 session 相关的路径。(需要进一步调研)
[root@node101.yinzhengjie.org.cn ~]# echo reqs | nc node103.yinzhengjie.org.cn 2181                 #查看未经处理的请求。
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# echo reqs | nc node103.yinzhengjie.org.cn 2181               #查看未经处理的请求。 
[root@node101.yinzhengjie.org.cn ~]# echo crst | nc node101.yinzhengjie.org.cn 2181                   #重置所有的客户端连接
Connection stats reset.
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# echo crst | nc node101.yinzhengjie.org.cn 2181               #重置所有的客户端连接
[root@node101.yinzhengjie.org.cn ~]# echo dump | nc node101.yinzhengjie.org.cn 2181                 #打印集群的所有会话信息,包括ID,以及临时节点等信息。用在Leader节点上才有效果。
SessionTracker dump:
Session Sets (7):
0 expire at Sat Jan 03 12:27:32 CST 1970:
0 expire at Sat Jan 03 12:27:40 CST 1970:
0 expire at Sat Jan 03 12:27:42 CST 1970:
0 expire at Sat Jan 03 12:27:50 CST 1970:
0 expire at Sat Jan 03 12:27:52 CST 1970:
1 expire at Sat Jan 03 12:28:00 CST 1970:
        0x67000b2416210001
2 expire at Sat Jan 03 12:28:02 CST 1970:
        0x65000b248f060000
        0x67000b2416210000
ephemeral nodes dump:
Sessions with Ephemerals (0):
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# echo dump | nc node101.yinzhengjie.org.cn 2181                #打印集群的所有会话信息,包括ID,以及临时节点等信息。用在Leader节点上才有效果。
[root@node101.yinzhengjie.org.cn ~]# echo srst | nc node101.yinzhengjie.org.cn 2181                  #重置服务器统计信息
Server stats reset.
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# echo srst | nc node101.yinzhengjie.org.cn 2181               #重置服务器统计信息
[root@node101.yinzhengjie.org.cn ~]# echo srvr | nc node101.yinzhengjie.org.cn 2181                #和stat输出信息一样,只不过少了客户端连接信息。
Zookeeper version: 3.4.14-4c25d480e66aadd371de8bd2fd8da255ac140bcf, built on 03/06/2019 16:18 GMT
Latency min/avg/max: 0/0/1
Received: 7
Sent: 7
Connections: 2
Outstanding: 0
Zxid: 0x400000006
Mode: leader
Node count: 4
Proposal sizes last/min/max: -1/-1/-1
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# echo srvr | nc node101.yinzhengjie.org.cn 2181               #和stat输出信息一样,只不过少了客户端连接信息。
[root@node101.yinzhengjie.org.cn ~]# echo mntr | nc node101.yinzhengjie.org.cn 2181                #输出比stat更为详细的服务器统计信息
zk_version      3.4.14-4c25d480e66aadd371de8bd2fd8da255ac140bcf, built on 03/06/2019 16:18 GMT
zk_avg_latency  0
zk_max_latency  1
zk_min_latency  0
zk_packets_received     13
zk_packets_sent 13
zk_num_alive_connections        2
zk_outstanding_requests 0
zk_server_state leader
zk_znode_count  4
zk_watch_count  0
zk_ephemerals_count     0
zk_approximate_data_size        27
zk_open_file_descriptor_count   34
zk_max_file_descriptor_count    1048576
zk_fsync_threshold_exceed_count 0
zk_followers    2
zk_synced_followers     2
zk_pending_syncs        0
zk_last_proposal_size   -1
zk_max_proposal_size    -1
zk_min_proposal_size    -1
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# echo mntr | nc node101.yinzhengjie.org.cn 2181               #输出比stat更为详细的服务器统计信息 

参考链接1:https://www.cnblogs.com/yinzhengjie/p/10739218.html

参加链接2:https://www.cnblogs.com/yinzhengjie/articles/10698719.html

参考链接3:https://www.jianshu.com/p/4f11d7bfc9ce

参考链接4:https://blog.csdn.net/u013673976/article/details/47321067

参考链接5:https://blog.csdn.net/paincupid/article/details/78058087#Zookeeper_1782

原文地址:https://www.cnblogs.com/yinzhengjie/p/10747747.html