Pythontr

husonet | Tarih: 15.05.2019

Hadoop HDFS komutları ve kullanımı

Hadoop HDFS sistemindeki komutların nasıl kullanıldığını örnekleyerek inceleyelim.

Uzun zamandır Big Data 'Büyük Veri' konusu değinmek istediğim konulardan biriydi. Big Data kısmını biliyorsunuz ki 5V olarak tanımlanıyor.


5V


  • Volume -> Verinin Hacmi
  • Velocity -> Verinin Hızı
  • Variety -> Verinin Çeşitliği
  • Verification -> Doğrulama
  • Value -> Veriye Değer Katma

Bu konumuz verinin Volume kısmıyla alakalıdır. Şimdi Hadoop ortamında HDFS komutlarını nasıl kullanıyoruz örneklemeye başlayalım.


mkdir

Sistem üzerinde klasör oluşturur. Klasör önünde slash kullanımı önemlidir, klasörün yolunu belirlememizde bize yardımcı olur.


hdfs dfs -mkdir /directoryName

ls

Hadoop sistemi üzerinde klasör ve dosyaları listeler.


hdfs dfs -ls /
hdfs dfs -ls /directoryName

Örnek çıktı
hdfs dfs -ls /
Found 7 items
drwxrwxrwx - hdfs supergroup 0 2017-10-23 09:15 /benchmarks
drwxr-xr-x - hbase supergroup 0 2019-05-14 14:51 /hbase
drwxr-xr-x - cloudera supergroup 0 2019-05-13 06:43 /pythontr
drwxr-xr-x - solr solr 0 2017-10-23 09:18 /solr
drwxrwxrwt - hdfs supergroup 0 2019-05-13 04:22 /tmp
drwxr-xr-x - hdfs supergroup 0 2017-10-23 09:17 /user
drwxr-xr-x - hdfs supergroup 0 2017-10-23 09:17 /var

copyFromLocal

Local makinanız üzerinden hdfs ortamına dosya kopyalamanıza yarar.


hdfs dfs -copyFromLocal /source/sourcefile /target/

Örnek Kullanım
hdfs dfs -copyFromLocal /home/cloudera/Downloads/ziyaretciler.csv /pythontr/

Kontrol edelim.


hdfs dfs -ls /pythontr
Found 1 items
-rw-r--r-- 1 cloudera supergroup 186366657 2019-05-14 15:42 /pythontr/ziyaretciler.csv

Dosyamızın hdfs ortamında yer aldığını görüyoruz.


cat

Hdfs sistemindeki dosyanın içeriğini gösterir.


hdfs dfs -cat /directoryName/fileName

Örnek Kullanım
hdfs dfs -cat /pythontr/ziyaretciler.csv
260455,https,www.pythontr.com/makale/python-nedir-235,213.74.XX.XXX,/makale/python-nedir-235,2018-10-29 18:43:27,Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36
260456,http,direct,66.249.XX.XXX,/,2018-10-29 18:43:32,Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36 Google Favicon
260457,https,www.pythontr.com/makale/sorun-bildirdiginden-windows-bu-aygiti-durdur-563,95.70.XX.XXX,/makale/sorun-bildirdiginden-windows-bu-aygiti-durdur-563,2018-10-29 18:44:28,Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36
260458,https,www.pythontr.com/makale/linux-zaman-dilimi-degistirme-335,212.175.XX.XXX,/makale/linux-zaman-dilimi-degistirme-335,2018-10-29 18:44:41,Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36

count

Belirtilen yol üzerindeki dosya ve dizin sayısını verir.


hdfs dfs -count /
hdfs dfs -count /directoryName

cp

Hdfs sistemindeki dosyaların sistem içindeki diğer klasörlere kopyalanmasını sağlar.


hdfs dfs -cp /source/fileName /target/

Örnek Kullanım
hdfs dfs -cp /pythontr/ziyaretciler.csv /user/

mv

Hdfs sistemindeki klasörlerin veya dosyarların taşınmasını sağlar.


hdfs dfs -mv /source /target

Örnek Kullanım
hdfs dfs -mv /pythontr /user

rm

Hdfs sistemindeki bir dosyanın silinmesini sağlar.


hdfs dfs -rm /directoryName/fileName

rmdir

Hdfs sistemindeki bir klasörün silinmesini sağlar. Klasör boş değilse silme işlemini başarısız kılar.


hdfs dfs -rmdir /directoryName

chmod

Hdfs sistemindeki dosya ve klasörlerin okuma, yazma ve çalıştırma izinlerini yönetmemizi sağlar.


hdfs dfs -chmod +x /directoryName # + ise izin verilir.
hdfs dfs -chmod -x /directoryName/fileName # - ise izin geri alınır.

setrep

Hdfs sistemindeki dosyaların kaç replication üzerinde kopya oluşturacağını belirleyebiliriz. Biz single olarak çalıştığımız için siz bu komutu kullanmış olsanız bile tek replication olacaktır.


hdfs dfs -setrep 3 -R /directroyName/fileName

Çalışma ortamını sanal bir sunucu 'VirtualBox' kurarak rahatlıkla oluşturabilirsiniz. Cloudera'yı sizin için tavsiye edebilirim. https://www.cloudera.com/downloads/quickstart_vms/5-13.html


Evet eksik kalan komutlarımız olabilir yorumlarda paylaşabilirsiniz. Sonraki yazımda görüşmek üzere.