使用ZooKeeper客户端
Zookeeper是一个开源的,高可靠的,分布式一致性协调服务。Zookeeper设计目标是用来解决那些复杂,易出错的分布式系统难以保证数据一致性的。不必开发专门的协同应用,十分适合高可用服务保持数据一致性。
背景信息
在使用客户端前,除主管理节点以外的客户端,需要下载并更新客户端配置文件。
操作步骤
MRS 2.x及以前版本集群执行以下操作:
- 下载客户端配置文件。
- 登录MRS控制台,在左侧导航栏选择 ,单击待操作集群的名称。
- 选择“组件管理”。
针对MRS 1.8.10及之前版本,登录MRS Manager页面,具体请参见访问MRS Manager,然后选择“服务管理”。
- 单击“下载客户端”。
“客户端类型”选择“仅配置文件”,“下载路径”选择“服务器端”,单击“确定”开始生成客户端配置文件,文件生成后默认保存在主管理节点“/tmp/MRS-client”。
图1 仅下载客户端的配置文件
- 登录MRS Manager的主管理节点。
- 在MRS控制台,选择“现有集群”,单击集群名称,在“节点管理”页签中查看节点名称,名称中包含“master1”的节点为Master1节点,名称中包含“master2”的节点为Master2节点。
MRS Manager的主备管理节点默认安装在集群Master节点上。在主备模式下,由于Master1和Master2之间会切换,Master1节点不一定是MRS Manager的主管理节点,需要在Master1节点中执行命令,确认MRS Manager的主管理节点。命令请参考2.d。
- 以root用户使用密码方式登录Master1节点。操作方法,请参见登录集群节点章节。
- 切换至omm用户。
sudo su - root
su - omm
- 执行以下命令确认MRS Manager的主管理节点。
sh ${BIGDATA_HOME}/om-0.0.1/sbin/status-oms.sh
回显信息中“HAActive”参数值为“active”的节点为主管理节点(如下例中“mgtomsdat-sh-3-01-1”为主管理节点),参数值为“standby”的节点为备管理节点(如下例中“mgtomsdat-sh-3-01-2”为备管理节点)。
Ha mode double NodeName HostName HAVersion StartTime HAActive HAAllResOK HARunPhase 192-168-0-30 mgtomsdat-sh-3-01-1 V100R001C01 2014-11-18 23:43:02 active normal Actived 192-168-0-24 mgtomsdat-sh-3-01-2 V100R001C01 2014-11-21 07:14:02 standby normal Deactived
- 使用root用户登录MRS Manager的主管理节点,例如“192-168-0-30”节点,并执行以下命令切换到omm用户。
sudo su - omm
- 在MRS控制台,选择“现有集群”,单击集群名称,在“节点管理”页签中查看节点名称,名称中包含“master1”的节点为Master1节点,名称中包含“master2”的节点为Master2节点。
- 执行以下命令切换到客户端安装目录。例如“/opt/client”。
cd /opt/client
- 执行以下命令,更新主管理节点的客户端配置。
sh refreshConfig.sh /opt/client 客户端配置文件压缩包完整路径
例如,执行命令:
sh refreshConfig.sh /opt/client/tmp/MRS-client/MRS_Services_Client.tar
界面显示以下信息表示配置刷新更新成功:
ReFresh components client config is complete. Succeed to refresh components client config.
对于MRS 1.8.5及之后版本集群,步骤1~4的操作也可以参考更新客户端(3.x之前版本)页面的方法二操作。
- 在Master节点使用客户端。
- 在已更新客户端的主管理节点,例如“192-168-0-30”节点,执行以下命令切换到客户端目录。
cd /opt/client
- 执行以下命令配置环境变量。
- 如果当前集群已启用Kerberos认证,执行以下命令认证当前用户,具体请参见准备开发用户创建对应用户。如果当前集群未启用Kerberos认证,则无需执行此命令。
kinit MRS集群用户
例如,kinit zookeeperuser。
- 直接执行Zookeeper组件的客户端命令。
zkCli.sh -server <zookeeper安装节点ip>:<port>
例如:zkCli.sh -server node-master1DGhZ:2181
- 在已更新客户端的主管理节点,例如“192-168-0-30”节点,执行以下命令切换到客户端目录。
- 运行Zookeeper客户端命令。
- 创建ZNode。
create /test
- 查看ZNode信息。
ls /
- 向ZNode中写入数据。
set /test "zookeeper test"
- 查看写入ZNode中的数据。
get /test
- 删除创建的ZNode。
delete /test
- 创建ZNode。
MRS 3.x及以后版本集群执行以下操作:
- 下载客户端配置文件。
- 登录FusionInsight Manager页面,具体请参见访问FusionInsight Manager(MRS 3.x及之后版本)。
- 选择“集群 > 待操作集群的名称 > 概览 > 更多 > 下载客户端”。
- 下载集群客户端。
“选择客户端类型”选择“仅配置文件”,选择平台类型,单击“确定”开始生成客户端配置文件,文件生成后默认保存在主管理节点“/tmp/FusionInsight-Client/”。
- 登录Manager的主管理节点。
- 以root用户登录任意部署Manager的节点。
- 执行以下命令确认主备管理节点。
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
- 以root用户登录主管理节点,并执行以下命令切换到omm用户。
sudo su - omm
- 执行以下命令切换到客户端安装目录。例如“/opt/client”。
cd /opt/client
- 执行以下命令,更新主管理节点的客户端配置。
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.
- 在Master节点使用客户端。
- 在已更新客户端的主管理节点,例如“192-168-0-30”节点,执行以下命令切换到客户端目录。
cd /opt/client
- 执行以下命令配置环境变量。
- 如果当前集群已启用Kerberos认证,执行以下命令认证当前用户,具体请参见角色管理配置拥有对应权限的角色,参考创建用户为用户绑定对应角色。如果当前集群未启用Kerberos认证,则无需执行此命令。
kinit MRS 集群用户
例如,kinit zookeeperuser。
- 直接执行Zookeeper组件的客户端命令。
zkCli.sh -server <zookeeper安装节点ip>:<port>
例如:zkCli.sh -server node-master1DGhZ:2181
- 在已更新客户端的主管理节点,例如“192-168-0-30”节点,执行以下命令切换到客户端目录。
- 运行Zookeeper客户端命令。
- 创建ZNode。
create /test
- 查看ZNode信息。
ls /
- 向ZNode中写入数据。
set /test "zookeeper test"
- 查看写入ZNode中的数据。
get /test
- 删除创建的ZNode。
delete /test
- 创建ZNode。