文档首页 > > 用户指南> 集群模式> 使用HBase> 使用HBase Shell访问集群

使用HBase Shell访问集群

分享
更新时间: 2020/04/10 GMT+08:00

用户在弹性云服务器里可以通过手动安装客户端一键部署客户端的方法,使用HBase Shell访问集群。推荐使用一键部署客户端的方法。

一键部署客户端

  1. 准备Linux弹性云服务器。

    使用一键部署客户端工具,建议Linux弹性云服务器的操作系统类型为EulerOS,CentOS,Ubuntu和SUSE。具体操作请参见准备弹性云服务器

  2. 下载客户端一键部署工具。

    使用SSH登录工具(如PuTTY)通过“弹性IP”远程登录到Linux弹性云服务器,然后执行如下命令,获取客户端一键部署工具:

    curl -O -k "http://cloudtable-publish.obs.myhwclouds.com/quick_start_hbase_shell.sh"

  3. 准备集群访问地址。

    登录表格存储服务管理控制台,在左侧导航树单击“集群模式”,然后在集群列表中找到所需要的集群,并获取相应的“ZK链接地址”。该参数值就是集群访问地址,如图1所示。

    图1 ZK链接地址

  4. 使用工具部署客户端。

    • 未开启IAM认证的集群
      请将以下命令中的"$zookeeper_address"参数替换为 3获取的ZK链接地址,然后在弹性云服务器命令行窗口,执行该命令一键部署客户端。
      source quick_start_hbase_shell.sh $zookeeper_address
    • 开启了IAM认证的集群

      在以下命令中指定IAM认证的账号信息,然后执行该命令一键部署客户端:

      source quick_start_hbase_shell.sh $zookeeper_address $user_name $access_key $secret_key
      • $zookeeper_address:替换为3获取的ZK链接地址。
      • $user_name:为创建集群的用户名。如果集群是由华为云账号创建的,$user_name需设置为账号名,如果集群是由账号下的华为云账号中的IAM用户创建的,$user_name需设置为“IAM用户.账号名”。账号与IAM用户可以类比为父子关系。

        对于开启IAM认证方式的集群,使用的账号信息$user_name限定为创建集群时的用户名,不支持创建集群后更新该用户名,如需更新用户名请提交工单联系运维人员。

      • $access_key和$secret_key:为访问密钥,分别设置为AK明文和SK明文。将鼠标移到管理控制台右上角的用户名,单击“我的凭证”,再单击“管理访问密钥”,可以查看已有的访问密钥,也可以单击“新增访问密钥”进行创建。

      IAM认证方式的安全性高于普通模式,建议CloudTable集群开启IAM认证功能,并在客户端或应用程序代码中采用IAM认证方式连接集群。

  5. 启动Shell访问集群。

    在上一步执行source命令自动部署客户端后,就已自动启动了HBase Shell。在后续使用过程中,您也可以执行“bin/hbase shell”命令启动Shell访问集群。

手动安装客户端

  1. 准备Linux弹性云服务器。

    具体操作请参见准备弹性云服务器章节中的以下内容:

    1. 准备弹性云服务器
    2. 为Linux弹性云服务器配置DNS地址和hosts文件

  2. 下载客户端。

    登录表格存储服务管理控制台,在左侧导航树单击“帮助”,然后在页面右侧单击“客户端下载”,下载客户端安装包。

    图2 客户端下载

  3. 安装客户端。

    1. 使用文件传输工具(如WinSCP工具)将客户端安装包上传到Linux弹性云服务器。
    2. 使用SSH登录工具(如PuTTY)通过“弹性IP”远程登录到Linux弹性云服务器。

      具体登录操作步骤请参见《弹性云服务器用户指南》中的“登录Linux弹性云服务器 > SSH密码方式登录”。

      登录后执行如下命令解压安装包:

      cd <客户端安装包存放路径>
      tar xzvf hbase-1.3.1-bin.tar.gz

      其中,<客户端安装包存放路径>请替换为实际的客户端存放路径。

    3. 配置zookeeper地址到配置文件。

      在客户端解压目录下,打开“hbase/conf/hbase-site.xml”文件,配置如下参数:

      • “hbase.zookeeper.quorum”:该参数值为在集群管理列表中查找的对应集群的“ZK链接地址”。

        登录表格存储服务管理控制台,在左侧导航树单击“集群模式”,然后在集群列表中找到所需要的集群,并获取相应的“ZK链接地址”。如下图所示:

        图3 查看ZK链接地址
      • “mapreduce.cluster.local.dir”:请先检查是否存在该配置项,如果不存在,请添加该配置项。

      配置示例如下:

      <configuration>
      <property>
      <name>hbase.zookeeper.quorum</name>
      <value>xxx-zk1.cloudtable.com,xxx-zk2.cloudtable.com,xxx-zk3.cloudtable.com</value>
      </property>
      
      <property>
      <name>mapreduce.cluster.local.dir</name>
      <value>${hadoop.tmp.dir}/mapred/local</value>
      </property>
      </configuration>

  4. (可选)配置安全模式参数。

    只有当创建集群时开启了IAM统一身份认证,才需要执行该步骤配置安全模式参数,否则,不需要执行该步骤。

    1. 在客户端安装目录下,打开“hbase/conf/hbase-site.xml”文件。
    2. 去注释除"hbase.zookeeper.quorum"和"mapreduce.cluster.local.dir"之外的安全参数。

      "hbase-site.xml"文件中的安全参数默认是注释掉的,配置前需先去注释打开。

    3. 配置用户名、accesskey、secretkey。
      • cloudtable.iam.username:为创建集群的用户名。如果集群是由华为云账号创建的,$user_name需设置为账号名,如果集群是由账号下的华为云账号中的IAM用户创建的,$user_name需设置为“IAM用户.账号名”。账号与IAM用户可以类比为父子关系。
      • cloudtable.iam.accesskey:AK明文。
      • cloudtable.iam.secretkey:SK明文。

        在用户名对应的“我的凭证 > 管理访问密钥”界面中可新增访问密钥,访问密钥生成后请务必下载保存好密钥文件,从中可以获取到该用户名的AK明文和SK明文。

        访问密钥生成后无法从界面查询到AK明文和SK明文,如AK明文和SK明文丢失,可重新新增访问密钥,但使用之前访问密钥的应用将失效。

      其他安全参数使用默认值。

      配置示例如下:

      <configuration>
      <property>
      <name>hbase.zookeeper.quorum</name>
      <value>xxx-zk1.cloudtable.com,xxx-zk2.cloudtable.com,xxx-zk3.cloudtable.com</value>
      </property>
      
      <property>
      <name>mapreduce.cluster.local.dir</name>
      <value>${hadoop.tmp.dir}/mapred/local</value>
      </property>
      
        <property>
          <name>cloudtable.iam.username</name>
          <value></value>
        </property>
        <property>
          <name>cloudtable.iam.accesskey</name>
          <value></value>
        </property>
        <property>
          <name>cloudtable.iam.secretkey</name>
          <value></value>
        </property>
        <property>
          <name>hbase.security.authorization</name>
          <value>true</value>
        </property>
        <property>
          <name>hbase.security.authentication</name>
          <value>digest</value>
        </property>   
        <property>
          <name>hbase.rpc.protection</name>
          <value>authentication</value>
        </property>
        <property> 
          <name>cloudtable.iam.service.password.encrypted</name>  
          <value>false</value> 
        </property>  
        <property> 
          <name>hbase.client.userprovider.class</name>  
          <value>org.apache.hadoop.hbase.security.UserProviderExtend</value> 
        </property>  
        <property> 
          <name>hbase.zookeeper.custom.auth.enabled</name>  
          <value>true</value> 
        </property>  
        <property> 
          <name>hbase.zookeeper.authProvider.scheme</name>  
          <value>IAM_AK_SK</value> 
        </property>

  5. 启动Shell访问集群。

    执行“bin/hbase shell”,启动Shell访问集群。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问