文档首页/ 云数据库 GeminiDB/ GeminiDB HBase接口/ 快速入门/ 购买并连接GeminiDB HBase接口实例
更新时间:2025-08-04 GMT+08:00

购买并连接GeminiDB HBase接口实例

本章节主要介绍如何在云数据库 GeminiDB控制台购买并连接GeminiDB HBase接口实例的基本操作。

如果需要其他方式连接实例请参考其他连接实例方式

前提条件

  • 已创建弹性云服务器,创建弹性云服务器的方法,请参见《弹性云服务器快速入门》中“创建弹性云服务器”章节。
  • 弹性云服务器上已经安装JDK环境。
  • 下载HBase客户端。进入网站后,选择2.6.X最新版本的目录,然后下载hbase-2.6.X-client-bin.tar.gz。例如,当前最新版本为2.6.1,选择2.6.1的目录,然后下载hbase-2.6.1-client-bin.tar.gz。如果使用1.X版本的客户端,将会出现兼容性问题,不建议使用。

步骤1:查看实例IP地址

  1. 登录管理控制台
  2. “实例管理”页面,单击目标实例名称,进入基本信息页面。

    方法一:

    “基本信息”页面下方节点信息列表中,即可查看到GeminiDB HBase接口实例下各个节点的内网IP地址。

    GeminiDB HBase接口实例目前不支持绑定公网IP。

    图1 查看IP地址

    在网络信息区域可以查看到GeminiDB HBase接口实例的端口,实际客户端应该连接的默认端口为2181。

    图2 查看端口

    方法二:

    您也可以单击实例“基本信息”左侧导航中的“连接管理”,即可查看到实例的内网IP地址和端口。

    图3 查看IP和端口

步骤2:购买实例

具体详细的购买操作指导请参见购买实例

  1. 登录管理控制台
  2. 在服务列表中选择“数据库 > 云数据库 GeminiDB”。
  3. “实例管理”页面,单击“购买数据库实例”
  4. “服务选型”页面,选择计费模式,填写并选择实例相关信息后,单击“立即购买”
    图4 计费模式和基本信息(经典)
    图5 计费模式和基本信息(云原生)
    表1 计费方式

    参数

    描述

    计费模式

    选择“包年包月”“按需计费”

    • 包年包月
      • 用户选购完服务配置后,可以根据需要设置购买时长,系统会一次性按照购买价格对账户余额进行扣费。
      • 创建成功后,如果包年/包月实例到期后不再长期使用资源,可将“包年/包月”实例转为“按需计费”,到期后将转为按需计费实例。具体请参见包年/包月转按需
        说明:
        • “包年/包月”方式购买的实例不能直接删除,仅支持资源退订操作,如何退订资源请参见如何退订包年/包月实例
        • 云原生部署模式实例的“包年/包月”模式处于公测中,您可以在管理控制台右上角,选择“工单 > 新建工单”,联系客服申请开通。
    • 按需付费
      • 用户选购完服务配置后,无需设置购买时长,系统会根据消费时长对账户余额进行扣费。
      • 创建成功后,如果需要长期使用资源,可将“按需计费”实例转为“包年/包月”,继续使用这些资源的同时,享受包年/包月的低资费。具体请参见按需转包年/包月
    表2 基本信息

    参数

    描述

    区域

    租户所在的区域。

    说明:

    请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。不同区域内的产品内网不互通,且购买后不能更换,请谨慎选择。

    实例名称

    设置实例名称时,需要满足如下规则。

    • 实例名称允许和已有名称重复。
    • 实例名称长度在4个到64个字节之间,必须以字母或中文字开头,区分大小写,可以包含字母、数字、中划线、下划线或中文(一个中文字符占用3个字节),不能包含其他特殊字符。

    兼容接口

    HBase

    云数据库 GeminiDB目前兼容Redis、DynamoDB、Cassandra、HBase、InfluxDB和MongoDB主流NoSQL接口,您当前选择的是HBase接口,其他接口的选择具体参见如何选择接口

    部署模式

    • 经典:GeminiDB经典的存算分离架构。
    • 云原生:新一代存算分离架构,更灵活,支持更多的可用区。
    说明:
    • 经典和云原生只是部署模式有差异,对用户使用无差异;云原生支持的可用区更多,对于同时支持经典和云原生的,用户选择任意部署模式即可。
    • 云原生部署模式目前处于公测中,如需使用,您可以在管理控制台右上角,选择“工单 > 新建工单”,联系客服开通。

    实例类型

    集群

    集群是基于多个节点(至少是三节点)组成。集群的主要特点是横向扩展能力强,能满足不断增长的数据量需求,因此当您对可用性要求较高、数据量较大、未来扩展性要求较高的情况下,可以使用集群架构。

    可用区

    指在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。

    图6 规格与存储
    表3 规格与存储

    参数

    描述

    性能规格

    CPU规格越高,性能越好。请根据实际业务场景,选取符合业务类型的性能规格。

    节点数量

    节点数量可选择范围为3~80,请根据实际需要进行选取。

    存储空间

    存储空间的取值范围(最大值和最小值)与所选的实例规格有关

    调整存储空间容量时,选择容量大小必须为整数,且至少需选择1GB的扩容量。

    磁盘加密

    您可以根据业务需要选择是否进行磁盘加密。

    • 不加密:未开启加密功能。
    • 加密:当启用加密功能,用户创建数据库实例成功后,磁盘数据会在服务端加密成密文后存储。用户下载加密对象时,存储的密文会先在服务端解密为明文,再提供给用户,用于提高数据安全性,但对数据库读写性能有少量影响。
      • 密钥名称:选择或创建密钥。
      • 如需使用共享密钥,需要先确保已经创建委托,然后在下拉列表选择其他账号共享给当前账号的密钥。

        共享密钥基于资源访问管理(Resource Access Manager,简称RAM)服务的机制,密钥的所有者可以将密钥共享给一个或者多个账号使用。创建共享密钥的操作,请参见创建共享

      • 手动输入密钥ID。该密钥必须位于当前区域。
      说明:
      • 该功能目前处于内侧阶段,如需使用,您可以在管理控制台右上角,选择“工单 > 新建工单”,联系客服开通。
      • 实例创建成功后,不可修改磁盘加密状态,且无法更改密钥。
      • 密钥在使用过程中不能被禁用、删除或冻结,否则会导致数据库不可用。
      • 创建密钥请参见《数据加密服务用户指南》的“创建密钥”章节内容。
    图7 网络配置
    表4 网络配置

    参数

    描述

    虚拟私有云

    实例所在的虚拟专用网络,可以对不同业务进行网络隔离。您可根据需要创建或选择所需的虚拟私有云。

    如果没有可用的VPC,系统自动为您分配资源。

    如何创建VPC,请参见《虚拟私有云用户指南》中的“创建虚拟私有云基本信息及默认子网”。

    您还可以通过共享VPC功能,使用其他账号共享的VPC和子网。

    共享VPC是基于资源访问管理(Resource Access Manager,简称RAM)服务的机制,VPC的所有者可以将VPC内的子网共享给其他账号使用,以实现网络资源的共享和统一管理,提升资源管控效率、降低运维成本。

    有关VPC子网共享的更多信息,请参见《虚拟私有云用户指南》的“共享VPC”相关内容。

    说明:
    • 目前实例创建完成后不支持切换虚拟私有云VPC,请谨慎选择所属虚拟私有云。
    • 如需与ECS进行内网通信,实例与需要通信的ECS需要处于同一个虚拟私有云下,或者不同虚拟私有云之间配置对等连接

    子网

    通过子网提供与其他网络隔离的、可以独享的网络资源,以提高网络安全。

    说明:

    目前不支持选择IPV6网段的子网,建议您在使用时创建并选择IPV4网段的子网。

    内网安全组

    安全组限制安全访问规则,加强与其他服务间的安全访问。请确保所选取的安全组允许客户端访问数据库实例。

    如果没有可用的安全组,系统自动为您分配资源。

    图8 数据库配置

    表5 数据库配置

    参数

    描述

    管理员账户名

    管理员账户名默认为rwuser。

    管理员密码

    用户设置的密码。

    • 长度为8~32个字符。
    • 必须是大写字母、小写字母、数字、特殊字符的组合,其中可输入特殊字符~!#%^*-_=+?。
    • 注意:密码中请勿使用@和/
    • 系统会进行弱密码校验,安全起见,请输入高强度密码。

    请妥善管理您的密码,因为系统将无法获取您的密码信息。

    确认密码

    必须和管理员密码一致。

    企业项目

    该参数针对企业用户使用。

    企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理,默认项目为default。

    请在下拉框中选择所在的企业项目。更多关于企业项目的信息,请参见《企业管理用户指南》

    参数模板

    数据库参数模板就像是数据库引擎配置值的容器,参数模板中的参数可应用于一个或多个相同类型的数据库实例。实例创建成功后,参数模板可进行修改。

    用户可以在实例创建完成之后根据业务需要进行调整。

    其他参数选择默认配置。

  5. 在“订单详情确认”页面,核对实例信息。如果需要修改,单击“上一步”,修改实例信息。
  6. 核对无误后,勾选协议,单击“提交”,开始创建实例。
  7. 单击“返回实例列表”按钮,返回实例列表页。
  8. “实例管理”页面,您可以查看并管理实例。
    • 实例创建过程中,运行状态显示为“创建中”,此过程约5~9分钟。
    • 实例创建完成后,运行状态显示为“正常”

步骤3:通过Java连接实例

  1. 获取GeminiDB HBase接口实例的开放的内网IP地址、端口。

    内网IP地址和端口的获取方法请参见查看实例IP地址

  2. 登录弹性云服务器,具体操作请参见《弹性云服务器快速入门》中“登录弹性云服务器”。
  3. 请添加以下Maven依赖到您项目中的pom.xml。如果使用1.X版本的客户端,将会出现兼容性问题导致读写失败,不建议使用。 建议使用hbase-client 2.2.3及以上的依赖版本,其中SSL功能仅在hbase-client 2.6.0以上版本支持。

    <dependency>
        <groupId>org.apache.hbase</groupId>
        <artifactId>hbase-client</artifactId>
        <version>2.6.1</version>
    </dependency>

  4. 编辑连接GeminiDB HBase接口实例的代码,将代码中的"your_hbase_instance_quorum" 替换为集群IP地址,"your_user_name"替换为您创建集群时设置的用户名(默认为rwuser),替换"your_password"为您创建集群时设置的密码。同时运行该代码需要您在实例中已经有创建好的HBase表,并且替换相应表名到代码中的 "your_table_name"处。

    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.hbase.HBaseConfiguration;
    import org.apache.hadoop.hbase.TableName;
    import org.apache.hadoop.hbase.client.*;
    import org.apache.hadoop.hbase.util.Bytes;
    
    import java.io.IOException;
    
    public class HBaseExample {
        public static void main(String[] args) throws IOException {
            // 创建配置对象并设置Hbase连接参数
            Configuration config = HBaseConfiguration.create();
            config.set("hbase.zookeeper.quorum", "your_hbase_instance_quorum");
            config.set("hbase.zookeeper.property.clientPort", "2181");
    
            // 填写用户名和密码
            UserGroupInformation ugi = UserGroupInformation.createProxyUser("your_user_name",   UserGroupInformation.createRemoteUser("your_password"));
    
            // 建立与Hbase实例的连接
            Connection connection = ConnectionFactory.createConnection(config, User.create(ugi));
    
            try {
                // 获取表对象
                TableName tableName = TableName.valueOf("your_table_name");
                Table table = connection.getTable(tableName);
    
                // 插入数据
                Put put = new Put(Bytes.toBytes("row_key"));
                put.addColumn(Bytes.toBytes("cf"), Bytes.toBytes("col"), Bytes.toBytes("value"));
                table.put(put);
    
                // 获取单行数据
                Get get = new Get(Bytes.toBytes("row_key"));
                Result result = table.get(get);
                byte[] value = result.getValue(Bytes.toBytes("cf"), Bytes.toBytes("col"));
                System.out.println("Success: " + Bytes.toString(value));
    
            } finally {
                // 关闭连接
                connection.close();
            }
        }
    }

  5. 运行示例代码,确认结果是否正常。样例输出为 "Success: value"