%50 indirim tüm planlarda, sınırlı süre. Başlangıç fiyatı $2.48/mo
13 dakika kaldı
Veritabanları ve Analitik

Ubuntu'ye Hadoop Kurulumu: Kapsamlı Bir Rehber

Pius Bodenmann By Pius Bodenmann 13 dakikalık okuma Güncelleme 1 Mayıs 2024
Ubuntu Linux'a Hadoop nasıl kurulur

Günümüzde bir işletme veya bilgisayar gerektiren herhangi bir operasyon, tek bir bilgisayarın yetmeyeceği ölçüde büyüdüğünde, iş yükünü daha verimli yönetmek için birden fazla bilgisayarı tek bir ağ üzerinde çalıştırmaya başlıyoruz. Bu yaklaşım artık o kadar yaygın ki veri bilimi gibi alanlardaki neredeyse tüm işlemler bu ağa bağlı bilgisayarlar tarafından yürütülüyor. Yoğun bilgisayar işlemlerini bu şekilde gerçekleştirmek daha verimli olsa da beraberinde ciddi bir karmaşıklık getiriyor: her bilgisayarı ayrı ayrı yapılandırmanız, ardından tüm ağı süreç boyunca yönetmeniz gerekiyor. İşte bu noktada Hadoop devreye giriyor.

Hadoop, Apache tarafından yayımlanan bir araçlar ve programlar paketidir. Bir grup bilgisayarı ağa bağlama sürecinin çok daha verimli ve kolay yürütülmesini sağlar. Bu makalede Hadoop'u ele alacak, kullanım senaryolarını inceleyecek, artılarını ve eksilerini değerlendirecek ve gelişmiş mimarisine genel bir bakış sunacağım. Ardından 2024 Hadoop eğitimini tamamlamak için Ubuntu 20.04 üzerine Hadoop kurulumunu adım adım anlatacağım.

Apache Hadoop Nedir?

Apache tarafından geliştirilen bir araçlar paketi olan Hadoop, 15 yılı aşkın süredir ağ kurulumunu ve kullanımını dönüştürüyor. Kullanıcılar, Hadoop'un kaynak verimliliğinden yararlanarak mevcut hesaplama güçlerini pahalı donanım yükseltmelerine gerek kalmadan yoğun işler için kullanabilir. Paket; HDFS, YARN, MapReduce ve Hadoop Common olmak üzere her biri belirli kullanım senaryoları için tasarlanmış dört modülden oluşur.

Hadoop'un temel gücü, hem bireysel kullanıcıların hem de kuruluşların mevcut hesaplama kapasitelerini tek bir birleşik yapıya dönüştürmesini sağlamasında yatıyor. Bu sayede ciddi hesaplama zorluklarının üstesinden gelinebiliyor. Hadoop olmadan bu yapıların, giderek daha güçlü bilgisayarlar satın alma gibi maliyetli bir yola başvurması gerekirdi.

Hadoop Kullanım Alanları

Hadoop'un ne olduğunu artık biliyoruz. Peki kullanım senaryoları gerçek dünyada tam olarak nasıl işliyor? Bir programı teorik olarak anlamak değerli olmakla birlikte, onu gerçek bir operasyonun parçası olarak uygulamada görmekle kıyaslanamaz. Bu nedenle Hadoop eğitimine geçmeden önce birkaç örnek paylaşacağım.

Risk Analysis Riski Analizi

Daha önce de belirtildiği gibi Hadoop, tek bir ağ birimi olarak çalışan birden fazla bilgisayarın gücünü bir araya getirerek büyük veri kümelerini normalden çok daha hızlı işlemenizi ve analiz etmenizi sağlar. Her işletmede analiz ve hesaplama gerektiren riskler vardır; Hadoop bu noktada son derece işe yarar. Nitekim pek çok köklü hastane, farklı tedavilerin risklerini değerlendirmek ve hastalara yönelik operasyonların olası sonuçlarını ile istatistiklerini tahmin etmek için Hadoop'u kullanmaktadır. Hadoop'un sağlık sektöründeki rolü hakkında daha fazla bilgi edinebilirsiniz.

Güvenlik İhlallerini Tespit Etme

Bir ağdaki veya işletmedeki bağlı cihaz sayısı arttıkça potansiyel güvenlik açıklarının sayısı da artıyor. Hadoop'un temel kullanım alanlarından biri, büyük veri kümelerini analiz ederek sistemin tamamını değerlendirmek ve olası zayıf noktaları ortaya çıkarmaktır.

İnceleme Eşleştirmesi

Pek çok işletme, ürünlerini geliştirmek veya yeni pazar stratejileri oluşturmak için kullanıcı yorumlarına dayanır. Büyük bir yorum veritabanını insan eliyle taramak çok uzun sürer; ancak Hadoop, ağa bağlı bilgisayarlar aracılığıyla bu işi çok daha kısa sürede tamamlar.

Pazar Analizi

Pazar stratejilerinden bahsetmişken, yorum analizinin gerektirdiği kaynaklar; yeni bir ürünün pazardaki potansiyelini değerlendirmek için gereken kaynaklarla kıyaslandığında oldukça mütevazı kalır. Hadoop bu noktada da öne çıkıyor: Küçük ve büyümekte olan işletmeler bile birkaç bilgisayar kullanarak pazarı makul bir süre içinde verimli biçimde analiz edebiliyor.

Log Dosyalarını Analiz Etme

İşletmeler büyüdükçe kullandıkları yazılım sayısı da artıyor ve bu durum beraberinde daha fazla hata ve sorun noktası getiriyor. Log dosyalarını yönetmek ve sorunları gidermek başlı başına bir iş haline geliyor. Hadoop sayesinde birkaç basit protokolle log dosyaları hızlıca incelenip değerlendirilebiliyor ve hatalar tespit edilerek ortadan kaldırılabiliyor.

Hadoop'un daha pek çok kullanım senaryosu ve uygulaması bulunuyor; ancak makalenin odağını korumak adına bunları daha fazla ele almayacağız.

Hadoop Mimarisine Genel Bakış

Hadoop'u ve genel kullanım senaryolarını duymuş olabilirsiniz. Duymadıysanız da bu makale şimdiye kadar size gerekli bilgiyi sunmuştur. Şimdi Hadoop'un gerçekte nelerden oluştuğunu ve her bir parçasının diğerleriyle nasıl çalıştığını daha ayrıntılı biçimde incelemeniz gerekiyor. Daha önce belirtildiği gibi Hadoop'un dört genel katmanı vardır. Bu Hadoop eğitimi bölümünde HDFS (Hadoop Distributed File System), YARN (Yet Another Resource Negotiator), MapReduce ve Hadoop Common hakkında daha fazla bilgi edineceğiz. Hadoop Common'ın açıklanması gereken çok fazla özelliği olmadığından, temel bilgileri şu şekilde özetlenebilir: Zookeeper. Bu bölümde, Ubuntu 20.04 üzerine Hadoop kurulumuna geçmeden önce gelişmiş Hadoop mimarisini, ekosistemini ve dört bölümünü sade bir dille aktarmaya çalışacağım.

HDFS

Hadoop ekosistemindeki HDFS, tüm Hadoop alt sistemleri ve uygulamalarının veriyi erişmek, aktarmak ve depolamak için kullandığı genel depolama sistemini oluşturur. HDFS mimarisinin temel noktası şudur: Hadoop'un kendisinin aksine açık kaynaklı olmayan HDFS, tek bir Hadoop kümesinin tüm alt düzey işlemlerini yürüten dosya sistemidir. HDFS son derece dayanıklı bir dosya sistemidir; veri kümelerini 128 MB'lık parçalara böler ve sıralı işlemler için optimize eder.

HDFS'nin Hadoop yazılımındaki birincil rolü, tüm veriyi genel bir veri rafı olarak sunmaktır. Bu veri daha sonra farklı namenode'lar ve ikincil raflar aracılığıyla veri analizi operasyonunuzu düzenlemek için alt bölümlere ayrılabilir. Journal raf, QJM, HA, fsimage ve edit log dosyaları ile genel legend log gibi diğer seçenekleri kullanarak operasyonlarınızı takip edebilir ve çeşitli görevleri gerçekleştirebilirsiniz.

YARN

YARN, Hadoop'un bir diğer yönetim katmanıdır. Hadoop ekosistemi içindeki belirli uygulamalara istenen miktarda hesaplama kaynağı atamak için kullanılır. Temel olarak, bir kaynak yöneticisi aracılığıyla istemcilere bu kaynakları farklı node'lar üzerinden farklı görev ve uygulamalara dağıtma imkânı sunar. HDFS'dekine benzer şekilde YARN'da da ayrılmış tüm kaynakları ve işlemleri takip etmenizi sağlayan bir legend bulunur. YARN kendi içinde üç alt bölüme ayrılır: Resource Manager, Application Master ve Node Manager.

Bu üç alt bölümün her biri sırasıyla küme, uygulama ve node başına yeni bir örnek oluşturur. YARN ile yalnızca kaynakları farklı görevlere atamakla kalmaz, aynı zamanda gelişmiş algoritmik iş akışları oluşturmak için bu kaynakların zamanla nasıl değişeceğini de planlayabilirsiniz. YARN yalnızca kendi alt bölümleriyle sınırlı değildir; kaynakları tahsis etmek ve genel operasyonunuzu değerlendirmek için YARN'ı HDFS ve Zookeeper gibi diğer mimari katmanlarla birlikte kullandığınız pek çok durum olacaktır.

Hadoop MapReduce

Hadoop MapReduce, Hadoop ekosisteminin bir diğer önemli bileşenidir. Ubuntu üzerine Hadoop kurduktan sonra bu özelliği kullanarak büyük bir veri kümesini birden fazla bilgisayara dağıtılmış biçimde analiz ettirebilirsiniz. Hadoop MapReduce temelde şöyle çalışır: programa büyük bir veri haritası girdi olarak verirsiniz. Bu veri haritası karıştırılır, parçalara ayrılır ve ağa bağlı bilgisayarlara dağıtılır. Ardından reducer adı verilen protokoller aracılığıyla veri en temel bileşenlerine indirgenir. Bu işlemlerin her biri bir Job olarak adlandırılır.

Diyelim ki MapReduce ile analiz etmek istediğiniz veri haritası üç kelimeli bir cümle. Bu cümlenin "Bear Hunt Rabbit" olduğunu varsayalım. Hadoop MapReduce bu cümleyi her biri tek bir kelime içeren üç ayrı parçaya böler, ardından bu kelimeleri diğer işlerinizden gelen benzer veri girdileriyle birleştirerek gereksiz verilerin ayıklandığı, tek tip ve kolayca analiz edilebilir bir veri kümesi oluşturur.

Zookeeper

Zookeeper, Hadoop ekosisteminin bir alt bileşenidir ve Hadoop 2.0 sürümüyle birlikte yaygın kullanıma girmiştir. Temel işlevi, tek bir Hadoop örneği içinde yürütülen farklı operasyonlar arasındaki koordinasyonu sağlamaktır. Bu nedenle Zookeeper, neredeyse her zaman YARN'ın Resource Manager'ı ve HDFS'nin çeşitli özellikleriyle birlikte kullanılır. Bu operasyonlardaki başlıca rolü, olası hata noktalarını tespit edip gidermektir. Bunun için iki farklı araçtan yararlanır: ZKFailoverController ve Zookeeper Quorum.

Bu süreçte, Hadoop mimarisinin diğer bileşenleri tarafından yönetilen veri düğümleri, kullanıcı tarafından denetlenen aktif namenode'lar olarak sınıflandırılır. Ardından bu namenode'ların her biri, Zookeeper'ın söz konusu iki alt bölümünde incelenir. Bu incelemenin amacı, sorunlu alanları tespit etmek ve olası hataları önceden belirlemektir.

Hadoop'u Ubuntu 20.04'e Kurma – Adım Adım Kılavuz

Son olarak, Hadoop mimarisini öğrendikten sonra bu Hadoop eğitiminin asıl konusuna geliyoruz: Hadoop'u Ubuntu 20.04'e nasıl kuracağız. Adım adım kurulum kılavuzuna geçmeden önce ön koşulları ele alalım. Bu kılavuzun Ubuntu 18.04 için de geçerli olduğunu belirtmek gerekir.

Ön Koşullar

Hadoop'u Ubuntu üzerine kurmak için gereken ön koşullar oldukça basittir. Tek ihtiyacınız olan şey, root erişimine sahip olduğunuz Ubuntu tabanlı bir bilgisayardır; bu erişim yerel olabileceği gibi bir VPS sunucusu aracılığıyla uzaktan da sağlanabilir. Yazılım ön koşulları açısından, Java 11 ve SSH'nin sisteminizde kurulu olduğundan emin olun. Kurulu değillerse, aşağıdaki komutları sırayla çalıştırın:

sudo apt update && sudo apt upgrade -y
sudo apt install openssh-server openssh-client -y
sudo apt install openjdk-11-jdk -y

Lisans konusunda endişelenmenize gerek yok; Hadoop ücretsiz ve açık kaynaklıdır. Gerekli olan her şey bu kadar. Haydi birinci adıma geçelim.

Adım 1: Hadoop için Root Olmayan Kullanıcı Oluşturma

Hadoop için root olmayan bir kullanıcı oluşturun. Bu adım, Hadoop'u indirip kurmadan önce tamamlanması gereken ön yapılandırmaların bir parçasıdır:

sudo adduser hdoop
su - hdoop

Adım 2: SSH Anahtarlarını Ayarlama

Şimdi Ubuntu üzerine Hadoop kurulumu için az önce oluşturduğunuz Hadoop kullanıcısını kullanacak ve bu kullanıcıyla bir SSH bağlantısı kuracaksınız. SSH anahtar çiftini oluşturup kaydetmek için şu komutu çalıştırın:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

Anahtarlar oluşturulduktan sonra, aşağıdaki komut onları şu şekilde işaretlemenizi sağlar: authorized_keys ve bunları SSH dizininize kaydedin:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Şimdi SSH bağlantınızın gerekli tüm izinlere sahip olduğundan emin olmak için şu komutu kullanın:

chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

Değişiklikleri onaylayın; bundan sonra oluşturduğunuz kullanıcıyla localhost'a her zaman kolayca bağlanabileceksiniz:

ssh localhost

Adım 3: Ubuntu'ye Hadoop İndirme ve Kurma

Ziyaret edebilirsiniz Apache Hadoop websitesi sürüm listesini ve son değişiklik notlarını görmek için. İstediğiniz sürümü seçin; açılan bağlantıyı aşağıdaki komutla kullanarak Hadoop'u Ubuntu üzerine indirip kurabilirsiniz. Bu örnekte 3.3.6 sürümünü seçiyorum. Gerekirse '3.3.6' yerine en güncel kararlı sürümü yazın:

wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz

İndirme tamamlandıktan sonra, dosyayı çıkartıp kurulumu tamamlamak için şu komutu çalıştırın:

tar xzf hadoop-3.3.6.tar.gz
sudo mv hadoop-3.3.6 /usr/local/hadoop
sudo chown -R hdoop:hdoop /usr/local/hadoop

Adım 4: Hadoop Ortamını Yapılandırma

Ayarla JAVA_HOME in /usr/local/hadoop/etc/hadoop/hadoop-env.sh:

echo 'export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")' | sudo tee -a /usr/local/hadoop/etc/hadoop/hadoop-env.sh

Adım 5: Yapılandırma Dosyalarını Düzenleme

Hadoop'un XML yapılandırma dosyalarını küme ayarlarınızla güncelleyin.

nano /usr/local/hadoop/etc/hadoop/core-site.xml

Adım 6: HDFS'i Biçimlendirme

Hadoop dosya sistemi ad alanını başlatın.

/usr/local/hadoop/bin/hdfs namenode -format

Adım 7: Hadoop Servislerini Başlatma

HDFS ve YARN servislerini başlatın.

/usr/local/hadoop/sbin/start-dfs.sh
/usr/local/hadoop/sbin/start-yarn.sh

Adım 8: Kurulumu Doğrulayın

Java işlemlerini kontrol ederek Hadoop'un çalıştığını doğrulayın.

jps

Adım 9: Web Arayüzlerine Erişin

Hadoop'un NameNode ve ResourceManager arayüzlerine web tarayıcısından erişin.

NameNode: http://localhost:9870
ResourceManager: http://localhost:8088

Adım 10: Bir MapReduce Örneği Çalıştırın

Kurulumu doğrulamak için örnek bir MapReduce işi çalıştırın.

/usr/local/hadoop/bin/hdfs dfs -mkdir /input
/usr/local/hadoop/bin/hdfs dfs -put localfile.txt /input
/usr/local/hadoop/bin/hadoop jar
/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar grep /input /output 'dfs[a-z.]+'
/usr/local/hadoop/bin/hdfs dfs -cat /output/*

Adım 11: Ortam Değişkenlerini Ayarlayın

Hadoop Ekle bin ve sbin dizinlerini sistem PATH'ine ekleyin.

echo 'export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin' >> ~/.bashrc
source ~/.bashrc

Hepsi bu kadar! Ubuntu 20.04 üzerinde Apache Hadoop'u başarıyla yapılandırıp kurdunuz!

Sonuç

Özetle, Ubuntu 20.04 üzerine Hadoop kurulumu; dikkat ve sabır isteyen, ayrıntılara özen göstermeyi gerektiren kapsamlı bir süreçtir. Bu kılavuzdaki adımları izleyerek Ubuntu kullanıcıları, Hadoop'un güçlü özelliklerinden yararlanabilir ve veri analitiği çalışmalarının tüm potansiyelini ortaya çıkarabilir.

Hadoop'u yalnızca öğrenmek ve denemek amacıyla kullanacaksanız, tek düğümlü ve sınırlı dağıtım olarak kurmanızı öneririm. Bu amaç için bir VPS fazlasıyla yeterli olacaktır. Cloudzy size pek çok farklı seçenek sunar: Linux VPS hizmetleri güvenilir ve sağlam bir Ubuntu VPS Aylık yalnızca 4,95 dolardan başlayan fiyatlarla, 12'den fazla lokasyon ve 7/24 destek seçeneğiyle kendi Ubuntu VPS'nizi edinebilirsiniz. Kısa sürede yapılandırarak Hadoop öğrenmek için ideal bir ortama kavuşabilirsiniz.

ubuntu-vps Açık Fark

Linux tabanlı sunucuların büyük çoğunluğu Ubuntu kullanıyor; siz neden kullanmıyorsunuz? Ubuntu'yi bu kadar popüler yapan şeyleri keşfedin ve optimize edilmiş bir Ubuntu VPS edinin.

Ubuntu VPS'nizi alın

SSS

HDFS ile MapReduce arasındaki farklar nelerdir?

Her ikisi de Hadoop ekosisteminde yer alsa da farklı işlevler üstlenir. HDFS, verilere erişimi kolaylaştıran dağıtık bir dosya sistemi olarak çalışır. MapReduce ise büyük veri kümelerini parçalara ayırarak verimli biçimde analiz etmek için kullanılır.

Hadoop bir veritabanı mıdır?

Hadoop bir veritabanı değildir; ancak bu yanılgı oldukça yaygındır. Hadoop, birbiriyle bağlantılı bilgisayarlardan oluşan bir ağ üzerinde büyük hacimlerdeki verilerin depolanmasını ve işlenmesini sağlayan dağıtık bir dosya sistemidir. Geleneksel bir veritabanı sisteminin doğrudan yerine geçmesi için uygun değildir.

Hadoop'un dört temel bileşeni nelerdir?

Hadoop dört temel bileşenden oluşur: HDFS (Hadoop Distributed File System), YARN (Yet Another Resource Negotiator), MapReduce ve Hadoop Common. Bunlara ek olarak bazı kaynaklar ZooKeeper'ı da bir bileşen olarak değerlendirse de resmi olarak bu şekilde tanımlanmamaktadır.

Hadoop genellikle nerede kullanılır?

Hadoop, büyük ölçekli verilerin yönetilmesi, depolanması, işlenmesi ve analiz edilmesinin kritik önem taşıdığı pek çok alanda kullanılır. Orta ölçekli işletmelerden hastanelere, büyüyen girişimlere kadar farklı yapılara veri odaklı çözümler sunar.

Paylaş

Blogdan daha fazlası

Okumaya devam et.

Fütüristik bir sunucu üzerinde MongoDB'nin orijinal sembolü, MongoDB'nin Ubuntu'ye nasıl kurulacağını anlatan bir alt başlık, makale başlığı ve Cloudzy marka logosu
Veritabanları ve Analitik

MongoDB, Ubuntu'nin Son Üç Sürümüne Nasıl Kurulur? (Adım Adım)

MongoDB'yi kullanmaya karar verdiniz; MERN stack uygulama, analitik platform veya belge tabanlı bir sistem geliştirmek için MariaDB'ye güçlü bir alternatif. Ancak kaliteli ve güncel kaynak bulmakta zorlandıysanız

Jim SchwarzJim Schwarz 12 dk okuma
İşletiniz için Akıllı Veri Yönetimi: VPS ile "Bulut Benzeri" Depolama ve Yedekleme Stratejileri
Veritabanları ve Analitik

İşletiniz için Akıllı Veri Yönetimi: VPS ile "Bulut Benzeri" Depolama ve Yedekleme Stratejileri

Güvenli iş verisi yönetimi için VPS, bir şirket dizüstü bilgisayarlar, e-posta ekleri ve yarı unutulmuş

Reksa SirusReksa Sirus 7 dakikalık okuma
Materialized View ve View Karşılaştırması
Veritabanları ve Analitik

Materialized View ve View: Veritabanlarındaki Rolleri

Veritabanı sistemlerinde materialized view, bir sorgunun önceden hesaplanmış sonuçlarını fiziksel bir tablo olarak disk üzerinde saklayan bir veritabanı nesnesidir. Veriler gerçek anlamda depolandığından, karmaşık

İvy Johnsonİvy Johnson 7 dakikalık okuma

Dağıtmaya hazır mısınız? Aylık 2,48 dan başlayan fiyatlarla.

2008'den bu yana bağımsız bulut. AMD EPYC, NVMe, 40 Gbps. 14 gün para iade garantisi.