Hadoop ve HDFS: dağıtık depolama ve toplu işleme
Tek makineye sığmayan log verisini HDFS’te saklar, izinlerle korur ve toplu işlerle işlersin.
Seviye 201 · 19 ders · 18 pratik lab
Dersler
Temel kavramlar
- Büyük veri nedir ve neden dağıtık sistem gerekir: Hacim, hız ve çeşitlilik sorununu ve verinin birçok makineye bölünmesinin gerekçesini anlarsın.
- Hadoop mimarisi: HDFS, YARN, MapReduce: Depolama, kaynak yönetimi ve işleme katmanlarının görevlerini ayırt edersin.
- Hadoop ortamını tanımak: Servislerin çalıştığını doğrular, yapılandırma dosyalarını ve web arayüzlerini bulursun.
- Kısa görev: küme durumunu raporla
HDFS ile çalışmak
- hdfs dfs ile dosya işlemleri: Dosya ve dizin oluşturur, yükler, indirir, listeler ve silersin.
- Dosyanın yaşam döngüsü ve çöp kutusu: Silinen dosyanın çöp kutusuna gidişini ve geri alınışını, kalıcı silmeyle farkını görürsün.
- Bloklar ve çoğaltma: fsck: Bir dosyanın bloklara bölünüp çoğaltılmasını fsck ile inceler, kayıp blokları yorumlarsın.
- Günlük veri bırakma dizinlerini düzenlemek: Tarihe göre dizin düzeni kurar, ham ve temiz veriyi ayrı alanlarda tutarsın.
- Kısa görev: günlük log iniş dizini kur
Koruma ve kurtarma
- HDFS izinleri ve ACL: chmod, chown ve ACL ile paylaşılan bir veri kümesine yalnızca doğru ekiplerin erişmesini sağlarsın.
- Anlık görüntülerle kurtarma noktası: Değişiklikten önce anlık görüntü alır, yanlışlıkla bozulan dosyayı geri getirirsin.
- HDFS güvenliği: Kerberos, şifreleme alanları, denetim kaydı: Kimlik doğrulama, bekleyen veri şifrelemesi ve erişim denetim kayıtlarının neyi koruduğunu açıklarsın.
- Ad ve alan kotaları
- Kısa görev: log dizinini koru ve geri getir
İşleme
- Map, shuffle ve reduce: Log satırlarında kelime sayma örneğiyle üç aşamalı işleme modelini anlarsın.
- YARN ile iş göndermek ve izlemek: Bir toplu işi gönderir, durumunu ve çıktısını yarn komutlarıyla izlersin.
- Sık görülen Hadoop sorunlarını teşhis etmek: Çıktı dizininin zaten var olması, yetersiz bellek ve izin hataları gibi arızaları loglardan çözersin.
- Python ile Hadoop Streaming işi
- Bitirme görevi: günlük log işleme hattı: Ham logları HDFS’e alır, bir işle işler, sonucu yetkili ekibe sunarsın.
Pratik lablar
- Yeni ekip için HDFS klasörleri: Analiz ekibi için ham, işlenmiş ve arşiv klasörlerini HDFS'te kurup örnek dosyaları doğru yere yükle.
- Çöp kutusundan geri al: Yanlışlıkla silinen bir günlük log klasörünü HDFS çöp kutusundan bulup özgün yerine geri taşı ve dosya sayısını doğrula.
- Küçük dosya sorununu çöz: Binlerce küçük dosyadan oluşan bir klasörü günlük tek dosyada birleştirip NameNode üzerindeki nesne sayısındaki düşüşü göster.
- Bir dosyanın bloklarını bul: fsck ile verilen dosyanın kaç bloğa bölündüğünü ve blokların hangi DataNode'larda durduğunu raporla.
- Kritik veride çoğaltmayı artır: Denetim kayıtları klasörünün çoğaltma katsayısını üçe çıkarıp fsck ile eksik çoğaltma kalmadığını kanıtla.
- Bozuk blokları tespit et: fsck çıktısında bozuk ve eksik blokları bulup etkilenen dosyaları listele ve hangilerinin kopyadan kurtarılabileceğini yaz.
- Klasör izinlerini daralt: Herkese yazılabilir bir HDFS log klasörünün sahibini ve izinlerini yalnızca güvenlik ekibi yazabilecek biçimde düzelt.
- ACL ile tek kullanıcıya okuma izni: Denetçi kullanıcısına yalnızca bir klasörü okuma izni veren HDFS ACL kuralını ekleyip başka klasörlere erişemediğini doğrula.
- Anlık görüntü ve kota ile koruma: Bir klasörde anlık görüntü açıp alan kotası koy, kotayı aşan yüklemenin reddini ve anlık görüntüden geri dönüşü göster.
- Çalışan işleri listele: YARN komutlarıyla çalışan ve başarısız olan uygulamaları listeleyip en uzun süren işin kimliğini ve sahibini yaz.
- Başarısız işin günlüğünü oku: Başarısız bir MapReduce işinin konteyner günlüklerini çekip hata nedenini ve düzeltmeyi failure.md dosyasına yaz.
- Bellek ayarı yüzünden ölen iş: Bellek sınırı yüzünden sürekli öldürülen bir işin ayarlarını düzeltip işi başarıyla tamamlat ve kullanılan belleği raporla.
- Streaming ile durum kodu sayımı: Hazır eşleyici ve indirgeyiciyle bir Hadoop Streaming işi çalıştırıp HTTP durum kodlarının sayımını HDFS'ten oku.
- Python eşleyicisini yaz: SSH kayıtlarından başarısız girişleri kaynak IP'ye göre sayan Python eşleyici ve indirgeyiciyi yazıp Streaming işiyle çalıştır.
- Bozuk satırda çöken işi onar: Arada bozuk satırlar yüzünden çöken bir Streaming işini sayaçlarla hatalı satırları sayacak biçimde düzeltip sonucu doğrula.
- Kümenin durumunu raporla: NameNode ve YARN komutlarıyla canlı düğüm sayısını, toplam ve boş kapasiteyi ve çalışan uygulama sayısını status.txt dosyasına yaz.
- Güvenli kipte takılan küme: Yazmaları reddeden kümenin neden güvenli kipte kaldığını bulup nedeni gidererek güvenli kipten çıkar.
- Dolan diskte kim ne kadar yer tutuyor: Kapasitesi dolmak üzere olan HDFS'te en çok yer tutan klasörleri ve sahiplerini bulup çoğaltma katsayısının etkisini hesaba katarak raporla.
Kurs hakkında
Tek makineye sığmayan log verisini HDFS’te saklar, izinlerle korur ve toplu işlerle işlersin.
Ne öğreneceksin
- Temel kavramlar
- HDFS ile çalışmak
- Koruma ve kurtarma
- İşleme
Ön koşullar
Aynı yolun 101 düzeyindeki kurslarını bitirmiş olmak ya da o konuları biliyor olmak yeterlidir.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde ve ona bağlı özel bir lab ağında geçer. Kurulum gerekmez.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 201 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.