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.
ÖnemliLindorm 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
-
Lindorm Shell'i indirin.
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.
Sol gezinme bölmesinde Database Connections öğesini tıklayın ve ardından Wide Table Engine sekmesini seçin.
Lindorm Shell bölümündeki Download düğmesini tıklayın.
-
Lindorm Shell paketini açmak için aşağıdaki komutu çalıştırın. Bu örnekte paket
alihbase-2.0.18dizinine açılır.tar zxvf hbaseue-shell.tar.gz -
Bağlantı parametrelerini yapılandırın.
-
alihbase-2.0.18/confdizinine gidin vehbase-site.xmldosyasını açın.vi hbase-site.xml -
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.
-
-
-
Lindorm Shell kullanarak LindormTable'a bağlanın.
alihbase-2.0.18/bindizinine gidin ve aşağıdaki komutu çalıştırın../hbase shellAş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 secondsNotShell'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
-
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' -
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'Notrow1değeri,testtablosunun satır anahtarıdır;cf:asütun ailesini ve sütun adını belirtir;value1ise 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.
scankomutu, HBase verilerine erişmek için esnek bir yol sunar.scankomutunu kullanarak tüm bir tabloyu tarayabilir veya belirli bir aralıktaki verileri sorgulayabilirsiniz. Tarama işlemi,getkomutuyla 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'