Tous les produits
Search
Centre de documentation

ApsaraDB for HBase:Accéder à un cluster haute performance avec l'API Java

Dernière mise à jour :Aug 10, 2026

Cette rubrique explique comment accéder à une instance ApsaraDB for HBase Performance-enhanced Edition à l'aide de l'API Java ApsaraDB for HBase.

Prérequis

  • Le SDK Java est installé. Pour plus d'informations, consultez la section Mettre à niveau le SDK Java HBase.

  • Si votre application est déployée sur une instance ECS, assurez-vous que l'instance ApsaraDB for HBase Performance-enhanced Edition et l'instance ECS remplissent les conditions suivantes en matière de connectivité réseau. Pour savoir comment afficher les détails d'une instance ECS, consultez la section Afficher les informations sur l'instance.

    • Les instances se trouvent dans la même région. Nous vous recommandons de les placer dans la même zone de disponibilité afin de réduire la latence réseau.

    • Les instances utilisent le même type de réseau.

      Remarque

      Un VPC offre une sécurité accrue. Nous vous recommandons d'utiliser un VPC. Si le type de réseau est VPC, veillez à ce que les deux instances soient situées dans le même VPC.

  • L'adresse IP de l'instance ECS ou du client a été ajoutée à la liste d'autorisation de l'instance ApsaraDB for HBase Performance-enhanced Edition. Pour plus d'informations, consultez la section Configurer une liste d'autorisation.

Procédure

  1. Initialisez la configuration HBase. Dans votre projet, saisissez le code suivant et configurez les paramètres comme indiqué dans le tableau ci-dessous.

    // 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());

    Parameter

    Value

    Description

    host:port

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

    La chaîne de connexion pour le Java API endpoint de votre instance ApsaraDB for HBase Performance-enhanced Edition. Pour obtenir cette valeur, accédez à la console ApsaraDB for HBase et cliquez sur l'ID de l'instance cible. Dans le volet de navigation de gauche, cliquez sur Database Connection. Dans la section Connection Information, recherchez le Java API endpoint.

    username

    testuser

    Si vous avez oublié votre nom d'utilisateur ou votre mot de passe, vous pouvez les réinitialiser dans le système de gestion des clusters ApsaraDB for HBase. Pour plus d'informations, consultez la section Gérer les utilisateurs.

    password

    password

  2. Créez une connexion à l'instance ApsaraDB for HBase Performance-enhanced Edition.

    Connection connection = ConnectionFactory.createConnection(conf);
    Remarque

    Créez la connexion une seule fois au cours du cycle de vie de l'application. La connexion est thread-safe et peut être partagée entre tous les threads. Pour éviter les fuites de connexions, fermez l'objet Connection une fois le programme terminé. Vous pouvez également utiliser une instruction try-with-resources ou un bloc try...finally pour prévenir les fuites.

  3. Une fois connecté, utilisez l'API Java pour accéder à l'instance ApsaraDB for HBase Performance-enhanced Edition. Voici quelques exemples simples en Java.

    Remarque

    Pour garantir la compatibilité avec les clients HBase 1.x, cet exemple utilise la syntaxe d'un client HBase 1.x. Si vous utilisez un client HBase 2.x, certains IDE peuvent afficher des avertissements Deprecated, mais cela n'affecte pas son fonctionnement.

    • Instructions 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"));
      }
    • Instructions 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();
      }