Video: How to Setup Multinode Hadoop 2 on CentOS/RHEL Using VirtualBox 2024
Hadoop 1'deki MapReduce işleme JobTracker ve TaskTracker cinleri tarafından işlenir. JobTracker, Hadoop kümesindeki mevcut tüm işlem kaynaklarının bir görünümünü korur ve uygulama istekleri geldiğinde bunları zamanlamakta ve bunları TaskTracker düğümlerine yürütmek üzere dağıtır.
Uygulamalar çalışırken, JobTracker ilerlemelerini izlemek ve gerektiğinde herhangi bir arızanın ele alınmasını koordine etmek için TaskTracker düğümlerinden durum güncellemeleri alır. JobTracker'ın, kümedeki tüm MapReduce uygulamalarının koordinatını koordine ettiği için Hadoop kümesindeki bir ana düğüm üzerinde çalışması gerekiyor, bu nedenle görev kritik bir hizmettir.
TaskTracker daemonunun bir örneği Hadoop kümesindeki her bağımlı düğümde çalışır; bu da her bağımlı düğümün işlenmeye (TaskTracker) ve depolama alanına (DataNode) bağladığı bir hizmete sahip olduğu anlamına gelir, Bu da Hadoop'un dağıtılmış bir sistem olmasını sağlar.
Bir bağımlı süreç olarak, TaskTracker JobTracker'dan işlem talepleri alır. Birincil sorumluluğu, yerel olarak köle düğümünde gerçekleşen MapReduce iş yüklerinin izlenmesini izlemek ve durum güncellemelerini JobTracker'e göndermektir.
Görev İzleyicileri, her bir bağımlı düğümdeki işleme kaynaklarını, işleme görev alanları şeklinde tanımlar - harita görevleri için tanımlanan yuvalar ve görevleri azaltmak için kesin. Toplam harita ve azaltma yuvası sayısı, bağımlı düğümde bir defada kaç harita ve azaltma görevi yürütülebileceğini gösterir.
Bir Hadoop kümesini ayarlama söz konusu olduğunda, en uygun harita sayısını belirlemek ve alanları küçültmek kritik öneme sahiptir. Yuvaların sayısı, her bağımlı düğümdeki kullanılabilir bellek, disk ve CPU kaynaklarına göre dikkatlice yapılandırılmalıdır. Bellek, bu üç kaynağın performans açısından en kritik noktasıdır. Bu nedenle, toplam görev yuvası sayısı, Java öbek boyutuna ayrılan maksimum bellek miktarı ile dengelenmelidir.
Her bir harita ve azaltma görevinin kendi Java sanal makinesini (JVM) teşvik ettiğini ve yığının her JVM için ayrılan bellek miktarını temsil ettiğini unutmayın. Yuvaları azaltmak için harita yuvalarının oranı da önemli bir husustur.
Örneğin, çok fazla harita yuvasına sahipseniz ve iş yükleriniz için yuva sayısını azaltmanız yeterli değilse, işleriniz azaltma alanlarının kullanıma sunulmasını beklerken, harita yuvaları boşta kalma eğilimi gösterecektir.
Belirli sanal alan kümeleri harita görevleri için tanımlanmıştır ve görevleri azaltmak, çünkü bilgisayar kaynakları oldukça farklı kullanıyorlardır.Harita görevleri veri mevkilerine göre atanır ve disk G / Ç ve CPU'ya büyük ölçüde bağımlıdır. Azaltma görevleri yerellik yerine kullanılabilirlik temelinde atanır ve harita görevlerinden çıktı almaları gerektiğinden ağ bant genişliğine büyük ölçüde bağımlıdırlar.