centos7安装3.6版本zookeeper

Centos7下安装与测试zookeeper3.6

1 安装jdk并配置java环境变量

//网络下载安装包①get命令用来从指定的URL下载文件②/opt是约定俗成的第三方压缩安装包的临时存放点位
[root@CentOSWzh-7 opt]# wget https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz
//解压到/usr/local(推荐软件安装包的存储位置)下的同时强制删除该压缩包
[root@CentOSWzh-7 opt]# tar zxvf jdk-8u202-linux-x64.tar.gz -C /usr/local/ && rm -rf jdk-8u202-linux-x64.tar.gz
//将软件重命名
[root@CentOSWzh-7 opt]# mv /usr/local/jdk1.8.0_202/ /usr/local/jdk/
//修改Linux系统环境变量,将下面添加末尾
[root@CentOSWzh-7 opt]# vim /etc/profile

#set java environment
JAVA_HOME=/usr/local/jdk
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

//编译,使修改生效
[root@CentOSWzh-7 ~]# source /etc/profile
//验证是否安装成功
[root@CentOSWzh-7 ~]# java -version
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

2 Centos7安装zookeeper

//安装涉及的知识点上述以很详细,这里不再赘述
[root@CentOSWzh-7 ~]# wget https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz
[root@CentOSWzh-7 ~]# tar zxvf apache-zookeeper-3.6.2-bin.tar.gz -C /usr/local/
[root@CentOSWzh-7 ~]# rm -rf apache-zookeeper-3.6.2-bin.tar.gz && mv /usr/local/apache-zookeeper-3.6.2-bin/ /usr/local/zookeeper
//进入 /usr/local/zookeeper/,复制一份zoo_sample.cfg conf,名为zoo.cfg
[root@CentOSWzh-7 ~]# cd /usr/local/zookeeper/
[root@CentOSWzh-7 /usr/local/zookeeper]# cp conf/zoo_sample.cfg conf/zoo.cfg
//在/usr/local/zookeeper目录下新建data和logs文件夹,
[root@CentOSWzh-7 /usr/local/zookeeper]# mkdir logs data
[root@CentOSWzh-7 /usr/local/zookeeper]# cd conf/
//该配置文件中的参数值参考下面的数值进行修改(主要是修改dataDir和dataLogDir,这两个分别是我们在zookeeper的安装目录中自己新建的数据区和日志区的位置)    
[root@CentOSWzh-7 /usr/local/zookeeper/conf]# vim zoo.cfg 

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/logs
clientPort=2181

//修改 /etc/systemd/system/zookeeper.service文件,修改内容如下,该文件是安装完zookeeper后自动生成的
[root@CentOSWzh-7 /usr/local/zookeeper/conf]# vim /etc/systemd/system/zookeeper.service

[Unit]
Description=zookeeper.service
After=network.target
[Service]
Type=forking
Environment=ZOO_LOG_DIR=/usr/local/zookeeper/logs/
Environment=PATH=/usr/local/jdk/bin:/usr/local/jdk/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin
ExecStart=/usr/local/zookeeper/bin/zkServer.sh start
ExecStop=/usr/local/zookeeper/bin/zkServer.sh stop
ExecReload=/usr/local/zookeeper/bin/zkServer.sh restart
PIDFile=/usr/local/zookeeper/data/zookeeper_server.pid
User=root
[Install]
WantedBy=multi-user.target

3 启动zookeeper(测试是否安装成功)

//重新加载某个服务的配置文件
[root@CentOSWzh-7 /usr/local/zookeeper/conf]# systemctl daemon-reload
//运行zookeeper,没有消息就是好消息,报错的话就参考上述安装步骤,肯定有出错的地方,其中对配置文件的修改环境最容易出错
[root@CentOSWzh-7 /usr/local/zookeeper/conf]# systemctl start zookeeper
[root@CentOSWzh-7 /usr/local/zookeeper/conf]# systemctl enable zookeeper

4 添一个巨坑

//可理解为DOS(cmd)下的netstat(查看端口的指令)指令,通过该指令我们发现zookeeper不止占用了2181,还占用了8080和38819,如果服务器上有8080端口可能还会报错,启动不了
[root@CentOSWzh-7 /usr/local/zookeeper/conf]# ss -ntl
State       Recv-Q Send-Q                                           Local Address:Port                                                          Peer Address:Port              
LISTEN      0      128                                                          *:22                                                                       *:*                  
LISTEN      0      100                                                  127.0.0.1:25                                                                       *:*                  
LISTEN      0      50                                                        [::]:38819                                                                 [::]:*                  
LISTEN      0      50                                                        [::]:2181                                                                  [::]:*                  
LISTEN      0      50                                                        [::]:8080                                                                  [::]:*                  
LISTEN      0      100                                                      [::1]:25 
//解决方法如下,进入zoo.cfg,在最后一行添加admin.serverPort=8989 
[root@CentOSWzh-7 ~]# vim /usr/local/zookeeper/conf/zoo.cfg  
    
admin.serverPort=8820   
 
//重启zookeeper才能生效  
[root@CentOSWzh-7 ~]# systemctl restart zookeeper
//先前占用的8080端口被改为了8820
[root@CentOSWzh-7 ~]# ss -ntl
State      Recv-Q Send-Q                      Local Address:Port                                     Peer Address:Port              
LISTEN     0      128                                     *:22                                                  *:*                  
LISTEN     0      100                             127.0.0.1:25                                                  *:*                  
LISTEN     0      50                                   [::]:2181                                             [::]:*                  
LISTEN     0      50                                   [::]:36046                                            [::]:*                  
LISTEN     0      100                                 [::1]:25                                               [::]:*                  
LISTEN     0      50                                   [::]:8820                                           [::]:*                  
[root@CentOSWzh-7 ~]#     

5 启动zk服务与客户端链接zk

//开始服务前先关闭防火墙(临时性关闭),每次启动前不要忘记关闭
[root@CentOSWzh-7 conf]# systemctl stop firewalld
//进入指定位置执行(bin下才有该命令)
[root@CentOSWzh-7 conf]# cd /usr/local/zookeeper/bin
//#启动zookeeper    
[root@CentOSWzh-7 conf]#./zkServer.sh start
//连接zookeeper服务,退出链接时quit
[root@CentOSWzh-7 conf]# ./zkCli.sh -server 127.0.0.1:2181  

6 参考

服务操作命令

systemctl start zookeeper     #启动服务

systemctl stop zookeeper      #停止服务

systemctl restart zookeeper   #重新启动服务

systemctl status zookeeper   #查看服务当前状态

systemctl enable zookeeper   #设置开机自启动

systemctl disable zookeeper   #停止开机自启动

开放防火墙

[root@CentOSWzh-7 ~]# firewall-cmd --zone=public --add-port=2181/tcp --permanent
[root@CentOSWzh-7 ~]# firewall-cmd --zone=public --add-port=8989/tcp --permanent
[root@CentOSWzh-7 ~]# firewall-cmd –reload

或者关闭防火墙
[root@CentOSWzh-7 ~]# systemctl stop firewalld
[root@CentOSWzh-7 ~]# systemctl stop iptables

猜你喜欢

转载自blog.csdn.net/wwwwwww31311/article/details/112791578