更新时间:2024-08-05 GMT+08:00

准备连接HBase集群配置文件

准备集群认证用户信息

对于开启Kerberos认证的MRS集群,需提前准备具有相关组件操作权限的用户用于程序认证。

以下HBase权限配置示例供参考,在实际业务场景中可根据业务需求灵活调整。

  1. 登录FusionInsight Manager。
  2. 选择“集群 > 服务 > HBase > 更多 > 启用Ranger鉴权”,查看该参数是否置灰。

    • 是,创建用户并在Ranger中赋予该用户相关操作权限:
      1. 选择“系统 > 权限 > 用户 > 添加用户”,在新增用户界面创建一个机机用户,例如developuser

        “用户组”需加入“hadoop”用户组。

      2. 使用Ranger管理员用户rangeradmin登录Ranger管理页面。

        rangeradmin用户默认密码为“Rangeradmin@123”,详细内容请参见用户账号一览表

      3. 在首页中单击“HBASE”区域的组件插件名称如“HBase”。
      4. 单击“Policy Name”名称为“all - table, column-family, column”操作列的
      5. 在“Allow Conditions”区域新增策略允许条件,“Select User”列勾选2.a新建的用户名称,“Permissions”列勾选“Select/Deselect All”。
      6. 单击“Save”。
    • 否,创建用户并在Manager赋予用户相关操作权限:
      1. 选择系统 > 权限 > 角色 > 添加角色
        1. 填写角色的名称,例如developrole
        2. 在“配置资源权限”的表格中选择“待操作集群的名称 > HBase > HBase Scope ”,勾选“global”的“管理”、“创建”、“读”、“写”和“执行”,单击“确定”保存。
      2. 选择“用户 > 添加用户”,在新增用户界面,创建一个机机用户,例如developuser。
        • “用户组”需加入“hadoop”用户组。
        • “角色”加入2.a新增的角色。

  3. 使用admin用户登录FusionInsight Manager,选择系统 > 权限 > 用户,在用户名为developuser的操作列选择“更多 > 下载认证凭据”下载认证凭据文件,保存后解压得到该用户的“user.keytab”文件与“krb5.conf”文件。

准备运行环境配置文件

应用程序开发或运行过程中,需通过集群相关配置文件信息连接MRS集群,配置文件通常包括集群组件信息文件以及用于安全认证的用户文件,可从已创建好的MRS集群中获取相关内容。

用于程序调测或运行的节点,需要与MRS集群内节点网络互通,同时配置hosts域名信息。

  • 场景一:准备本地Windows开发环境调测程序所需配置文件。
    1. 登录FusionInsight Manager,选择“集群 > 概览 > 更多 > 下载客户端”,“选择客户端类型”设置为“仅配置文件”,根据待安装客户端节点的节点类型选择正确的平台类型后(x86选择x86_64,ARM选择aarch64),单击“确定”,等待客户端文件包生成后根据浏览器提示下载客户端到本地并解压。

      例如,客户端配置文件压缩包为“FusionInsight_Cluster_1_Services_Client.tar”,解压后得到“FusionInsight_Cluster_1_Services_ClientConfig_ConfigFiles.tar”,继续解压该文件。

    2. 进入客户端配置文件解压路径的“HBase\config”,获取表1中相关配置文件。
      表1 配置文件

      配置文件

      作用

      core-site.xml

      配置Hadoop Core详细参数。

      hbase-site.xml

      配置HBase详细参数。

      hdfs-site.xml

      配置HDFS详细参数。

      访问HBase ThriftServer应用开发示例工程所需的配置文件还需参考准备ThriftServer实例配置文件获取。

    3. 复制解压目录下的“hosts”文件中的内容到本地hosts文件中。
      • 在应用开发过程中,如需在本地Windows系统中调测应用程序,需要确保本地节点能与“hosts”文件中所列出的各主机在网络上互通。
      • 如果当前节点与MRS集群所在网络平面不互通,可以通过绑定EIP的方式访问MRS集群,具体操作请参考配置Windows通过EIP访问安全模式集群HBase
      • Windows本地hosts文件存放路径举例:“C:\WINDOWS\system32\drivers\etc\hosts”。
  • 场景二:准备Linux环境运行程序所需配置文件。
    1. 在节点中安装MRS集群客户端。

      例如客户端安装目录为“/opt/client”。

    2. 获取配置文件:
      1. 登录FusionInsight Manager,选择“集群 > 概览 > 更多 > 下载客户端”,“选择客户端类型”设置为“仅配置文件”,根据待安装客户端节点的节点类型选择正确的平台类型后(x86选择x86_64,ARM选择aarch64),勾选“仅保存到如下路径”,单击“确定”,下载客户端配置文件至集群主OMS点。
      2. root登录主OMS节点,进入客户端配置文件所在路径(默认为“/tmp/FusionInsight-Client/”),解压软件包后获取“HBase/config”路径下的表1中相关配置文件。

        例如客户端软件包为“FusionInsight_Cluster_1_Services_Client.tar”,下载路径为主管理节点的“/tmp/FusionInsight-Client”:

        cd /tmp/FusionInsight-Client

        tar -xvf FusionInsight_Cluster_1_Services_Client.tar

        tar -xvf FusionInsight_Cluster_1_Services_ClientConfig_ConfigFiles.tar

        cd FusionInsight_Cluster_1_Services_ClientConfig_ConfigFiles

        访问HBase ThriftServer应用开发示例工程所需的配置文件还需参考准备ThriftServer实例配置文件获取。

    3. 检查客户端节点网络连接。

      在安装客户端过程中,系统会自动配置客户端节点“hosts”文件,建议检查“/etc/hosts”文件内是否包含集群内节点的主机名信息,如未包含,需要手动复制解压目录下的“hosts”文件中的内容到客户端所在节点的hosts文件中,确保本地机器能与集群各主机在网络上互通。

准备ThriftServer实例配置文件

若需实现访问HBase ThriftServer并进行表相关操作,则需执行以下步骤获取相关配置文件。

  1. 登录FusionInsight Manager,选择“集群 > 服务 > HBase > 配置 > 全部配置”,搜索并修改ThriftServer实例的配置参数“hbase.thrift.security.qop”。该参数值需与“hbase.rpc.protection”的值一一对应。保存配置,重启配置过期节点服务使更改的配置生效。

    “hbase.rpc.protection”与“hbase.thrift.security.qop”参数值的对应关系为:
    • "privacy" - "auth-conf"
    • "authentication" - "auth"
    • "integrity" - "auth-int"

  2. 获取ThriftServer实例配置文件:

    • 方法一:选择“集群 > 服务 > HBase > 实例”,单击待操作的ThriftServer实例,在“概览”界面的“配置文件”区域分别单击配置文件“hdfs-site.xml”、“core-site.xml”、“hbase-site.xml”名称,获取配置文件。
    • 方法二:通过准备运行环境配置文件中解压客户端文件的方法获取配置文件,需要在获取的“hbase-site.xml”中手动添加以下配置,其中“hbase.thrift.security.qop”的参数值与1保持一致。
      <property>
      <name>hbase.thrift.security.qop</name>
      <value>auth</value>
      </property>
      <property>
      <name>hbase.thrift.kerberos.principal</name>
      <value>thrift/hadoop.hadoop.com@HADOOP.COM</value>
      </property>
      <property>
      <name>hbase.thrift.keytab.file</name><value>/opt/huawei/Bigdata/FusionInsight_HD_8.1.0.1/install/FusionInsight-HBase-2.2.3/keytabs/HBase/thrift.keytab</value>