zoukankan      html  css  js  c++  java
  • centos8安装zookeeper(单机方式)

    一,下载zookeeper:

         1,官网地址

    http://zookeeper.apache.org/

          找到这个地址:

    https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.6/

        2,下载

    [root@localhost liuhongdi]# cd /usr/local/source/
    [root@localhost source]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.6/apache-zookeeper-3.5.6-bin.tar.gz

    说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

             对应的源码可以访问这里获取: https://github.com/liuhongdi/

     说明:作者:刘宏缔 邮箱: 371125307@qq.com

    二,解压

    [root@localhost source]# tar -zxvf apache-zookeeper-3.5.6-bin.tar.gz
    [root@localhost source]# mv apache-zookeeper-3.5.6-bin /usr/local/soft/

    三,安装

    1,创建数据目录:

    [root@localhost source]# mkdir /data/data
    [root@localhost source]# mkdir /data/data/zookeeper
    [root@localhost source]# chmod 777 /data/data/zookeeper/

    2,修改配置文件

    [root@localhost soft]# cd apache-zookeeper-3.5.6-bin/
    [root@localhost apache-zookeeper-3.5.6-bin]# cd conf/
    [root@localhost conf]# cp zoo_sample.cfg zoo.cfg
    [root@localhost conf]# vi zoo.cfg
    dataDir=/data/data/zookeeper
    说明:dataDir=的值:是在配置文件中,指定要使用的数据目录

    3,把二进制命令的路径加入系统path

    [root@localhost conf]# vi /etc/profile

    说明:在末尾增加以下命令:

    export ZK_HOME=/usr/local/soft/apache-zookeeper-3.5.6-bin
    export PATH=$ZK_HOME/bin:$PATH

    修改完成之后,使配置起作用:

    [root@localhost conf]# source /etc/profile

    四,启动和停止zookeeper

    启动

    [root@localhost conf]# zkServer.sh start 

    停止

    [root@localhost conf]# zkServer.sh stop

    五,增加systemd管理zookeeper功能

    1,新建service文件

    [root@localhost conf]# vi /etc/systemd/system/zookeeper.service

    说明:service文件的内容:

    [Unit]
    Description=zookeeper.service
    After=network.target
    ConditionPathExists=/usr/local/soft/apache-zookeeper-3.5.6-bin/conf/zoo.cfg
    [Service]
    Type=forking
    User=root
    Group=root
    ExecStart=/usr/local/soft/apache-zookeeper-3.5.6-bin/bin/zkServer.sh start
    ExecStop=/usr/local/soft/apache-zookeeper-3.5.6-bin/bin/zkServer.sh stop
    [Install]
    WantedBy=multi-user.target

    2,直接使用systemctl启动zookeeper会因找不到java的路径报错,

       我们需要手动修改zkEnv.sh文件:

    [root@localhost conf]# vi /usr/local/soft/apache-zookeeper-3.5.6-bin/bin/zkEnv.sh

    编辑的内容:

    添加如下一行
    JAVA_HOME=/usr/local/soft/jdk-13.0.2
    到此两行上方即可:
    ZOOBINDIR="${ZOOBINDIR:-/usr/bin}"
    ZOOKEEPER_PREFIX="${ZOOBINDIR}/.."

    3,测试systemctl的管理:

    启动

    [root@localhost conf]# systemctl start zookeeper

    停止

    [root@localhost conf]# systemctl stop zookeeper

    六,如何查看当前已安装的zookeeper的版本?

    [root@localhost conf]# echo stat|nc 127.0.0.1 2181
    stat is not executed because it is not in the whitelist.

    说明:需要解决上面这个报错

    [root@localhost conf]# vi /usr/local/soft/apache-zookeeper-3.5.6-bin/bin/zkServer.sh

    编辑的内容:

    找到:
    
    else
     echo "JMX disabled by user request" >&2
     ZOOMAIN="org.apache.zookeeper.server.quorum.QuorumPeerMain"
    fi
    
    在上面这行fi下面添加:
    
    ZOOMAIN="-Dzookeeper.4lw.commands.whitelist=* ${ZOOMAIN}"

    继续测试

    [root@localhost conf]# systemctl stop zookeeper
    [root@localhost conf]# systemctl start zookeeper
    [root@localhost conf]# echo stat|nc 127.0.0.1 2181
    Zookeeper version: 3.5.6-c11b7e26bc554b8523dc929761dd28808913f091, built on 10/08/2019 20:18 GMT
    Clients:
     /127.0.0.1:41352[0](queued=0,recved=1,sent=0)
    
    Latency min/avg/max: 0/0/0
    Received: 1
    Sent: 0
    Connections: 1
    Outstanding: 0
    Zxid: 0x0
    Mode: standalone
    Node count: 5

    七,关闭zookeeper内置的管理器

      zookeeper内置有一个web管理器,默认使用8080端口,

      但这个版本的管理器不能正常访问,

      我们可以避免启动内置的管理器,也避免占用8080端口

       

    [root@localhost conf]# vi /usr/local/soft/apache-zookeeper-3.5.6-bin/conf/zoo.cfg 
    [root@localhost conf]# systemctl stop zookeeper
    [root@localhost conf]# systemctl start zookeeper

    说明:在配置文件zoo.cfg中添加如下一行:

    admin.enableServer=false

    八,配置zookeeper的日志目录:

    1,创建日志目录

    [root@localhost conf]# mkdir /data/logs/zookeeperlogs
    [root@localhost conf]# chmod 777 /data/logs/zookeeperlogs

    2,在zkEnv.sh中定义日志的路径

    [root@localhost conf]# vi /usr/local/soft/apache-zookeeper-3.5.6-bin/bin/zkEnv.sh

    说明:定义ZOO_LOG_DIR这个变量即可

    if [ "x${ZOO_LOG_DIR}" = "x" ]
    then
        #ZOO_LOG_DIR="$ZOOKEEPER_PREFIX/logs"
        ZOO_LOG_DIR="/data/logs/zookeeperlogs"
    fi

    3,测试效果:

    [root@localhost conf]# systemctl stop zookeeper
    [root@localhost conf]# systemctl start zookeeper
    [root@localhost conf]# ll /data/logs/zookeeperlogs/
    总用量 8
    -rw-r--r-- 1 root root 7649 2月  18 21:36 zookeeper-root-server-localhost.localdomain.out

    九,查看本地centos的版本:

    [root@localhost lib]# cat /etc/redhat-release 
    CentOS Linux release 8.1.1911 (Core) 

      

  • 相关阅读:
    Jmeter 批量执行脚本之-----------Ant
    Linux之vi编辑器的使用
    Linux命令之-ps & kill
    Linux命令详解一:基础命令新建、删除、拷贝~~~
    Linux(Ubuntu)下安装jdk
    Lr-代理录制
    开通博客第一天
    找出列表中重复的元素及个数
    写一个密码校验程序,密码格式为含有大写、小写字母、数字,长度为8位
    创建数据,分页显示,输入要查看的页码,显示指定数据,每页显示10条数据
  • 原文地址:https://www.cnblogs.com/architectforest/p/12327533.html
Copyright © 2011-2022 走看看