OSS-HDFS, RootPolicy özelliğini destekler. RootPolicy kullanarak OSS-HDFS için özel bir ön ek yapılandırabilirsiniz. Bu sayede işler, orijinal erişim ön eki olan hdfs:// öğesini değiştirmeden OSS-HDFS üzerinde çalıştırılabilir.
Ön Koşullar
Bir Hadoop ortamı, Hadoop kümesi veya Hadoop istemcisi oluşturun. Hadoop'un nasıl yükleneceği hakkında daha fazla bilgi için bkz. Adım 2: Hadoop çalışma zamanı ortamı oluşturma.
Belirli paketler için OSS-HDFS'yi etkinleştirin. Daha fazla bilgi için bkz. OSS-HDFS'yi etkinleştirin ve erişim izinleri verin.
JindoSDK 4.5.0 veya sonraki bir sürümü yükleyin ve yapılandırın. Daha fazla bilgi için bkz. EMR dışı kümeleri OSS-HDFS'ye bağlama.
Yordam
-
Ortam değişkenlerini yapılandırın.
-
RootPolicy'yi yapılandırın.
Bir paket için özel ön ek içeren kayıtlı bir adres belirtmek üzere aşağıdaki SetRootPolicy komutunu çalıştırın:
jindo admin -setRootPolicy oss://<bucket_name>.<dls_endpoint>/ hdfs://<your_ns_name>/Aşağıdaki tabloda SetRootPolicy komutundaki parametreler açıklanmaktadır.
Parametre
Açıklama
bucket_name
OSS-HDFS'nin etkinleştirildiği paketin adı.
dls_endpoint
OSS-HDFS'nin etkinleştirildiği paketin bulunduğu bölgenin uç noktası. Örnek:
cn-hangzhou.oss-dls.aliyuncs.com.RootPolicy'yi her çalıştırdığınızda SetRootPolicy komutuna <dls_endpoint> parametresini tekrar tekrar eklemek istemiyorsanız, Hadoop'un
core-site.xmldosyasına yapılandırma öğeleri eklemek için aşağıdaki yöntemlerden birini kullanabilirsiniz:-
Yöntem 1:
<configuration> <property> <name>fs.oss.endpoint</name> <value><dls_endpoint></value> </property> </configuration> -
Yöntem 2:
<configuration> <property> <name>fs.oss.bucket.<bucket_name>.endpoint</name> <value><dls_endpoint></value> </property> </configuration>
your_ns_name
OSS-HDFS'ye erişmek için kullanılan özel nsname. Boş olmayan bir dize (örneğin
test) desteklenir. Mevcut sürüm yalnızca kök dizini destekler. -
-
Access Policy keşif adresini ve Scheme uygulama sınıfını yapılandırın.
Hadoop'un core-site.xml dosyasında aşağıdaki parametreleri yapılandırmanız gerekir:
<configuration> <property> <name>fs.accessPolicies.discovery</name> <value>oss://<bucket_name>.<dls_endpoint>/</value> </property> <property> <name>fs.AbstractFileSystem.hdfs.impl</name> <value>com.aliyun.jindodata.hdfs.HDFS</value> </property> <property> <name>fs.hdfs.impl</name> <value>com.aliyun.jindodata.hdfs.JindoHdfsFileSystem</value> </property> </configuration>Birden çok paket için Access Policy keşif adreslerini ve Scheme uygulama sınıflarını yapılandırmak istiyorsanız paketleri virgülle (
,) ayırın. -
RootPolicy'nin başarıyla yapılandırılıp yapılandırılmadığını kontrol etmek için aşağıdaki komutu çalıştırın:
hadoop fs -ls hdfs://<your_ns_name>/Aşağıdaki sonuçlar döndürülürse RootPolicy başarıyla yapılandırılmış demektir:
drwxr-x--x - hdfs hadoop 0 2023-01-05 12:27 hdfs://<your_ns_name>/apps drwxrwxrwx - spark hadoop 0 2023-01-05 12:27 hdfs://<your_ns_name>/spark-history drwxrwxrwx - hdfs hadoop 0 2023-01-05 12:27 hdfs://<your_ns_name>/tmp drwxrwxrwx - hdfs hadoop 0 2023-01-05 12:27 hdfs://<your_ns_name>/user -
Özel ön ek kullanarak OSS-HDFS'ye erişin.
Hive ve Spark gibi hizmetleri yeniden başlattıktan sonra özel ön ek kullanarak OSS-HDFS'ye erişebilirsiniz.
-
İsteğe bağlı. RootPolicy'yi diğer amaçlar için kullanın.
-
Bir paket için belirtilen özel ön eki içeren tüm kayıtlı adresleri listeleme
Bir paket için belirtilen özel ön eki içeren tüm kayıtlı adresleri listelemek üzere aşağıdaki listAccessPolicies komutunu çalıştırın:
jindo admin -listAccessPolicies oss://<bucket_name>.<dls_endpoint>/ -
Bir paket için belirtilen özel ön eki içeren tüm kayıtlı adresleri silme:
Bir paket için belirtilen özel ön eki içeren tüm kayıtlı adresleri silmek üzere aşağıdaki unsetRootPolicy komutunu çalıştırın:
jindo admin -unsetRootPolicy oss://<bucket_name>.<dls_endpoint>/ hdfs://<your_ns_name>/
-
Referanslar
RootPolicy komutları hakkında daha fazla bilgi için bkz. Jindo CLI kullanıcı kılavuzu.