Tüm Ürünler
Search
Belge Merkezi

Object Storage Service:HDP 2.6 tabanlı Hadoop ile OSS verilerini okuma ve yazma

Son Güncelleme:Oct 01, 2026

Hortonworks Data Platform (HDP), Hortonworks tarafından yayınlanan ve Hadoop, Hive, HBase gibi açık kaynak bileşenlerden oluşan bir büyük veri platformudur. HDP 3.0.1 sürümü Hadoop 3.1.1'i içerir ve Object Storage Service (OSS) hizmetini destekler. Ancak daha eski HDP sürümleri OSS'u desteklemez. Bu konu, HDP 2.6'nın OSS verilerini okuyup yazacak şekilde nasıl yapılandırılacağını anlatmak için HDP 2.6.1.0 sürümünü örnek olarak kullanır.

Ön Koşullar

Bir HDP 2.6.1.0 kümeniz olmalıdır.

Elinizde bir HDP 2.6.1.0 kümesi yoksa aşağıdaki yöntemlerden birini kullanarak bu kümeyi oluşturabilirsiniz:

  • Ambari aracını kullanarak bir HDP 2.6.1.0 kümesi oluşturun.

  • Ambari kullanılamıyorsa HDP 2.6.1.0 kümesini manuel olarak oluşturun.

Yordam

  1. OSS desteği sunan HDP 2.6.1.0 paketini indirin.

  2. İndirilen paketi açmak için aşağıdaki komutu çalıştırın:

    sudo tar -xvf hadoop-oss-hdp-2.6.1.0-129.tar

    Örnek başarılı yanıt:

    hadoop-oss-hdp-2.6.1.0-129/
    hadoop-oss-hdp-2.6.1.0-129/aliyun-java-sdk-ram-3.0.0.jar
    hadoop-oss-hdp-2.6.1.0-129/aliyun-java-sdk-core-3.4.0.jar
    hadoop-oss-hdp-2.6.1.0-129/aliyun-java-sdk-ecs-4.2.0.jar
    hadoop-oss-hdp-2.6.1.0-129/aliyun-java-sdk-sts-3.0.0.jar
    hadoop-oss-hdp-2.6.1.0-129/jdom-1.1.jar
    hadoop-oss-hdp-2.6.1.0-129/aliyun-sdk-oss-3.4.1.jar
    hadoop-oss-hdp-2.6.1.0-129/hadoop-aliyun-2.7.3.2.6.1.0-129.jar
  3. JAR paketlerinin dizinlerini değiştirin.

    Not

    Bu konuda ${} ile çevrelenen tüm ifadeler ortam değişkenidir. Ortam değişkenlerini gerçek ortamınıza göre güncelleyin.

    1. Hadoop-aliyun-2.7.3.2.6.1.0-129.jar paketini ${/usr/hdp/current}/hadoop-client/ dizinine taşıyın. Dizin değişikliğini doğrulamak için aşağıdaki komutu çalıştırın:

      sudo ls -lh /usr/hdp/current/hadoop-client/hadoop-aliyun-2.7.3.2.6.1.0-129.jar

      Örnek başarılı yanıt:

      -rw-r--r-- 1 root root 64K Oct 28 20:56 /usr/hdp/current/hadoop-client/hadoop-aliyun-2.7.3.2.6.1.0-129.jar
    2. Diğer jar paketlerini ${/usr/hdp/current}/hadoop-client/lib/ dizinine taşıyın. Dizin değişikliğini doğrulamak için aşağıdaki komutu çalıştırın:

      sudo ls -ltrh /usr/hdp/current/hadoop-client/lib

      Örnek başarılı yanıt:

      total 27M
      ......
      drwxr-xr-x 2 root root 4.0K Oct 28 20:10 ranger-hdfs-plugin-impl
      drwxr-xr-x 2 root root 4.0K Oct 28 20:10 ranger-yarn-plugin-impl
      drwxr-xr-x 2 root root 4.0K Oct 28 20:10 native
      -rw-r--r-- 1 root root 114K Oct 28 20:56 aliyun-java-sdk-core-3.4.0.jar
      -rw-r--r-- 1 root root 513K Oct 28 20:56 aliyun-sdk-oss-3.4.1.jar
      -rw-r--r-- 1 root root  13K Oct 28 20:56 aliyun-java-sdk-sts-3.0.0.jar
      -rw-r--r-- 1 root root 211K Oct 28 20:56 aliyun-java-sdk-ram-3.0.0.jar
      -rw-r--r-- 1 root root 770K Oct 28 20:56 aliyun-java-sdk-ecs-4.2.0.jar
      -rw-r--r-- 1 root root 150K Oct 28 20:56 jdom-1.1.jar
  4. Yukarıdaki işlemleri tüm HDP düğümlerinde uygulayın.

  5. Ambari kullanarak gerekli yapılandırmaları ekleyin. Kümeniz Ambari tarafından yönetilmiyorsa core-site.xml dosyasını düzenleyin. Custom core-site bölümünde aşağıdaki özellikleri ekleyip yapılandırın: fs.oss.endpoint, fs.oss.accessKeyId, fs.oss.accessKeySecret, fs.oss.impl, fs.oss.buffer.dir, fs.oss.connection.secure.enabled ve fs.oss.connection.maximum.

    Parametre Açıklama
    fs.oss.endpoint

    Erişmek istediğiniz paketin bulunduğu bölgenin uç noktasını belirtin.

    Örnek: oss-cn-zhangjiakou-internal.aliyuncs.com.

    fs.oss.accessKeyId OSS hizmetine erişmek için kullanılan AccessKey ID değerini girin.
    fs.oss.accessKeySecret OSS hizmetine erişmek için kullanılan AccessKey secret değerini girin.
    fs.oss.impl Hadoop tabanlı OSS dosya sistemini uygulamak için kullanılan sınıfı belirtin. Değeri org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem olarak ayarlayın.
    fs.oss.buffer.dir

    Geçici dosyaların depolanacağı dizin adını belirtin.

    Bu parametreyi /tmp/oss olarak ayarlamanızı öneririz.

    fs.oss.connection.secure.enabled

    HTTPS etkinleştirilip etkinleştirilmeyeceğini belirtin. HTTPS etkinleştirildiğinde performans etkilenebilir.

    Bu parametreyi false olarak ayarlamanızı öneririz.

    fs.oss.connection.maximum

    OSS hizmetine kurulacak maksimum bağlantı sayısını belirtin.

    Bu parametreyi 2048 olarak ayarlamanızı öneririz.

    Daha fazla parametre bilgisi için Hadoop-Aliyun modülü adresine bakın.

  6. Ambari'nin yönergelerini izleyerek kümeyi yeniden başlatın.

  7. OSS üzerinden veri okuma ve yazma işlemlerini test edin.

    1. OSS'ten veri okunabildiğini test etmek için aşağıdaki komutu çalıştırın:

      sudo hadoop fs -ls oss://${your-bucket-name}/
    2. OSS'e veri yazılabildiğini test etmek için aşağıdaki komutu çalıştırın:

      sudo hadoop fs -mkdir oss://${your-bucket-name}/hadoop-test

      OSS üzerinden veri okuma ve yazma başarılı oluyorsa yapılandırma doğru tamamlanmıştır. Aksi durumda yapılandırma değerlerini kontrol edin.

  8. MapReduce görevlerini çalıştırmak için HDP 2.6.1.0 paketini hdfs://hdp-master:8020/hdp/apps/2.6.1.0-129/mapreduce/mapreduce.tar.gz konumuna taşımak üzere aşağıdaki komutu çalıştırın:

    Not

    Bu örnekte MapReduce görevleri kullanılmıştır. Diğer türdeki görevlerin nasıl çalıştırılacağı hakkında bilgi edinmek için sonraki adıma ve kod örneklerine bakın. Örneğin, TEZ görevlerini çalıştırmak için HDP 2.6.1.0 paketini

    hdfs://hdp-master:8020/hdp/apps/2.6.1.0-129/tez/tez.tar.gz

    konumuna taşıyın.

    sudo su - hdfs
    cd ~
    hadoop fs -copyToLocal /hdp/apps/2.6.1.0-129/mapreduce/mapreduce.tar.gz
    hadoop fs -rm /hdp/apps/2.6.1.0-129/mapreduce/mapreduce.tar.gz
    cp mapreduce.tar.gz mapreduce.tar.gz.bak
    tar zxf mapreduce.tar.gz
    cp /usr/hdp/current/hadoop-client/hadoop-aliyun-2.7.3.2.6.1.0-129.jar hadoop/share/hadoop/tools/lib/
    cp /usr/hdp/current/hadoop-client/lib/aliyun-* hadoop/share/hadoop/tools/lib/
    cp /usr/hdp/current/hadoop-client/lib/jdom-1.1.jar hadoop/share/hadoop/tools/lib/
    tar zcf mapreduce.tar.gz hadoop
    hadoop fs -copyFromLocal mapreduce.tar.gz /hdp/apps/2.6.1.0-129/mapreduce/

Yapılandırmaları doğrulama

Yapılandırmaların etkili olduğunu kontrol etmek için TeraGen ve TeraSort araçlarını test edebilirsiniz.

  • TeraGen testini yapmak için aşağıdaki komutu çalıştırın:

    sudo hadoop jar /usr/hdp/current/hadoop-mapreduce-client/hadoop-mapreduce-examples.jar teragen -Dmapred.map.tasks=100 10995116 oss://{bucket-name}/1G-input

    Örnek başarılı yanıt:

    18/10/28 21:32:38 INFO client.RMProxy: Connecting to ResourceManager at cdh-master/192.168.0.161:8050
    18/10/28 21:32:38 INFO client.AHSProxy: Connecting to Application History server at cdh-master/192.168.0.161:10200
    18/10/28 21:32:38 INFO aliyun.oss: [Server]Unable to execute HTTP request: Not Found
    [ErrorCode]: NoSuchKey
    [RequestId]: 5BD5BA7641FCE369BC1D052C
    [HostId]: null
    18/10/28 21:32:38 INFO aliyun.oss: [Server]Unable to execute HTTP request: Not Found
    [ErrorCode]: NoSuchKey
    [RequestId]: 5BD5BA7641FCE369BC1D052F
    [HostId]: null
    18/10/28 21:32:39 INFO terasort.TeraSort: Generating 10995116 using 100
    18/10/28 21:32:39 INFO mapreduce.JobSubmitter: number of splits:100
    18/10/28 21:32:39 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1540728986531_0005
    18/10/28 21:32:39 INFO impl.YarnClientImpl: Submitted application application_1540728986531_0005
    18/10/28 21:32:39 INFO mapreduce.Job: The url to track the job: http://cdh-master:8088/proxy/application_1540728986531_0005/
    18/10/28 21:32:39 INFO mapreduce.Job: Running job: job_1540728986531_0005
    18/10/28 21:32:49 INFO mapreduce.Job: Job job_1540728986531_0005 running in uber mode : false
    18/10/28 21:32:49 INFO mapreduce.Job:  map 0% reduce 0%
    18/10/28 21:32:55 INFO mapreduce.Job:  map 1% reduce 0%
    18/10/28 21:32:57 INFO mapreduce.Job:  map 2% reduce 0%
    18/10/28 21:32:58 INFO mapreduce.Job:  map 4% reduce 0%
    ...
    18/10/28 21:34:40 INFO mapreduce.Job:  map 99% reduce 0%
    18/10/28 21:34:42 INFO mapreduce.Job:  map 100% reduce 0%
    18/10/28 21:35:15 INFO mapreduce.Job: Job job_1540728986531_0005 completed successfully
    18/10/28 21:35:15 INFO mapreduce.Job: Counters: 36
    ...
  • TeraSort testini yapmak için aşağıdaki komutu çalıştırın:

    sudo hadoop jar /usr/hdp/current/hadoop-mapreduce-client/hadoop-mapreduce-examples.jar terasort -Dmapred.map.tasks=100 oss://{bucket-name}/1G-input oss://{bucket-name}/1G-output

    Örnek başarılı yanıt:

    18/10/28 21:39:00 INFO terasort.TeraSort: starting
    ...
    18/10/28 21:39:02 INFO mapreduce.JobSubmitter: number of splits:100
    18/10/28 21:39:02 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1540728986531_0006
    18/10/28 21:39:02 INFO impl.YarnClientImpl: Submitted application application_1540728986531_0006
    18/10/28 21:39:02 INFO mapreduce.Job: The url to track the job: http://cdh-master:8088/proxy/application_1540728986531_0006/
    18/10/28 21:39:02 INFO mapreduce.Job: Running job: job_1540728986531_0006
    18/10/28 21:39:09 INFO mapreduce.Job: Job job_1540728986531_0006 running in uber mode : false
    18/10/28 21:39:09 INFO mapreduce.Job:  map 0% reduce 0%
    18/10/28 21:39:17 INFO mapreduce.Job:  map 1% reduce 0%
    18/10/28 21:39:19 INFO mapreduce.Job:  map 2% reduce 0%
    18/10/28 21:39:20 INFO mapreduce.Job:  map 3% reduce 0%
    ...
    18/10/28 21:42:50 INFO mapreduce.Job:  map 100% reduce 75%
    18/10/28 21:42:53 INFO mapreduce.Job:  map 100% reduce 80%
    18/10/28 21:42:56 INFO mapreduce.Job:  map 100% reduce 86%
    18/10/28 21:42:59 INFO mapreduce.Job:  map 100% reduce 92%
    18/10/28 21:43:02 INFO mapreduce.Job:  map 100% reduce 98%
    18/10/28 21:43:05 INFO mapreduce.Job:  map 100% reduce 100%
    ^@18/10/28 21:43:56 INFO mapreduce.Job: Job job_1540728986531_0006 completed successfully
    18/10/28 21:43:56 INFO mapreduce.Job: Counters: 54
    ...

Testler başarılı olursa yapılandırmalar etkili hale gelmiş demektir.