Tüm Ürünler
Search
Belge Merkezi

Lindorm:Lindorm Shell ile LindormTable'a Bağlanma

Son Güncelleme:Oct 07, 2026

Lindorm Shell, Lindorm tarafından sunulan ve HBase ile uyumlu bir komut satırı aracıdır. Tablo oluşturma, veri ekleme ve sorgulama gibi veri işlemleri için HBase Java API aracılığıyla LindormTable'a bağlanmak üzere bu aracı kullanabilirsiniz. Bu konuda Lindorm Shell'in nasıl indirileceği ve LindormTable'a nasıl bağlanılacağı açıklanmaktadır.

Ön Koşullar

  • Java Development Kit (JDK) 1,8 veya sonraki bir sürüm yüklü olmalıdır.

  • İstemcinizin IP adresini Lindorm örneğinin izin listesine ekleyin. Daha fazla bilgi için bkz. İzin listesi yapılandırma.

Kullanım Notları

  • Lindorm Shell kullanarak LindormTable'a bağlandığınızda yalnızca temel veri tanımlama dili (DDL) ve veri işleme dili (DML) işlemlerini yapabilirsiniz. Desteklenmeyen işlemler hakkında bilgi edinmek için bkz. HBase API kullanım sınırlamaları.

  • SQL ile oluşturulan geniş tablolara erişmek için HBase API'sini kullanmayın. Bu durum, bozuk karakterlerin döndürülmesine neden olabilir.

  • Lindorm Shell'i Linux veya macOS işletim sisteminde kullanmanızı öneririz.

    Önemli

    Lindorm Shell'i Windows üzerinde kullanıyorsanız, hatalarla karşılaşabilir veya eksik kitaplık iletileri alabilirsiniz. Bu durumda, hata mesajında belirtildiği şekilde gerekli kitaplığı işletim sistemine eklemeniz gerekir.

Yordam

  1. Lindorm Shell'i indirin.

    1. Lindorm konsolu sayfasının sol üst köşesinde, örneğinizin bulunduğu bölgeyi seçin. Instances sayfasında hedef örneğin kimliğini tıklayın.

    2. Sol gezinme bölmesinde Database Connections öğesini tıklayın ve ardından Wide Table Engine sekmesini seçin.

    3. Lindorm Shell bölümündeki Download düğmesini tıklayın.

  2. Lindorm Shell paketini açmak için aşağıdaki komutu çalıştırın. Bu örnekte paket alihbase-2.0.18 dizinine açılır.

    tar zxvf hbaseue-shell.tar.gz
  3. Bağlantı parametrelerini yapılandırın.

    1. alihbase-2.0.18/conf dizinine gidin ve hbase-site.xml dosyasını açın.

      vi hbase-site.xml
    2. LindormTable için uç nokta, kullanıcı adı ve parolayı yapılandırın.

      <configuration>
          <property>
              <name>hbase.zookeeper.quorum</name>
              <value>ld-bp17j28j2y7pm****-proxy-lindorm-pub.lindorm.rds.aliyuncs.com:30020</value>
          </property>
          <property>
              <name>hbase.client.username</name>
              <value>testuser</value>
          </property>
          <property>
              <name>hbase.client.password</name>
              <value>password</value>
          </property>
      </configuration>

      Parametreler:

      • hbase.zookeeper.quorum: LindormTable bağlantı uç noktası. Bu uç noktayı konsoldaki Access by Using HBase Java API bölümünde bulabilirsiniz.

        • VPC uç noktası: Lindorm Shell, Lindorm örneğinizle aynı VPC içindeki bir ECS örneğinde bulunuyorsa bu uç noktayı kullanın.

        • Genel uç nokta: Lindorm Shell, şirket içi bir makinede veya Lindorm örneğinizin VPC'si dışındaki bir ECS örneğinde bulunuyorsa bu uç noktayı kullanın.

      • hbase.client.username ve hbase.client.password: LindormTable'a erişmek için kullanılan kullanıcı adı ve parola. Parolanızı unutursanız, LindormTable'ın Cluster Management System bölümünden parolayı değiştirebilirsiniz. Daha fazla bilgi için bkz. Kullanıcı parolasını değiştirme.

  4. Lindorm Shell kullanarak LindormTable'a bağlanın.

    alihbase-2.0.18/bin dizinine gidin ve aşağıdaki komutu çalıştırın.

    ./hbase shell

    Aşağıdaki çıktı, başarılı bir bağlantıyı gösterir.

    Version 2.0.18, r08b8d58a9d6ce89765d5ebe2ddff425aed644c16, Mon Feb  1 12:46:39 CST 2021
    Took 0.0034 seconds
    Not

    Shell'in nasıl kullanılacağı hakkında daha fazla bilgi için bkz. Lindorm Shell referansı.

Lindorm Shell Referansı

Komut Referansı

Shell komutları hakkında daha fazla bilgi için bkz. The Apache HBase Shell.

Veri tanımlama dili (DDL)

  • create: Bir tablo oluşturur.

  • list: Tüm tabloları listeler.

  • disable: Bir tabloyu devre dışı bırakır.

  • is_disabled: Bir tablonun devre dışı olup olmadığını kontrol eder.

  • enable: Bir tabloyu etkinleştirir.

  • is_enabled: Bir tablonun etkin olup olmadığını kontrol eder.

  • describe: Özellikleri ve şeması dahil olmak üzere bir tablonun ayrıntılarını görüntüler.

  • alter: Bir tabloyu değiştirir.

  • exists: Bir tablonun var olup olmadığını kontrol eder.

  • drop: Belirtilen bir tabloyu siler.

Veri işleme dili (DML)

  • put: Belirli bir hücrenin değerini günceller.

  • get: Belirtilen bir satırın veya hücrenin içeriğini alır.

  • delete: Bir tablodaki bir hücrenin değerini siler.

  • deleteall: Belirtilen bir satırdaki tüm hücreleri siler.

  • scan: Tablo verilerini tarar ve döndürür.

  • count: Bir tablodaki satır sayısını hesaplar ve döndürür.

  • truncate_preserve: Bir tabloyu boşaltır. Bu işlem belirtilen tabloyu devre dışı bırakır, siler ve yeniden oluşturur. Yeni tablo, orijinal tabloyla aynı bölümlere sahip olur.

Shell'e giriş ve çıkış

  • Shell ortamına girin.

    bin/hbase shell
  • Shell ortamından çıkın.

    quit

Örnekler

Veri oluşturma ve ekleme

  1. Bir tablo oluşturun. Tablo için bir ad ve en az bir sütun ailesi belirtmeniz gerekir.

    create 'table_name', 'column_family_name'

    Örnek:

    // Create a table named test with a column family named cf.
    create 'test', 'cf'
  2. Veri ekleyin.

    put 'table_name', 'row_key', 'column_family:column_name', 'value'

    Örnek:

    put 'test', 'row1', 'cf:a', 'value1'
    put 'test', 'row2', 'cf:b', 'value2'
    put 'test', 'row3', 'cf:c', 'value3'
    Not

    row1 değeri, test tablosunun satır anahtarıdır; cf:a sütun ailesini ve sütun adını belirtir; value1 ise değerdir.

Veri sorgulama

  • Tüm tablolar hakkındaki bilgileri sorgulayın. Tabloları filtrelemek için düzenli ifadeler kullanabilirsiniz.

    list
    list 'abc.*'
    list 'test'
  • Belirtilen bir tablodaki verileri sorgulayın.

    scan komutu, HBase verilerine erişmek için esnek bir yol sunar. scan komutunu kullanarak tüm bir tabloyu tarayabilir veya belirli bir aralıktaki verileri sorgulayabilirsiniz. Tarama işlemi, get komutuyla yapılan tek satırlık bir sorgudan biraz daha yavaştır. Test tablosundaki verileri sorgulamak için aşağıdaki komutu çalıştırın.

    scan 'table_name'

    Örnek:

    scan 'test'

    Aşağıdaki sonuç döner:

    ROW                                      COLUMN+CELL
     row1                                    column=cf:a, timestamp=1421762485768, value=value1
     row2                                    column=cf:b, timestamp=1421762491785, value=value2
     row3                                    column=cf:c, timestamp=1421762496210, value=value3
    3 row(s) in 0.0230 seconds
  • Bir tablodan tek bir satır verisi sorgulayın.

    get 'table_name', 'row_key' 

    Örnek:

    get 'test', 'row1' 

    Aşağıdaki sonuç döner:

    COLUMN CELL
     cf:a timestamp=1421762485768, value=value1
    1 row(s) in 0.0350 seconds

Tabloyu devre dışı bırakma ve etkinleştirme

Bir tabloyu devre dışı bırakın veya etkinleştirin. Bir tabloyu silmeden, ayarlarını değiştirmeden veya diğer yönetim işlemlerini yapmadan önce tabloyu disable komutuyla devre dışı bırakmanız gerekir. İşlem tamamlandıktan sonra tabloyu yeniden etkinleştirmek için enable komutunu kullanın.

disable 'table_name'
enable 'table_name'

Tablo silme

Belirtilen bir tabloyu silin.

drop 'table_name'

Yaygın Yapılandırmalar

Yaygın ayarlar

  • Belirtilen bir tablo için büyük birleştirme dönemini ayarlayın. Gerekli olmadıkça bu ayarı değiştirmemenizi öneririz. Birim milisaniye (ms) cinsindendir.

    Aşağıdaki örnek, büyük birleştirme dönemini yedi gün olarak ayarlar.

    alter 'table_name', {NAME => 'column_family_name', CONFIGURATION => {'hbase.hregion.majorcompaction' => 16800000}}
    Not

    Varsayılan değer: Math.Min(TTL, 1728000000). TTL ayarlamazsanız varsayılan değer 1.728.000.000 ms, yani 20 gündür.

  • Belirtilen bir tablonun bir sütun ailesi için sıkıştırma algoritmasını ayarlayın.

    alter 'table_name', NAME => 'column_family_name', COMPRESSION => 'ZSTD'
  • Belirtilen bir tablonun bir sütun ailesi için blok kodlama türünü ayarlayın.

    Test tablosunun sütun ailesi için blok kodlama türünü DATA_BLOCK_ENCODING olarak ayarlayın.

    alter 'table_name', NAME => 'column_family_name', DATA_BLOCK_ENCODING => 'DIFF'
  • Belirtilen bir tablonun bir sütun ailesi için yaşam süresi (TTL) ayarlayın. TTL birimi saniye (s) cinsindendir. Örneğin, 2.592.000 saniye 30 güne eşittir.

    alter 'table_name', NAME => 'column_family_name', TTL => 2592000

    Verileri kalıcı olarak saklamak istiyorsanız TTL değerini FOREVER olarak ayarlayabilirsiniz. Örnek:

    alter 'table_name' , {NAME => 'column_family_name', TTL => 'FOREVER'}
  • Belirtilen bir tabloyu önceden bölün.

    create 'table_name', {NAME => 'column_family_name', COMPRESSION => 'snappy' }, { NUMREGIONS => 50, SPLITALGO => 'HexStringSplit' }

    Parametreler

    Parametre

    Açıklama

    NAME

    Sütun ailesinin adı.

    COMPRESSION

    Tablo verileri için sıkıştırma algoritması. Varsayılan: Yok. Desteklenen algoritmalar:

    • ZSTD (Önerilen)

    • SNAPPY

    • LZ4

    NUMREGIONS

    Bölge sayısı. Genel kural olarak, bölge başına 6–8 GB boyut hedeflemek için bölge sayısını hesaplayın. Büyük ölçekli örnekler için bu sayıyı gerektiği gibi artırabilirsiniz.

    SPLITALGO

    Bölgeleri başlatmak için kullanılan algoritma. Desteklenen algoritmalar ve kullanım durumları aşağıdaki gibidir:

    • HexStringSplit: Bu algoritma, onaltılık dizeyle ön eklenmiş satır anahtarları için uygundur.

    • DecimalStringSplit: Bu algoritma, ondalık sayısal dizeyle ön eklenmiş satır anahtarları için uygundur.

    • UniformSplit: Bu algoritma, tamamen rastgele ön eki olan satır anahtarları için uygundur.

Yapılandırmayı değiştirdikten sonra değişikliklerin etkili olduğunu doğrulamak için aşağıdaki komutu çalıştırabilirsiniz:

describe 'table_name'