HBase, Hadoop ekosisteminde yüksek yazma performansı sunan gerçek zamanlı bir veritabanıdır. OSS-HDFS, Alibaba Cloud tarafından sunulan ve HDFS API ile uyumlu bir depolama hizmetidir. JindoSDK, HBase'in altta yatan depolama olarak OSS-HDFS'i kullanmasına olanak tanır ve Write-Ahead Logging (WAL) dosyalarının depolanmasını destekler. Bu sayede hesaplama ve depolama kaynakları birbirinden ayrılır. OSS-HDFS, yerel HDFS depolamasına kıyasla daha esnektir ve işletme maliyetlerini azaltır.
Önkoşullar
-
Örneğin, dağıtım ortamınız olarak Elastic Compute Service (ECS) kullanacaksanız bir örnek oluşturmanız gerekir.
-
Bir Hadoop ortamı oluşturulmuş olmalıdır. Hadoop'un nasıl kurulacağı hakkında daha fazla bilgi için bkz. Hadoop ile JindoSDK kullanarak OSS-HDFS'ye erişme.
-
Apache HBase dağıtılmış olmalıdır. Daha fazla bilgi için bkz. Apache HBase.
-
Bir paket için OSS-HDFS etkinleştirilmiş ve OSS-HDFS'e erişim izinleri verilmiş olmalıdır. Daha fazla bilgi için bkz. OSS-HDFS'i etkinleştirin ve erişim izinleri verin.
Yordam
-
ECS örneğine bağlanın. Daha fazla bilgi için bkz. Bir ECS örneğine bağlanma.
-
JindoSDK'yi yapılandırın.
-
JindoSDK JAR paketinin en son sürümünü indirin. JindoSDK'yı indirmek için GitHub adresini ziyaret edin.
-
İndirilen kurulum paketini ayıklayın.
Aşağıdaki örnek kod,
jindosdk-x.x.x-linux.tar.gzadlı bir paketin nasıl ayıklanacağını göstermektedir. Farklı bir JindoSDK sürümü kullanıyorsanız paket adını ilgili JAR paketinin adıyla değiştirin.tar -zxvf jindosdk-x.x.x-linux.tar.gz -C /usr/libNotx.x.x, JindoSDK JAR paketinin sürüm numarasını belirtir.
-
JINDOSDK_HOMEdeğişkenini yapılandırın.export JINDOSDK_HOME=/usr/lib/jindosdk-x.x.x-linux export PATH=$JINDOSDK_HOME/bin:$PATH -
HADOOP_CLASSPATHdeğişkenini yapılandırın.export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:${JINDOSDK_HOME}/lib/*ÖnemliPaketin kurulum dizinini belirtin ve gerekli tüm düğümlerde ortam değişkenlerini yapılandırın.
-
İndirilen JindoSDK JAR paketini classpath tarafından belirtilen yola yükleyin.
cp jindosdk-x.x.x-linux/lib/jindo-core-x.x.x.jar <HADOOP_HOME>/share/hadoop/hdfs/lib/ cp jindosdk-x.x.x-linux/lib/jindo-sdk-x.x.x.jar <HADOOP_HOME>/share/hadoop/hdfs/lib/
-
-
OSS-HDFS uygulama sınıfını yapılandırın ve pakete erişmek için kullanmak istediğiniz AccessKey çiftini belirtin.
-
HBase'in core-site.xml dosyasında OSS-HDFS uygulama sınıfını yapılandırın.
<configuration> <property> <name>fs.AbstractFileSystem.oss.impl</name> <value>com.aliyun.jindodata.oss.JindoOSS</value> </property> <property> <name>fs.oss.impl</name> <value>com.aliyun.jindodata.oss.JindoOssFileSystem</value> </property> </configuration> -
HBase'in core-site.xml dosyasında, OSS-HDFS'in etkinleştirildiği pakete erişmek için kullanmak istediğiniz AccessKey ID ve AccessKey secret değerlerini belirtin.
<configuration> <property> <name>fs.oss.accessKeyId</name> <value>LTAI********</value> </property> <property> <name>fs.oss.accessKeySecret</name> <value>KZo1********</value> </property> </configuration>
-
-
OSS-HDFS uç noktasını yapılandırın.
Object Storage Service (OSS) içindeki paketlere erişmek için OSS-HDFS kullanmak istiyorsanız OSS-HDFS uç noktasını belirtmeniz gerekir. OSS-HDFS'e erişmek için kullanılan yolu
oss://{yourBucketName}.{yourBucketEndpoint}/{path}biçiminde (örnek:oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampleobject.txt) yapılandırmanızı öneririz. Erişim yolunu yapılandırdıktan sonra JindoSDK, erişim yolunda belirtilen uç noktaya göre ilgili OSS-HDFS işlemini çağırır.OSS-HDFS uç noktasını başka yöntemlerle de yapılandırabilirsiniz. Farklı yöntemlerle yapılandırılan uç noktaların öncelikleri farklıdır. Daha fazla bilgi için bkz. Hızlı başlangıç: EMR dışı bir kümeyi OSS-HDFS hizmetine bağlama.
-
HBase için bir depolama yolu belirtin.
OSS'deki bir yolu HBase'deki veriler ve WAL dosyaları için depolama yolu olarak belirtmek üzere hbase-site yapılandırma dosyasındaki hbase.rootdir parametresinin değerini OSS yoluna değiştirmeniz gerekir. Yol,
oss://bucket.endpoint/hbase-root-dirbiçimindedir.ÖnemliKümeleri serbest bırakmak için tabloları devre dışı bırakmanız ve WAL dosyalarında gerçekleştirilen tüm güncelleme işlemlerinin HFiles'e senkronize edildiğinden emin olmanız gerekir.