更新时间:2024-11-29 GMT+08:00

从零开始使用Zookeeper

Zookeeper是一个开源的,高可靠的,分布式一致性协调服务。Zookeeper设计目标是用来解决那些复杂,易出错的分布式系统难以保证数据一致性的。不必开发专门的协同应用,十分适合高可用服务保持数据一致性。

背景信息

在使用客户端前,除主管理节点以外的客户端,需要下载并更新客户端配置文件。

操作步骤

  1. 下载客户端配置文件。

    1. 登录FusionInsight Manager页面。
    2. 在主页右上方单击“下载客户端”。
    3. 下载集群客户端。

      “选择客户端类型”选择“仅配置文件”,选择平台类型,单击“确定”开始生成客户端配置文件,文件生成后默认保存在主管理节点“/tmp/FusionInsight-Client/”。

  2. 登录Manager的主管理节点。

    1. root用户登录任意部署Manager的节点。
    2. 执行以下命令确认主备管理节点。

      sh ${BIGDATA_HOME}/om-server/om/sbin/status-oms.sh

      界面打印信息中“HAActive”参数值为“active”的节点为主管理节点(如下例中“node-master1”为主管理节点),参数值为“standby”的节点为备管理节点(如下例中“node-master2”为备管理节点)。

      HAMode 
      double 
      NodeName             HostName        HAVersion          StartTime                HAActive             HAAllResOK           HARunPhase  
      192-168-0-30         node-master1    V100R001C01        2020-05-01 23:43:02      active               normal               Actived     
      192-168-0-24         node-master2    V100R001C01        2020-05-01 07:14:02      standby              normal               Deactived 
    3. root用户登录主管理节点,并执行以下命令切换到omm用户。

      sudo su - omm

  3. 执行以下命令切换到客户端安装目录。例如“/opt/client”。

    cd /opt/client

  4. 执行以下命令,更新主管理节点的客户端配置。

    sh refreshConfig.sh /opt/client 客户端配置文件压缩包完整路径

    例如,执行命令:

    sh refreshConfig.sh /opt/client /tmp/FusionInsight-Client/FusionInsight_Cluster_1_Services_Client.tar

    界面显示以下信息表示配置刷新更新成功:

    ReFresh components client config is complete.
    Succeed to refresh components client config.

  1. 在Master节点使用客户端。

    1. 在已更新客户端的主管理节点,例如“192-168-0-30”节点,执行以下命令切换到客户端目录。

      cd /opt/client

    2. 执行以下命令配置环境变量。

      source bigdata_env

    3. 如果当前集群已启用Kerberos认证,执行以下命令认证当前用户。如果当前集群未启用Kerberos认证,则无需执行此命令。

      kinit MRS 集群用户

      例如,kinit zookeeperuser

    4. 直接执行Zookeeper组件的客户端命令。

      zkCli.sh -server <zookeeper安装节点ip>:<port>

      例如:zkCli.sh -server node-master1DGhZ:2181

  2. 运行Zookeeper客户端命令。

    1. 创建ZNode。
      create /test
    2. 查看ZNode信息。
      ls /
    3. 向ZNode中写入数据。
      set /test "zookeeper test"
    4. 查看写入ZNode中的数据。
      get /test
    5. 删除创建的ZNode。
      delete /test