Todos os produtos
Search
Central de documentação

ApsaraDB for HBase:Acesse um cluster com desempenho aprimorado pela API Java

Última atualização: Jun 27, 2026

Este tópico descreve como acessar uma instância do ApsaraDB for HBase Performance-enhanced Edition por meio da API Java do ApsaraDB for HBase.

Pré-requisitos

  • SDK Java instalado. Para mais informações, consulte Atualizar o SDK Java do HBase.

  • Se a aplicação estiver implantada em uma instância ECS, verifique se ela e a instância do ApsaraDB for HBase Performance-enhanced Edition atendem às seguintes condições de conectividade de rede. Para visualizar os detalhes da instância ECS, consulte Visualizar informações da instância.

    • As instâncias devem estar na mesma região. Recomendamos posicioná-las na mesma zona de disponibilidade para reduzir a latência de rede.

    • As instâncias utilizam o mesmo tipo de rede.

      Nota

      Uma VPC oferece maior segurança; portanto, recomendamos seu uso. Caso o tipo de rede seja VPC, certifique-se de que ambas as instâncias estejam na mesma VPC.

  • Endereço IP da instância ECS ou do cliente adicionado à lista de permissões da instância do ApsaraDB for HBase Performance-enhanced Edition. Para mais informações, consulte Configurar uma lista de permissões.

Procedimento

  1. Inicialize a configuração do HBase. No projeto, insira o código abaixo e configure os parâmetros conforme descrito na tabela a seguir.

    // 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

    Descrição

    host:port

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

    String de conexão do Java API endpoint da instância do ApsaraDB for HBase Performance-enhanced Edition. Para obter esse valor, acesse o console do ApsaraDB for HBase e clique em ID da instância desejada. No painel de navegação à esquerda, clique em Database Connection. Na seção Connection Information, localize o Java API endpoint.

    username

    testuser

    Caso tenha esquecido o nome de usuário ou a senha, redefina-os no sistema de gerenciamento de clusters do ApsaraDB for HBase. Para mais informações, consulte Gerenciar usuários.

    password

    password

  2. Crie uma conexão com a instância do ApsaraDB for HBase Performance-enhanced Edition.

    Connection connection = ConnectionFactory.createConnection(conf);
    Nota

    Crie a conexão apenas uma vez durante o ciclo de vida da aplicação. A conexão é segura para threads e pode ser compartilhada entre todas elas. Para evitar vazamentos, feche o objeto Connection após a conclusão do programa. Também é possível usar uma instrução try-with-resources ou um bloco try...finally para prevenir vazamentos.

  3. Após estabelecer a conexão, use a API Java para acessar a instância do ApsaraDB for HBase Performance-enhanced Edition. Veja a seguir exemplos simples em Java.

    Nota

    Para garantir compatibilidade com clientes HBase 1.x, este exemplo usa a sintaxe correspondente a essa versão. Se você usar um cliente HBase 2.x, algumas IDEs podem exibir avisos de Deprecated, mas isso não afeta a operação.

    • Instruções 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"));
      }
    • Instruções 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();
      }