• Linux下安装zookeeper、配置zookeeper开机自启动


    本文主要介绍如何在Centos7下安装zookeeper以及如何使用。

    • 安装JDK
    • 下载安装zookeeper
    • 启动zookeeper
    • 设置zookeeper开机自动启动

    一、安装JDK

    使用zookeeper前,必须先安装JDK,如何安装JDK,可以查看:Linux 安装JDK 教程

    二、下载安装zookeeper

    2.1 通过官网下载:Apache Download Mirrors。本文中使用3.7.0版本。

    // 进入下载目录并下载
    cd /usr/local/

    mkdir zookeeper

    cd zookeeper

    wget https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz

    注意:没有bin的是zk的源码包,可以看到也是maven项目,是需要编译打包才能使用

    如果下载的不是bin包,执行启动命令 zkServer.sh start
    zkServer启动失败,查看zk的日志文件,报如下错误:
    Error:Could not find or Load main class org.apache.zookeeper.server.quorum.QuorumPeerMain
    因此,需要下载bin包方可启动成功。

    2.2 解压

    // 解压
    tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz

    2.3 修改配置文件

    // 1.进入配置文件目录
    cd apache-zookeeper-3.7.0-bin/conf
    
    // 2.将zoo_sample.cfg这个文件复制为zoo.cfg (注意:文件名一定要是zoo.cfg) 
    cp zoo_sample.cfg zoo.cfg

    // 3.修改配置文件
    vim zoo.cfg

    修改zoo.cfg,修改前:

     修改后:

      注意:数据存放目录data由自己决定,但是启动服务前一定要确保对应的目录存在,不然启动会失败

     2.4 创建data文件夹

    // 创建data目录
    [root@localhost conf]# cd ../
    [root@localhost apache-zookeeper-3.7.0-bin]# pwd
    /usr/local/zookeeper/apache-zookeeper-3.7.0-bin
    [root@localhost apache-zookeeper-3.7.0-bin]# mkdir data
    [root@localhost apache-zookeeper-3.7.0-bin]# ll
    总用量 44
    drwxr-xr-x. 2 1000 1000  4096 3月  17 2021 bin
    drwxr-xr-x. 2 1000 1000  4096 12月 28 18:09 conf
    drwxr-xr-x. 2 root root  4096 12月 28 18:09 data
    drwxr-xr-x. 5 1000 1000  4096 3月  17 2021 docs
    drwxr-xr-x. 2 root root  4096 12月 28 18:04 lib
    -rw-r--r--. 1 1000 1000 11358 3月  17 2021 LICENSE.txt
    -rw-r--r--. 1 1000 1000   432 3月  17 2021 NOTICE.txt
    -rw-r--r--. 1 1000 1000  2214 3月  17 2021 README.md
    -rw-r--r--. 1 1000 1000  3570 3月  17 2021 README_packaging.md
    [root@localhost apache-zookeeper-3.7.0-bin]# 

    三、启动zookeeper

    3.1 进入zookeeper下的bin目录

    cd /usr/local/zookeeper/apache-zookeeper-3.7.0-bin/bin

    3.2 执行启动命令

    ./zkServer.sh start

    启动成功后如下:

    除了开启,再备注几个其他命令:

    // 停止
    ./zkServer.sh stop
    
    // 重启
    ./zkServer.sh restart
    
    // 查看状态
    ./zkServer.sh status

    虽然这样可以正常启动,但是每次都要进入到zookeeper的bin目录下,为了避免麻烦,可以将zookeeper设置开机启动

    四、设置zookeeper开机自动启动

    centos7

    4.1 切换到/lib/systemd/system/目录,创建自启动文件

    cd /lib/systemd/system/
    vim zookeeper.service

    文件内容如下:

    [Unit]
    Description=zookeeperservice
    After=network.target

    [Service]
    WorkingDirectory=/usr/local/zookeeper/apache-zookeeper-3.7.0-bin      #zookeeper路径
    ExecStart=/usr/local/zookeeper/apache-zookeeper-3.7.0-bin/bin/zkServer.sh start       #zookeeper执行文件
    User=root
    Group=root
    Restart=always
    RestartSec=10

    [Install]
    WantedBy=multi-user.target

    注意:zookeeper的路径需要修改成自己的!

    重新加载配置信息:

    systemctl daemon-reload

    4.2 设置自启动

    systemctl enable zookeeper.service

    4.3 启动服务

    systemctl start zookeeper.service

    4.4 查看启动状态

    systemctl status zookeeper.service

     4.5 自启动相关命令

    重新加载配置信息:systemctl daemon-reload
    启动zookeeper:systemctl start zookeeper.service
    关掉zookeeper:systemctl stop zookeeper.service
    查看进程状态及日志:systemctl status zookeeper.service
    开机自启动:systemctl enable zookeeper.service
    关闭自启动:systemctl disable zookeeper.service

    centos6

    第一种:修改vim /etc/rc.local文件

    vim /etc/rc.local

    加入:

    export JAVA_HOME=/usr/local/jdk/jdk1.8.0_281 -- jdk安装路径
    /usr/local/zookeeper/apache-zookeeper-3.7.0-bin/bin/zkServer.sh start -- zookeeper安装路径

    重启后生效。

    第二种:建立zookeeper服务

    1、进入到/etc/rc.d/init.d目录下,新建一个zookeeper脚本

    vim /etc/init.d/zookeeper

    加入:

    注意替换JAVA_HOME目录以及zookeeper安装目录

    #!/bin/bash
    #chkconfig:2345 20 90
    #description:zookeeper
    #processname:zookeeper
    export JAVA_HOME=/usr/local/jdk/jdk1.8.0_281
    case $1 in
            start) su root /usr/local/zookeeper/apache-zookeeper-3.7.0-bin/bin/zkServer.sh start;;
            stop) su root /usr/local/zookeeper/apache-zookeeper-3.7.0-bin/bin/zkServer.sh stop;;
            status) su root /usr/local/zookeeper/apache-zookeeper-3.7.0-bin/bin/zkServer.sh status;;
            restart) su /usr/local/zookeeper/apache-zookeeper-3.7.0-bin/bin/zkServer.sh restart;;
            *) echo "require start|stop|status|restart" ;;
    esac

    2、添加执行权限

    chmod +x /etc/init.d/zookeeper

    3、service zookeeper start/stop/status命令启动、停止或查看状态

    -- 启动
    service zookeeper start
    -- 停止
    service zookeeper stop-- 状态
    service zookeeper status

    4、添加到开机自启

    chkconfig  --add zookeeper

    开机自启配置好了,重启一下试试,如下所示:

    -- 重启
    reboot
    
    -- 检查是否开机自启动
    service zookeeper status

    至此,在Linux下安装zookeeper就完成了!

  • 相关阅读:
    AndroidStudio中AlertDialog的四种用法(转载)
    ZPL指令封装
    Android程序闪退时写日志并上传到服务器
    sql server 导出表结构
    Kestrel服务器ASP.NetCore 3.1程序启用SSL
    Asp.Net Core 下 Newtonsoft.Json 转换字符串 null 替换成string.Empty(转)
    ApiResult-WebAPI开发统一返回值对象的演化(.net core版)
    EF Core 拓展SqlQuery方法(转载)
    钉钉小程序post提交json,报400、415
    体验.net core 3.1 socket
  • 原文地址:https://www.cnblogs.com/yang5726685/p/15639015.html
Copyright © 2020-2023  润新知