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/java下的同时强制删除该压缩包,注意要先建立java文件夹作为jdk的安装目录
[root@CentOSWzh-7 opt]# tar zxvf jdk-8u202-linux-x64.tar.gz -C /usr/local/java && rm -rf jdk-8u202-linux-x64.tar.gz
//将软件重命名
[root@CentOSWzh-7 opt]# mv /usr/local/java/jdk1.8.0_202/ /usr/local/java/jdk/
//修改Linux系统环境变量,将下面添加末尾
[root@CentOSWzh-7 opt]# vim /etc/profile
set java environment,注意点:①JAVA_HOME和CLASSPATH都是我们新增的系统变了,通过export命令即可查看到②讲java命令行路径$JAVA_HOME/bin添加到PATH下,这样才能在任何目录下执行java命令,因为UNIX类型系统和WINDOWS系统类型是一样的,先在当前目录或指定目录下查找,找不到再去path路径下去找。
JAVA_HOME=/usr/local/java/jdk
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$PATH:$JAVA_HOME/bin
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 opt]# wget https://archive.apache.org/dist/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz
[root@CentOSWzh-7 opt]# tar zxvf apache-zookeeper-3.6.2-bin.tar.gz -C /usr/local/java
[root@CentOSWzh-7 opt]# rm -rf apache-zookeeper-3.6.2-bin.tar.gz && mv /usr/local/java/apache-zookeeper-3.6.2-bin/ /usr/local/java/zookeeper
//进入 /usr/local/zookeeper/,复制一份zoo_sample.cfg conf,名为zoo.cfg
[root@CentOSWzh-7 ~]# cd /usr/local/java/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
//把这些东西粘贴到zoo.cfg 中
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/java/zookeeper/data
dataLogDir=/usr/local/java/zookeeper/logs
clientPort=2181
//修改 /etc/systemd/system/zookeeper.service文件,修改内容如下,该文件是安装完zookeeper后自动生成的
vim /etc/systemd/system/zookeeper.service
[Unit]
Description=zookeeper.service
After=network.target
[Service]
Type=forking
Environment=ZOO_LOG_DIR=/usr/local/java/zookeeper/logs/
Environment=PATH=/usr/local/java/jdk/bin:/usr/local/java/jdk/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin
ExecStart=/usr/local/java/zookeeper/bin/zkServer.sh start
ExecStop=/usr/local/java/zookeeper/bin/zkServer.sh stop
ExecReload=/usr/local/java/zookeeper/bin/zkServer.sh restart
PIDFile=/usr/local/java/zookeeper/data/zookeeper_server.pid
User=root
[Install]
WantedBy=multi-user.target
3 启动zookeeper(测试是否安装成功)
//重新加载某个服务(zookeeper)的配置文件
systemctl daemon-reload zookeeper
//运行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 bin]#./zkServer.sh start
//连接zookeeper服务,退出链接时quit
[root@CentOSWzh-7 bin]# ./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