• 如何在 Unbuntu 下安装配置 Apache Zookeeper


    简介

    Zookeeper 是 apache 基金组织下的项目,项目用于简单的监控和管理一组服务,通过简单的接口就可以集中协调一组服务,如配置管理,信息同步,命名,分布式协调。 

    准备工作

    1. Ubuntu 23.04 或者 20.04
    2. 访问Ubuntu系统的命令行工具
    3. 具有 sudo 或者 root 权限的账号

    安装 Apache Zookeeper 到 Ubuntu 系统上

    第一步: 安装Java

    Zookeeper 是使用Java 语言编写的,我们需要提前安装Java. 通过一下命令检查Java 是否安装

    java --version

    假如这一步能够正确显示Java的版本, 你可以直接到下一步。 如果显示的信息是 no such file or directory。 那么你就需要安装 Java.
    Java 现在已经有不同的版本了,按照你的需求安装合适的版本

    第二步: 为 Zookeeper 服务创建用户

    1. 使用下列命令创建一个单独的用户

    sudo useradd zookeeper -m

    -m 参数是用于在创建用户的同时创建 Home 目录。 上面的脚本会创建目录 /home/zookeeper. 如想使用不同的名称,只要替换 zookeeper 就可以。

    2. 指定用户的默认shell为 bash

    sudo usermod --shell /bin/bash zookeeper

    3. 设置密码

    sudo passwd zookeeper

    4. 把用户添加到sudo组里面

    sudo usermod -aG sudo zookeeper

    5. 检查一下用户是不是已经在sudo组里面

    sudo getent group sudo

     

    第三步:创建Zookeeper的数据目录

    在真正安装 zookeeper 之前我们需要创建一个可以用于存储 zookeeper 数据和配置的文件夹。 执行下列脚本创建zookeeper 的数据目录

    sudo mkdir -p /data/zookeeper

    设置zookeeper 用户为此目录的所有者

    sudo chown -R zookeeper:zookeeper /data/zookeeper

    第四步: 下载并安装 Zookeeper

    1. 访问 Apache Zookeeper Releases 找到最新版本.

    2. 右键复制推荐的HTTP下载地址

    3. 返回到命令行界面,进入目录 /opt

    cd /opt

    4. 使用 wget 命令下载 .tar 文件。粘贴刚刚复制的链接如下

    sudo wget https://dlcdn.apache.org/zookeeper/zookeeper-3.9.1/apache-zookeeper-3.9.1-bin.tar.gz

    5. 解压文件

    sudo tar -xvf apache-zookeeper-3.9.1-bin.tar.gz

    需要注意的是,以上两个步骤的链接地址还有文件名称,只是一个例子,具体还是需要根据你下载的文件做调整

    6. 重命名文件夹的名称为 zookeeper

    sudo mv apache-zookeeper-3.9.1-bin zookeeper

    7. 指定zookeeper 为此目录的拥有着

    sudo chown -R zookeeper:zookeeper /opt/zookeeper

    第五步:配置单机模式下的Zookeeper

    为 zookeeper 创建一个配置文件, 这个配置仅仅用于单机模式(测试环境或者开发环境)。 如果是生产环境,看第六步.

    1. cd /opt/zookeeper/conf/
    2. sudo cp zoo_sample.cfg zoo.cfg
    3. sudo nano zoo.cfg

    修改数据目录地址配置项为: /data/zookeeper. 其他项目保持不变,保存并退出。

    第六步:启动 zookeeper 服务

    首先切换当前的用户到 zookeeper 用户

    su zookeeper

    启动服务

    /opt/zookeeper/bin/zkServer.sh start

    如果如下显示出 “STARTED",那么说明服务启动成功了。

    第七步: 链接 zookeeper 服务

    使用脚本链接本地的zookeeper 服务

    /opt/zookeeper/bin/zkCli.sh -server 127.0.0.1:2181

    如果显示 “CONNECTED” 则说明链接成功

    执行 help 查询命令说明

    输入命令:

    quit

    停止zookeeper 服务

    /opt/zookeeper/bin/zkServer.sh stop

    第八步: 创建自动启动脚本

    1. 创建自动启动配置文件

    sudo nano /etc/systemd/system/zookeeper.service

    2. 复制下列内容到文件中

    1. [Unit]
    2. Description=Zookeeper Daemon
    3. Documentation=http://zookeeper.apache.org
    4. Requires=network.target
    5. After=network.target
    6. [Service]
    7. Type=forking
    8. WorkingDirectory=/opt/zookeeper
    9. User=zookeeper
    10. Group=zookeeper
    11. ExecStart=/opt/zookeeper/bin/zkServer.sh start /opt/zookeeper/conf/zoo.cfg
    12. ExecStop=/opt/zookeeper/bin/zkServer.sh stop /opt/zookeeper/conf/zoo.cfg
    13. ExecReload=/opt/zookeeper/bin/zkServer.sh restart /opt/zookeeper/conf/zoo.cfg
    14. TimeoutSec=30
    15. Restart=on-failure
    16. [Install]
    17. WantedBy=default.target

    3. 保存并退出

    4. 重启价值 system server

    sudo systemctl daemon-reload

    5.启动zookeeper 服务并且设置为开机启动

    1. systemctl start zookeeper
    2. systemctl enable zookeeper

    6. 验证服务的状态

    systemctl status zookeeper

    如果你看到高亮的 active (running) 则说明服务成功启动

    配置集群模式的 zookeeper

    第一步: 创建多个zookeeper实例

    集群模式下,首先你需要准备多个 Ubuntu 机器实例。并且按照第二章节的逐个安装配置。

    第二步:为每一个zookeeper 实例指定一个唯一的id

    nano /data/zookeeper myid

    文件内容就是此服务的id

    1

    循环上一个步骤,以此给每个服务器创建一个唯一的id.

    第三步:在zookeeper 的配置文件中逐个添加服务器列表

    nano /opt/zookeeper/conf/zoo.cfg

    内容如下:

    1. # The number of milliseconds of each tick
    2. tickTime=2000
    3. # The number of ticks that the initial
    4. # synchronization phase can take
    5. initLimit=10
    6. # The number of ticks that can pass between
    7. # sending a request and getting an acknowledgement
    8. syncLimit=5
    9. # the directory where the snapshot is stored.
    10. # do not use /tmp for storage, /tmp here is just
    11. # example sakes.
    12. dataDir=/data/zookeeper
    13. # the port at which the clients will connect
    14. clientPort=2181
    15. # the maximum number of client connections.
    16. # increase this if you need to handle more clients
    17. #maxClientCnxns=60
    18. #
    19. # Be sure to read the maintenance section of the
    20. # administrator guide before turning on autopurge.
    21. #
    22. # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
    23. #
    24. # The number of snapshots to retain in dataDir
    25. #autopurge.snapRetainCount=3
    26. # Purge task interval in hours
    27. # Set to "0" to disable auto purge feature
    28. #autopurge.purgeInterval=1
    29. ## Metrics Providers
    30. #
    31. # https://prometheus.io Metrics Exporter
    32. #metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
    33. #metricsProvider.httpPort=7000
    34. #metricsProvider.exportJvmInfo=true
    35. server.1=[server_ip]:2888:3888
    36. server.2=[server_ip]:2888:3888
    37. server.3=[server_ip]:2888:3888

    第三步:逐个重启zookeeper

    systemctl restart zookeeper.service

    参考链接:

    How To Install Apache ZooKeeper On Ubuntu

  • 相关阅读:
    speedoffice(Word)文档中如何插入图片
    又一重磅利好来袭!Zebec Payroll 集成至 Nautilus Chain 主网
    Pyecharts一文速学-绘制桑基图详解+Python代码
    如何隐藏woocommerce 后台header,woocommerce-layout__header
    《Mycat分布式数据库架构》之原理
    面试必备 css面试必考点
    C语言字符串函数的详解
    挠场的科学丨一、特斯拉的特异功能与电力产业的兴起
    【libhv】udp客户端服务器简单例子
    基于sdrpi的openwifi实践4:制作openwifi的启动盘
  • 原文地址:https://blog.csdn.net/m0_68678128/article/details/134214249