All Products
Search
Document Center

ApsaraDB for HBase:Akses kluster performa-tinggi dengan API Java

Last Updated:Apr 25, 2026

Topik ini menjelaskan cara mengakses instans ApsaraDB for HBase Performance-enhanced Edition menggunakan API Java ApsaraDB for HBase.

Prasyarat

  • SDK Java telah diinstal. Untuk informasi selengkapnya, lihat Upgrade SDK Java HBase.

  • Jika aplikasi Anda dideploy pada Instance ECS, pastikan instans ApsaraDB for HBase Performance-enhanced Edition dan Instance ECS memenuhi kondisi berikut untuk konektivitas jaringan. Untuk informasi tentang cara melihat detail Instance ECS, lihat Lihat informasi instans.

    • Instans berada di wilayah yang sama. Disarankan menempatkannya di zona ketersediaan yang sama untuk mengurangi latensi jaringan.

    • Instans menggunakan jenis jaringan yang sama.

      Catatan

      VPC menyediakan keamanan yang lebih tinggi. Disarankan menggunakan VPC. Jika jenis jaringannya adalah VPC, pastikan kedua instans berada dalam VPC yang sama.

  • Alamat IP Instance ECS atau klien telah ditambahkan ke daftar putih instans ApsaraDB for HBase Performance-enhanced Edition. Untuk informasi selengkapnya, lihat Konfigurasi daftar putih.

Prosedur

  1. Inisialisasi konfigurasi HBase. Di proyek Anda, masukkan kode berikut dan konfigurasikan parameter sesuai dengan tabel di bawah ini.

    // Buat objek Configuration.
    Configuration conf = HBaseConfiguration.create();
    // Titik akhir API Java kluster. Anda dapat memperoleh titik akhir ini di halaman Database Connection pada Konsol.
    conf.set("hbase.zookeeper.quorum", "ld-bp150tns0sjxs****-proxy-hbaseue.hbaseue.rds.aliyuncs.com:30020");
    // Atur username dan password.
    conf.set("hbase.client.username", "testuser");
    conf.set("hbase.client.password", "password");
    // Jika Anda langsung bergantung pada client Alibaba Cloud HBase, Anda tidak perlu mengonfigurasi parameter connection.impl. Jika Anda bergantung pada alihbase-connector, Anda harus mengonfigurasi parameter ini.
    //conf.set("hbase.client.connection.impl", AliHBaseUEClusterConnection.class.getName());

    Parameter

    Nilai

    Deskripsi

    host:port

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

    String koneksi untuk Java API endpoint instans ApsaraDB for HBase Performance-enhanced Edition Anda. Untuk memperoleh nilai ini, buka Konsol ApsaraDB for HBase dan klik ID instans target. Di panel navigasi sebelah kiri, klik Database Connection. Di bagian Connection Information, temukan Java API endpoint.

    username

    testuser

    Jika Anda lupa username atau password, Anda dapat mengatur ulang di sistem manajemen kluster ApsaraDB for HBase. Untuk informasi selengkapnya, lihat Manage users.

    password

    password

  2. Buat koneksi ke instans ApsaraDB for HBase Performance-enhanced Edition.

    Connection connection = ConnectionFactory.createConnection(conf);
    Catatan

    Buat koneksi hanya sekali selama siklus hidup aplikasi. Koneksi bersifat thread-safe dan dapat digunakan bersama oleh semua thread. Untuk mencegah kebocoran koneksi, tutup objek Connection setelah program selesai. Anda juga dapat menggunakan pernyataan try-with-resources atau blok try...finally untuk mencegah kebocoran.

  3. Setelah terhubung, Anda dapat menggunakan API Java untuk mengakses instans ApsaraDB for HBase Performance-enhanced Edition. Berikut adalah contoh Java sederhana.

    Catatan

    Untuk memastikan kompatibilitas dengan client HBase 1.x, contoh ini menggunakan sintaksis untuk client HBase 1.x. Jika Anda menggunakan client HBase 2.x, beberapa IDE mungkin menampilkan peringatan Deprecated, tetapi hal ini tidak memengaruhi operasinya.

    • Pernyataan DDL

      try (Admin admin = connection.getAdmin()){
          // Buat tabel.
          HTableDescriptor htd = new HTableDescriptor(TableName.valueOf("tablename"));
          htd.addFamily(new HColumnDescriptor(Bytes.toBytes("family")));
          // Buat tabel dengan satu partisi.
          // Di lingkungan produksi, kami menyarankan melakukan pre-split pada tabel berdasarkan karakteristik data Anda.
          admin.createTable(htd);
            
          // Nonaktifkan tabel.
          admin.disableTable(TableName.valueOf("tablename"));
            
          // Truncate tabel.
          admin.truncateTable(TableName.valueOf("tablename"), true);
            
          // Hapus tabel.
          admin.deleteTable(TableName.valueOf("tablename"));
      }
    • Pernyataan DML

      // Objek Table tidak thread-safe. Setiap thread harus mendapatkan objek Table unik dari Connection.
      try (Table table = connection.getTable(TableName.valueOf("tablename"))) {
          // Masukkan data.
          Put put = new Put(Bytes.toBytes("row"));
          put.addColumn(Bytes.toBytes("family"), Bytes.toBytes("qualifier"), Bytes.toBytes("value"));
          table.put(put);
      
          // Baca satu baris.
          Get get = new Get(Bytes.toBytes("row"));
          Result res = table.get(get);
      
          // Hapus baris.
          Delete delete = new Delete(Bytes.toBytes("row"));
          table.delete(delete);
      
          // Pindai rentang data.
          Scan scan = new Scan(Bytes.toBytes("startRow"), Bytes.toBytes("endRow"));
          ResultScanner scanner = table.getScanner(scan);
          for (Result result : scanner) {
              // Proses hasil kueri.
              // ...
          }
          scanner.close();
      }