Install Apache Hadoop pada CentOS 7, Ubuntu 18.04 & Debian 9

Apache Hadoop adalah kerangka kerja perangkat lunak sumber terbuka yang ditulis dalam Java untuk penyimpanan terdistribusi dan proses terdistribusi, dan menangani ukuran set data yang sangat besar dengan mendistribusikannya di seluruh cluster komputer.

Daripada mengandalkan ketersediaan perangkat keras yang tinggi, modul Hadoop dirancang untuk mendeteksi dan menangani kegagalan pada lapisan aplikasi, sehingga memberi Anda layanan yang tersedia tinggi.

Hadoop framework terdiri dari modul-modul berikut,

  • Hadoop Common – Ini berisi kumpulan umum perpustakaan dan utilitas yang mendukung modul Hadoop lainnya
  • Hadoop Distributed File System (HDFS) – adalah sistem file terdistribusi berbasis Java yang menyimpan data, menyediakan throughput yang sangat tinggi untuk aplikasi.
  • Hadoop YARN – Ini mengelola sumber daya pada cluster komputasi dan menggunakannya untuk menjadwalkan aplikasi pengguna.
  • Hadoop MapReduce – adalah kerangka kerja untuk pemrosesan data skala besar.

Panduan ini akan membantu Anda menginstal Apache Hadoop di CentOS 7, Ubuntu 18.04 & Debian 9. Panduan ini juga dapat digunakan di Ubuntu 16.04.

Persyaratan

Login ke root user.

su -

ATAU

sudo su -

Install Java

Apache Hadoop hanya membutuhkan Java versi 8. Jadi, Anda dapat memilih untuk menginstal OpenJDK atau Oracle JDK.

Di sini, untuk demo ini, saya akan menginstal OpenJDK 8.

### CentOS 7 / RHEL 7 ###

# yum -y install java-1.8.0-openjdk wget

### Ubuntu 18.04 / 16.04 & Debian 9 ###

# apt update 
# apt install -y openjdk-8-jdk wget

Cek Versi Java .

# java -version

Output:

openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-b04)
OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)

Membuat Hadoop user & Enable Passwordless Authentication

Disarankan untuk membuat pengguna biasa untuk mengkonfigurasi dan menjalankan Apache Hadoop. Jadi, buat pengguna bernama hadoop dan atur kata sandi.

# useradd -m -d /home/hadoop -s /bin/bash hadoop

# passwd hadoop

Setelah Anda membuat pengguna, konfigurasikan ssh tanpa kata sandi ke sistem lokal. Buat kunci ssh menggunakan perintah berikut.

# su - hadoop

$ ssh-keygen

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

$ chmod 600 ~/.ssh/authorized_keys

Verifikasi komunikasi tanpa kata sandi ke sistem lokal. Jika Anda melakukan ssh untuk pertama kalinya, ketik yes untuk menambahkan kunci RSA ke host yang dikenal.

$ ssh 127.0.0.1

Install Apache Hadoop

Download Hadoop

Kamu bisa mengunjungi Apache Hadoop halaman untuk mengunduh paket Hadoop terbaru, atau Anda dapat mengeluarkan perintah berikut di terminal untuk mengunduh Hadoop v3.2.0.

$ wget https://www-us.apache.org/dist/hadoop/common/stable/hadoop-3.2.0.tar.gz

$ tar -zxvf hadoop-3.2.0.tar.gz 

$ mv hadoop-3.2.0 hadoop

Install Hadoop

Hadoop mendukung tiga mode kluster

  1. Local (Standalone) Mode – Ini berjalan sebagai proses java tunggal.
  2. Pseudo-Distributed Mode – Setiap daemon Hadoop berjalan dalam proses terpisah.
  3. Fully Distributed Mode – Ini adalah multinode cluster aktual mulai dari beberapa node hingga cluster yang sangat besar.

Setup environmental variables

Di sini, kita akan mengkonfigurasi Hadoop dalam mode Pseudo-Distributed. Untuk mulai dengan, atur variabel lingkungan di file ~/.bashrc .

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre   ## Change it according to your system
export HADOOP_HOME=/home/hadoop/hadoop   ## Change it according to your system
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

Terapkan variabel lingkungan ke sesi saat ini.

$ source ~/.bashrc

Modify Konfigurasi files

Edit file Hadoop environmental .

vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh

Set JAVA_HOME environment variable.

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre

Hadoop memiliki banyak file konfigurasi, dan kami perlu mengeditnya tergantung pada mode cluster yang kami atur (Pseudo-Distributed).

$ cd $HADOOP_HOME/etc/hadoop

Edit core-site.xml.

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://server.dreamblog.local:9000</value>
        </property>
</configuration>

Edit hdfs-site.xml.

<configuration>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
        <property>
                <name>dfs.name.dir</name>
                <value>file:///home/hadoop/hadoopdata/hdfs/namenode</value>
        </property>
        <property>
                <name>dfs.data.dir</name>
                <value>file:///home/hadoop/hadoopdata/hdfs/datanode</value>
        </property>
</configuration>

Buat NameNode dan DataNode direktori dalam direktori home pengguna hadoop.

 mkdir -p ~/hadoopdata/hdfs/{namenode,datanode}

Edit mapred-site.xml.

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
</configuration>

Edit yarn-site.xml.

<configuration>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
</configuration>

Sekarang format NameNode menggunakan perintah berikut. Jangan lupa untuk memeriksa direktori penyimpanan.

$ hdfs namenode -format

Output:

.    .    .
.    .    .

2019-05-12 06:38:42,066 INFO common.Storage: Storage directory /home/hadoop/hadoopdata/hdfs/namenode has been successfully formatted.
2019-05-12 06:38:42,169 INFO namenode.FSImageFormatProtobuf: Saving image file /home/hadoop/hadoopdata/hdfs/namenode/current/fsimage.ckpt_0000000000000000000 using no compression
2019-05-12 06:38:42,483 INFO namenode.FSImageFormatProtobuf: Image file /home/hadoop/hadoopdata/hdfs/namenode/current/fsimage.ckpt_0000000000000000000 of size 401 bytes saved in 0 seconds .
2019-05-12 06:38:42,501 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0
2019-05-12 06:38:42,516 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at server.dreamblog.local/192.168.1.10
************************************************************/

Firewall

Izinkan Apache Hadoop melalui firewall. Jalankan perintah di bawah ini sebagai pengguna root.

FirewallD:

firewall-cmd --permanent --add-port=9870/tcp
firewall-cmd --permanent --add-port=8088/tcp
firewall-cmd --reload

UFW:

ufw allow 9870/tcp
ufw allow 8088/tcp
ufw reload

Mulai daemon NameNode dan daemon DataNode dengan menggunakan skrip di direktori / sbin, yang disediakan oleh Hadoop.

$ start-dfs.sh

Output:

Starting namenodes on [server.dreamblog.local]
server.dreamblog.local: Warning: Permanently added 'server.dreamblog.local,192.168.1.10' (ECDSA) to the list of known hosts.
Starting datanodes
localhost: Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
Starting secondary namenodes [server.dreamblog.local]
2019-05-12 06:39:14,171 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

Buka browser web Anda dan buka URL di bawah ini untuk menjelajahi NameNode.

http://ip.ad.dre.ss:9870/

Mulai daemon ResourceManager dan daemon NodeManager.

$ start-yarn.sh

Output:

Starting resourcemanager
Starting nodemanagers

Buka browser web Anda dan buka URL di bawah ini untuk mengakses ResourceManager.

http://ip.ad.dre.ss:8088/

Test Hadoop Single Node Cluster

Sebelum melakukan pengunggahan, mari kita buat direktori di HDFS.

$ hdfs dfs -mkdir /dreamblog

Mari kita unggah file ke direktori HDFS bernama dreamblog.

$ hdfs dfs -put ~/.bashrc /dreamblog

File yang diunggah dapat dilihat dengan masuk ke NameNode >> Utilities >> Browse the file system pada NameNode.

http://ip.ad.dre.ss/explorer.html#/dreamblog

Salin file dari HDFS ke sistem file lokal Anda.

$ hdfs dfs -get /dreamblog /tmp/

Anda dapat menghapus file dan direktori menggunakan perintah berikut.

hdfs dfs -rm -f /dreamblog/.bashrc
hdfs dfs -rmdir /dreamblog

Mungkin Anda Menyukai

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *