Todos los productos
Search
Centro de documentos

ApsaraDB for HBase:Acceso a un clúster de rendimiento mejorado con la API de Java

Última actualización: Sep 04, 2026

Este tema describe cómo acceder a una instancia de ApsaraDB for HBase Performance-enhanced Edition mediante la API de Java de ApsaraDB for HBase.

Requisitos previos

  • El SDK de Java está instalado. Para obtener más información, consulte Upgrade the HBase Java SDK.

  • Si su aplicación está desplegada en una instancia ECS, asegúrese de que la instancia de ApsaraDB for HBase Performance-enhanced Edition y la instancia ECS cumplan las siguientes condiciones de conectividad de red. Para consultar los detalles de una instancia ECS, consulte View instance information.

    • Las instancias se encuentran en la misma región. Se recomienda ubicarlas en la misma zona de disponibilidad para reducir la latencia de red.

    • Las instancias utilizan el mismo tipo de red.

      Nota

      Una VPC ofrece mayor seguridad; se recomienda su uso. Si el tipo de red es VPC, asegúrese de que ambas instancias estén en la misma VPC.

  • La dirección IP de la instancia ECS o del cliente se ha agregado a la lista blanca de la instancia de ApsaraDB for HBase Performance-enhanced Edition. Para obtener más información, consulte Configure a whitelist.

Procedimiento

  1. Inicialice la configuración de HBase. En su proyecto, introduzca el siguiente código y configure los parámetros como se describe en la tabla a continuación.

    // Create a Configuration object.
    Configuration conf = HBaseConfiguration.create();
    // The Java API endpoint of the cluster. You can obtain the endpoint on the Database Connection page on the console.
    conf.set("hbase.zookeeper.quorum", "ld-bp150tns0sjxs****-proxy-hbaseue.hbaseue.rds.aliyuncs.com:30020");
    // Set the username and password.
    conf.set("hbase.client.username", "testuser");
    conf.set("hbase.client.password", "password");
    // If you directly depend on the Alibaba Cloud HBase client, you do not need to configure the connection.impl parameter. If you depend on alihbase-connector, you must configure this parameter.
    //conf.set("hbase.client.connection.impl", AliHBaseUEClusterConnection.class.getName());

    Parámetro

    Valor

    Descripción

    host:puerto

    ld-bp150tns0sjxs****-proxy-hbaseue.hbaseue.rds.aliyuncs.com:30020

    Cadena de conexión del Java API endpoint de su instancia de ApsaraDB for HBase Performance-enhanced Edition. Para obtener este valor, vaya a la consola de ApsaraDB for HBase y haga clic en el ID de la instancia destino. En el panel de navegación izquierdo, haga clic en Database Connection. En la sección Connection Information, busque el Java API endpoint.

    username

    testuser

    Si olvida su nombre de usuario o contraseña, puede restablecerlos en el sistema de gestión de clústeres de ApsaraDB for HBase. Para obtener más información, consulte Manage users.

    contraseña

    password

  2. Cree una conexión a la instancia de ApsaraDB for HBase Performance-enhanced Edition.

    Connection connection = ConnectionFactory.createConnection(conf);
    Nota

    Cree la conexión solo una vez durante el ciclo de vida de la aplicación. La conexión es segura para hilos y se puede compartir entre todos ellos. Para evitar fugas de conexión, cierre el objeto Connection después de que finalice el programa. También puede usar una instrucción try-with-resources o un bloque try...finally para evitarlas.

  3. Una vez establecida la conexión, use la API de Java para acceder a la instancia de ApsaraDB for HBase Performance-enhanced Edition. A continuación se presentan ejemplos sencillos en Java.

    Nota

    Para garantizar la compatibilidad con clientes HBase 1.x, este ejemplo utiliza la sintaxis correspondiente. Si usa un cliente HBase 2.x, algunos IDE pueden mostrar advertencias Deprecated, pero esto no afecta el funcionamiento.

    • Sentencias DDL

      try (Admin admin = connection.getAdmin()){
          // Create a table.
          HTableDescriptor htd = new HTableDescriptor(TableName.valueOf("tablename"));
          htd.addFamily(new HColumnDescriptor(Bytes.toBytes("family")));
          // Create a table with a single partition.
          // In production environments, we recommend pre-splitting the table based on your data characteristics.
          admin.createTable(htd);
            
          // Disable the table.
          admin.disableTable(TableName.valueOf("tablename"));
            
          // Truncate the table.
          admin.truncateTable(TableName.valueOf("tablename"), true);
            
          // Delete the table.
          admin.deleteTable(TableName.valueOf("tablename"));
      }
    • Sentencias DML

      // The Table object is not thread-safe. Each thread must obtain a unique Table object from the Connection.
      try (Table table = connection.getTable(TableName.valueOf("tablename"))) {
          // Insert data.
          Put put = new Put(Bytes.toBytes("row"));
          put.addColumn(Bytes.toBytes("family"), Bytes.toBytes("qualifier"), Bytes.toBytes("value"));
          table.put(put);
      
          // Read a single row.
          Get get = new Get(Bytes.toBytes("row"));
          Result res = table.get(get);
      
          // Delete a row.
          Delete delete = new Delete(Bytes.toBytes("row"));
          table.delete(delete);
      
          // Scan a range of data.
          Scan scan = new Scan(Bytes.toBytes("startRow"), Bytes.toBytes("endRow"));
          ResultScanner scanner = table.getScanner(scan);
          for (Result result : scanner) {
              // Process the query result.
              // ...
          }
          scanner.close();
      }