Hadoop dağıtılmış dosya sistemi (HDFS) , Hadoop çerçevesi için Java ile yazılmış dağıtılmış, ölçeklenebilir ve taşınabilir bir dosya sistemidir. Bir Hadoop örneği, HDFS ve MapReduce'a bölünmüştür. Verileri depolamak için HDFS kullanılır ve verileri işlemek için MapReduce kullanılır. HDFS'nin aşağıdaki gibi beş hizmeti vardır.
HDFS, master node üzerinde namenode arka plan programı çalışır. Namenode, dosya sistemi hakkındaki meta verileri fsimage adlı bir dosyada saklar ve yönetir. Bu meta veriler, okuma sırasında istemcilere daha hızlı erişim sağlamak için ana bellekte önbelleğe alınır. Namenode’un istemciyle doğrudan teması vardır. Namenode, dosyaların bloklara nasıl bölündüğünü yönetir ve kontrol eder, dağıtılmış dosya sisteminin genel durumu ve uygunluğu ile birlikte bu blokları hangi bağımlı düğümün depolaması gerektiğini tanımlar.
İkincil Namenode, Namenode için bir yedek değildir. İkincil Namenode'un işi, dosya sistemini periyodik olarak okumak, değişiklikleri günlüğe kaydetmek ve bunları fsimage dosyasına uygulamaktır. Bu, şekilde gösterildiği gibi bir dahaki sefere daha hızlı başlamak için Namenode'un güncellenmesine yardımcı olur.
Hadoop kümesi, her bağımlı düğümde çalışan datanode arka plan programından oluşur. Datanode'lar, HDFS'de depolanan dosyalarda veri bloklarını ve hizmet okuma/yazma isteklerini depolayan HDFS'nin birincil depolama öğeleridir. Bunlar namenode tarafından kontrol edilir. Datanodes'ta depolanan bloklar, güvenilirlik ve yüksek kullanılabilirlik sağlamak için yapılandırmaya göre çoğaltılır. Bu çoğaltılmış bloklar, hızlı hesaplama sağlamak için küme boyunca dağıtılır.
JobTracker hizmeti ana düğümde çalışır ve TaskTracker tarafından salve düğümlerinde yürütülen mapreduce görevlerini izler. Masternode ile etkileşim halinde olan kullanıcı, işi JobTracker'a gönderir. JobTracker daha sonra namenode'dan işlenecek verilerin HDFS'deki gerçek konumunu sorar. Jobtracker, tasktracker'ı bağımlı düğümlerde bulur ve işleri bağımlı düğümlerde tasktracker'a gönderir. TaskTracker, belirli bir bağımlı düğümdeki tasktracker'ın canlı olduğundan ve tahsis edilen işi yürüttüğünden emin olmak için düzenli aralıklarla JobTracker'a sinyal mesajı gönderir. Kalp atışı mesajı öngörülen bir süre içinde alınmazsa, belirli bir kurtarma düğümündeki tasktracker'ın işlevsel olmadığı kabul edilir ve atanan iş başka bir tasktracker'da planlanır. Jobtracker ve tasktracker, mapreduce motoru olarak bilinir. Jobtracker, hadoop mapreduce hizmeti için tek bir hata noktasıdır, eğer kapanırsa tüm yürütme işleri durdurulur.
Tasktracker arka plan programı, bir kümenin bağımlı düğümlerinde çalışır. Jobtracker'dan işleri kabul eder ve mapreduce işlemlerini yürütür. Her tasktracker, bir düğümün yeteneğine bağlı olarak sınırlı sayıda "görev yuvasına" sahiptir. Kalp atışı protokolü, jobtracker'ın bir bağımlı düğümde tasktracker'da kaç tane "görev yuvası" bulunduğunu bilmesine izin verir. Kaç tane boş görev yuvası bulunduğuna bağlı olarak uygun işleri belirli tasktracker'a tahsis etmek jobtracker'ın görevidir.
hdfs dfs -ls /
hdfs dfs -mkdir /user/train/miuul
hdfs dfs -chown train:train /user/train/Advertising.csv
-head
ile okumahdfs dfs -head /user/train/miuul/Advertising.csv
hdfs dfs -get /user/train/Advertising.csv
hdfs dfs -put ~/datasets/Advertising.csv /user/train/miuul
-mv
ile dosya taşımahdfs dfs -mv /user/train/miuul/Advertising.csv /user/train
-cp
ile dosya kopyalamahdfs dfs -cp /user/train/miuul/Advertising.csv /user/train/miuul
-rm
ile dosya silmehdfs dfs -rm -skipTrash /user/train/Advertising.csv