ZooKeeper

Ubuntu 上安装ZooKeeper

介绍

ZooKeeper 是一个 Apache 软件基金会项目,旨在简化监控和管理组服务。 它使用一个简单的界面来管理配置、信息、命名、分布式同步和供应的集中式协调服务。

1、在 Ubuntu 上安装 Apache ZooKeeper
第 1 步:安装 Java

ZooKeeper 是用 Java 编写的,需要这种编程语言才能工作。 要检查是否已安装 Java ,请运行以下命令:

java --version

如果输出显示正在运行的 Java 版本,您可以继续下一步。 如果系统说有 no such file or directory,您需要先安装 Java,然后才能继续使用 ZooKeeper。

步骤 2:为 ZooKeeper 创建用户
  1. 通过键入以下内容为 ZooKeeper 服务创建一个单独的用户:

    useradd zookeeper -m

    这 -mflag 为用户创建一个主目录。 在这种情况下,它将是 /home/zookeeper. 要以不同方式命名用户,请替换 zookeeper使用您选择的名称。

  2. 接下来,设置 bash 使用以下命令作为新用户的默认 shell:

    usermod --shell /bin/bash zookeeper

  3. 为用户设置密码:

    passwd zookeeper

    键入并重新键入 强密码 为 ZooKeeper 用户 。
    为 ZooKeeper 用户设置密码。

  4. 然后,将用户添加到 sudoers 组 ,使其具有 sudo 权限:

    usermod -aG sudo zookeeper

  5. 通过列出 sudoers 组中的帐户来检查以验证用户现在是超级用户:

    sudo getent group sudo

    输出应显示您创建的用户。
    列出 sudo 用户的成员。

第 3 步:创建 ZooKeeper 数据目录

在安装 ZooKeeper 之前,创建一个目录结构,它可以在其中存储配置和状态数据(在本地磁盘或远程存储上)。

要将数据存储在本地机器上,首先创建一个新的 ZooKeeper 目录:

sudo mkdir -p /data/zookeeper

然后,将 ZooKeeper 用户所有权授予该目录:

chown -R zookeeper:zookeeper /data/zookeeper

第 4 步:下载并安装 ZooKeeper
  1. 进入官网下载ZooKeeper

  2. 回到命令行并移动到 /opt目录:

cd /opt

  1. 使用 wget命令下载 . tar 文件。 粘贴从 Apache 官方网页复制的链接:

    sudo wget https://downloads.apache.org/zookeeper/zookeeper-3.6.1/apache-zookeeper-3.6.1-bin.tar.gz

  2. 通过运行提取文件:

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

    注意: 解压文件时,ZooKeeper 二进制包的名称会有所不同。 确保它与您下载的文件匹配。

  3. 将解压后的文件重命名为 zookeeper使用命令:

    mv apache-zookeeper-3.6.1-bin zookeeper

  4. 通过运行以下命令授予 zookeeper 用户对该文件的所有权:

    chown -R zookeeper:zookeeper /opt/zookeeper

第 5 步:在独立模式下配置 ZooKeeper

下一步是为 ZooKeeper 创建配置文件。 下面的配置将 ZooKeeper 设置为独立模式(用于开发和测试)。

要在独立模式下配置 ZooKeeper,请创建一个新的 zoo.cfg 在 文件 zookeeper 目录中 :

拷贝zoo_sample.cfg 文件并重命名为zoo.cfg

sudo cp zoo_sample.cfg zoo.cfg

编辑zoo.cfg配置zookeeper

sudo nano /opt/zookeeper/conf/zoo.cfg

配置信息

tickTime = 2000 Client-Server通信心跳时间

dataDir = /data/zookeeper 指定数据文件目录

clientPort = 2181 指定端口号

initLimit = 5 Leader-Follower初始通信时限

syncLimit = 2 Leader-Follower同步通信时限

保存并退出文本编辑器。

第 6 步:启动 ZooKeeper 服务

进入zookeeper的bin目录

cd /opt/zookeeper/bin

ZooKeeper_第1张图片

启动 ZooKeeper 服务:

sudo bin/zkServer.sh start

输出应显示 ZooKeeper 已 启动 。
启动 ZooKeeper 服务。

步骤 7:连接到 ZooKeeper 服务器

一旦您启动了该服务,您就可以连接到 ZooKeeper 服务器。 在本指南中,它是本地服务器。
使用以下命令连接到 ZooKeeper:

bin/zkCli.sh -server 127.0.0.1:2181

等待输出打开一个新的 zk提示,这应该确认您已 连接 。
连接到 ZooKeeper 服务器。

要查看可用命令的列表,请在新的命令提示符中运行以下命令:

help

列出 ZooKeeper 命令。

要关闭会话,键入:

quit

要 停止 ZooKeeper 服务 ,请运行以下命令:

bin/zkServer.sh stop

步骤 8:创建系统服务文件

最后,您需要创建一个服务文件来管理 ZooKeeper。

  1. 创建一个新的 zookeeper.service 在您选择的文本编辑器中 文件:

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

  1. 将以下内容粘贴到文件中:

    [Unit]
    Description=Zookeeper Daemon
    Documentation=http://zookeeper.apache.org
    Requires=network.target
    After=network.target

    [Service]
    Type=forking
    WorkingDirectory=/opt/zookeeper
    User=zookeeper
    Group=zookeeper
    ExecStart=/opt/zookeeper/bin/zkServer.sh start /opt/zookeeper/conf/zoo.cfg
    ExecStop=/opt/zookeeper/bin/zkServer.sh stop /opt/zookeeper/conf/zoo.cfg
    ExecReload=/opt/zookeeper/bin/zkServer.sh restart /opt/zookeeper/conf/zoo.cfg
    TimeoutSec=30
    Restart=on-failure

    [Install]
    WantedBy=default.target

  2. 保存并退出文件

  3. 运行以下命令重新加载 systemd 服务:

systemctl daemon-reload

  1. 然后,启动 ZooKeeper 服务并使其在启动时启动:

systemctl start zookeeper

systemctl enable zookeeper

  1. 使用以下命令验证服务是否已启动并正在运行:

systemctl status zookeeper

您应该会看到 ZooKeeper is active (running)

ZooKeeper_第2张图片

2、 ZooKeeper 集群
1、重复以上步骤创建多个ZooKeeper实例
2、为每一个zookeeper指定一个myid

sudo nano /data/zookeeper myid

文件内容为此服务的id

例如,你有三个zookeeper服务,那么第一个myid为1,第二个myid为2,第三个myid为3

修改每个实例的配置文件zoo.cfg,添加以下内容

server.1=[server_ip]:2888:3888

server.2=[server_ip]:2888:3888

server.3=[server_ip]:2888:3888

server.1对应myid为1的zookeeper服务器地址

保存并退出文件。

color=“red”>修改每个实例的配置文件zoo.cfg,添加以下内容

server.1=[server_ip]:2888:3888

server.2=[server_ip]:2888:3888

server.3=[server_ip]:2888:3888

server.1对应myid为1的zookeeper服务器地址

保存并退出文件。

在组中的每台服务器上重复该过程。

参考资料:how to install zookeeper in ubuntu

你可能感兴趣的:(ZooKeeper,ubuntu,zookeeper)