Hadoop adalah kerangka kerja perangkat lunak gratis, sumber terbuka, dan berbasis Java yang digunakan untuk penyimpanan dan pemrosesan kumpulan data besar pada kumpulan mesin. Ini menggunakan HDFS untuk menyimpan datanya dan memproses data ini menggunakan MapReduce. Ini adalah ekosistem alat Big Data yang terutama digunakan untuk penambangan data dan pembelajaran mesin.
Apache Hadoop 3.3 hadir dengan peningkatan yang nyata dan banyak perbaikan bug dari rilis sebelumnya. Ini memiliki empat komponen utama seperti Hadoop Common, HDFS, YARN, dan MapReduce.
Tutorial ini akan menjelaskan cara menginstal dan mengkonfigurasi Apache Hadoop pada sistem Linux Ubuntu 20.04 LTS.
Langkah 1 – Menginstal Java
Hadoop ditulis dalam Java dan hanya mendukung Java versi 8. Hadoop versi 3.3 dan terbaru juga mendukung runtime Java 11 serta Java 8.
Anda dapat menginstal OpenJDK 11 dari repositori apt default:
sudo apt update
sudo apt install openjdk-11-jdk
Setelah diinstal, verifikasi versi Java yang diinstal dengan perintah berikut:
java -version
Anda akan mendapatkan output berikut:
openjdk version "11.0.11" 2021-04-20 OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04) OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)
Langkah 2 – Buat Pengguna Hadoop
Sebaiknya buat pengguna terpisah untuk menjalankan Hadoop demi alasan keamanan.
Jalankan perintah berikut untuk membuat user baru dengan nama hadoop:
sudo adduser hadoop
Berikan dan konfirmasi kata sandi baru seperti yang ditunjukkan di bawah ini:
Adding user `hadoop' ... Adding new group `hadoop' (1002) ... Adding new user `hadoop' (1002) with group `hadoop' ... Creating home directory `/home/hadoop' ... Copying files from `/etc/skel' ... New password: Retype new password: passwd: password updated successfully Changing the user information for hadoop Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] y
Langkah 3 – Konfigurasikan Otentikasi Berbasis Kunci SSH
Selanjutnya, Anda perlu mengonfigurasi otentikasi SSH tanpa kata sandi untuk sistem lokal.
Pertama, ubah pengguna menjadi hadoop dengan perintah berikut:
su - hadoop
Selanjutnya, jalankan perintah berikut untuk menghasilkan Pasangan Kunci Publik dan Pribadi:
ssh-keygen -t rsa
Anda akan diminta untuk memasukkan nama file. Cukup tekan Enter untuk menyelesaikan prosesnya:
Generating public/private rsa key pair. Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): Created directory '/home/hadoop/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/hadoop/.ssh/id_rsa Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub The key fingerprint is: SHA256:QSa2syeISwP0hD+UXxxi0j9MSOrjKDGIbkfbM3ejyIk [email protected] The key's randomart image is: +---[RSA 3072]----+ | ..o++=.+ | |..oo++.O | |. oo. B . | |o..+ o * . | |= ++o o S | |.++o+ o | |.+.+ + . o | |o . o * o . | | E + . | +----[SHA256]-----+
Selanjutnya, tambahkan kunci publik yang dihasilkan dari id_rsa.pub ke otor_keys dan atur izin yang tepat:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 640 ~/.ssh/authorized_keys
Selanjutnya, verifikasi otentikasi SSH tanpa kata sandi dengan perintah berikut:
ssh localhost
Anda akan diminta untuk mengautentikasi host dengan menambahkan kunci RSA ke host yang dikenal. Ketik ya dan tekan Enter untuk mengotentikasi localhost:
The authenticity of host 'localhost (127.0.0.1)' can't be established. ECDSA key fingerprint is SHA256:JFqDVbM3zTPhUPgD5oMJ4ClviH6tzIRZ2GD3BdNqGMQ. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Langkah 4 – Memasang Hadoop
Pertama, ubah pengguna menjadi hadoop dengan perintah berikut:
su - hadoop
Selanjutnya, unduh Hadoop versi terbaru menggunakan perintah wget:
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
Setelah diunduh, ekstrak file yang diunduh:
tar -xvzf hadoop-3.3.0.tar.gz
Selanjutnya, ganti nama direktori yang diekstrak menjadi hadoop:
mv hadoop-3.3.0 hadoop
Selanjutnya, Anda perlu mengonfigurasi Hadoop dan Java Environment Variables di sistem Anda.
Buka ~/.bashrc file di editor teks favorit Anda:
nano ~/.bashrc
Tambahkan baris di bawah ini ke file. Anda dapat menemukan lokasi JAVA_HOME dengan menjalankan dirname $(dirname $(readlink -f $(which java))) command on terminal.
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 export HADOOP_HOME=/home/hadoop/hadoop 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 export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
Save and close the file. Then, activate the environment variables with the following command:
source ~/.bashrc
Selanjutnya, buka file variabel lingkungan Hadoop:
nano $HADOOP_HOME/etc/hadoop/hadoop-env.sh
Sekali lagi atur JAVA_HOME di lingkungan hadoop.
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
Simpan dan tutup file setelah Anda selesai.
Langkah 5 - Mengonfigurasi Hadoop
Pertama, Anda perlu membuat direktori namenode dan datanode di dalam direktori home Hadoop:
Jalankan perintah berikut untuk membuat kedua direktori:
mkdir -p ~/hadoopdata/hdfs/namenode
mkdir -p ~/hadoopdata/hdfs/datanode
Selanjutnya, edit situs-inti.xml file dan perbarui dengan nama host sistem Anda:
nano $HADOOP_HOME/etc/hadoop/core-site.xml
Ubah nama berikut sesuai nama host sistem Anda:
XHTML
123456 |
Simpan dan tutup file. Kemudian, edit hdfs-site.xml berkas:
nano $HADOOP_HOME/etc/hadoop/hdfs-site.xml
Ubah jalur direktori NameNode dan DataNode seperti yang ditunjukkan di bawah ini:
XHTML
1234567891011121314151617 |
Simpan dan tutup file. Kemudian, edit mapred-site.xml berkas:
nano $HADOOP_HOME/etc/hadoop/mapred-site.xml
Lakukan perubahan berikut:
XHTML
123456 |
Simpan dan tutup file. Kemudian, edit situs-benang.xml berkas:
nano $HADOOP_HOME/etc/hadoop/yarn-site.xml
Lakukan perubahan berikut:
XHTML
123456 |
Simpan dan tutup file setelah Anda selesai.
Langkah 6 - Mulai Hadoop Cluster
Sebelum memulai cluster Hadoop. Anda perlu memformat Namenode sebagai pengguna hadoop.
Jalankan perintah berikut untuk memformat Namenode hadoop:
hdfs namenode -format
Anda akan mendapatkan output berikut:
2020-11-23 10:31:51,318 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0 2020-11-23 10:31:51,323 INFO namenode.FSImage: FSImageSaver clean checkpoint: txid=0 when meet shutdown. 2020-11-23 10:31:51,323 INFO namenode.NameNode: SHUTDOWN_MSG: /************************************************************ SHUTDOWN_MSG: Shutting down NameNode at hadoop.tecadmin.net/127.0.1.1 ************************************************************/
Setelah memformat Namenode, jalankan perintah berikut untuk memulai cluster hadoop:
start-dfs.sh
Setelah HDFS dimulai dengan sukses, Anda akan mendapatkan output berikut:
Starting namenodes on [hadoop.tecadmin.com] hadoop.tecadmin.com: Warning: Permanently added 'hadoop.tecadmin.com,fe80::200:2dff:fe3a:26ca%eth0' (ECDSA) to the list of known hosts. Starting datanodes Starting secondary namenodes [hadoop.tecadmin.com]
Selanjutnya, mulai layanan YARN seperti yang ditunjukkan di bawah ini:
start-yarn.sh
Anda akan mendapatkan output berikut:
Starting resourcemanager Starting nodemanagers
Sekarang Anda dapat memeriksa status semua layanan Hadoop menggunakan perintah jps:
jps
Anda akan melihat semua layanan yang berjalan pada output berikut:
18194 NameNode 18822 NodeManager 17911 SecondaryNameNode 17720 DataNode 18669 ResourceManager 19151 Jps
Langkah 7 - Sesuaikan Firewall
Hadoop sekarang dimulai dan mendengarkan pada port 9870 dan 8088. Selanjutnya, Anda harus mengizinkan port ini melalui firewall.
Jalankan perintah berikut untuk mengizinkan koneksi Hadoop melalui firewall:
firewall-cmd --permanent --add-port=9870/tcp
firewall-cmd --permanent --add-port=8088/tcp
Selanjutnya, muat ulang layanan firewalld untuk menerapkan perubahan:
firewall-cmd --reload
Langkah 8 - Akses Hadoop Namenode dan Resource Manager
Untuk mengakses Namenode, buka browser web Anda dan kunjungi URL http://your-server-ip:9870. Anda akan melihat layar berikut:
http://hadoop.tecadmin.net:9870
Untuk mengakses Resource Manage, buka browser web Anda dan kunjungi URL http://your-server-ip:8088. Anda akan melihat layar berikut:
http://hadoop.tecadmin.net:8088
Langkah 9 - Verifikasi Cluster Hadoop
Pada titik ini, cluster Hadoop diinstal dan dikonfigurasi. Selanjutnya, kita akan membuat beberapa direktori di sistem file HDFS untuk menguji Hadoop.
Mari kita buat beberapa direktori di sistem file HDFS menggunakan perintah berikut:
hdfs dfs -mkdir /test1
hdfs dfs -mkdir /logs
Selanjutnya, jalankan perintah berikut untuk membuat daftar direktori di atas:
hdfs dfs -ls /
Anda akan mendapatkan output berikut:
Found 3 items drwxr-xr-x - hadoop supergroup 0 2020-11-23 10:56 /logs drwxr-xr-x - hadoop supergroup 0 2020-11-23 10:51 /test1
Juga, letakkan beberapa file ke sistem file hadoop. Misalnya, meletakkan file log dari mesin host ke sistem file hadoop.
hdfs dfs -put /var/log/* /logs/
Anda juga dapat memverifikasi file dan direktori di atas di antarmuka web Hadoop Namenode.
Buka antarmuka web Namenode, klik Utilitas => Jelajahi sistem file. Anda akan melihat direktori yang telah Anda buat sebelumnya di layar berikut:
http://hadoop.tecadmin.net:9870/explorer.html
Langkah 10 - Hentikan Kluster Hadoop
Anda juga dapat menghentikan layanan Hadoop Namenode dan Yarn kapan saja dengan menjalankan stop-dfs.sh dan stop-yarn.sh skrip sebagai pengguna Hadoop.
Untuk menghentikan layanan Hadoop Namenode, jalankan perintah berikut sebagai pengguna hadoop:
stop-dfs.sh
Untuk menghentikan layanan Hadoop Resource Manager, jalankan perintah berikut:
stop-yarn.sh
Kesimpulan
Tutorial ini menjelaskan tutorial langkah demi langkah untuk menginstal dan mengkonfigurasi Hadoop di sistem Linux Ubuntu 20.04.