Instalasi dan Konfigurasi Hadoop pada Compute Engine — Google Cloud Platform

Hadoop merupakan framework dalam pengolahan Big Data yang memungkinkan pemrosesan secara terdistribusi terhadap data yang berukuran besar. Yang dimaksud dengan terdistribusi adalah sistem tidak melakukan penyimpanan hanya pada satu disk melainkan dipecah-pecah menjadi beberapa cluster. Sehingga tujuan utama penggunaan Hadoop adalah memungkinkan pengolahan data berukuran besar (Big Data) dapat diproses secara cepat.

Google Cloud Platform atau kita singkat saja GCP merupakan layanan komputasi awan dari google yang menyediakan berbagai macam produk, mulai dari layanan VPS konvensional yang mereka namai Compute Engine, File Storage, Database Server, hingga platform untuk pengolahan data dan kecerdasan buatan.

Sebenarnya GCP mempunya Dataproc yang kira-kira tujuan utamanya sama seperti Hadoop, yaitu memungkinkan pemrosesan data besar secara lebih cepat.

Dalam artikel ini kita akan melakukan konfigurasi Hadoop pada Compute Engine GCP yang memiliki Instance VM dan sudah terinstall Ubuntu Server 18.04 LTS. Memang ini Server VPS Ubuntu biasa, namun jika kita menggunakan Compute Engine ada beberapa hal yang harus disetting, dalam hal ini hanya firewall karena kita belum akan menggunakan domain. Jika menggunakan domain ada hal lain lagi yang harus disetting yaitu VPC Network.

Requirements

Sebelum melakukan instalasi dan konfigurasi, pastikan sudah siap beberapa hal berikut:

Registrasi dan Konfigurasi akun GCP dan Compute Engine tidak akan dibahas disini, mungkin akan dibahas di lain kesempatan.

Instalasi & Konfigurasi OpenJDK/Java

Karena Hadoop berada pada ekosistem Java, maka dibutuhkan jdk. Jika sudah terinstall, lewati saja tahap ini.

$ sudo apt update
$ sudo apt-get install default-jdk
$ sudo update-alternatives --config java

Setelah instalasi selesai maka set JAVA_HOME

$ nano /etc/envronment

Lalu tambahkan di baris terakhir:

JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64/"

Save kemudian, reload dengan cara:

$ source /etc/environment

Cek kembali instalasi path:

$ echo $JAVA_HOME

Pastikan hasilnya mengeluarkan path sesuai dengan lokasi instalasi: JAVA_HOME=”/usr/lib/jvm/java-11-openjdk-amd64/”

Kemudian, cek versi java untuk memastikan Java sudah terinstal dan siap digunakan

$ java --version

Maka hasilnya seperti ini:

openjdk 11.0.7 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-2ubuntu218.04)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-2ubuntu218.04, mixed mode, sharing)

Java sudah sukses terinstall 🎉🎉🎉

Instalasi & Konfigurasi Hadoop

Prerequsities

Tambhakna user hadoop, lalu login

$ adduser hadoop
$ su - hadoop

Setelah membuat user akun, dibutuhkan ssh ke localhost, seperti ini

$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys

Pastikan bisa ssh ke localhost, kemudian exit setelahnya

$ ssh localhost
$ exit

Download Hadoop

Download hadoop dengan menggunakan wget, sesuaikan versi yang dibutuhkan, tapi disini kita akan menggunakan versi 3.1.3.

Sebelum download pastikan sedang berada pada direktori home user hadoop

$ pwd
home/hadoop

Biar rapih :D

Download dengan wget, lalu extract dan rename

$ wget https://downloads.apache.org/hadoop/common/hadoop-3.1.3/hadoop-3.1.3.tar.gz$ tar xzf hadoop-3.1.3.tar.gz$ mv hadoop-3.1.3 hadoop

Install Hadoop

$ nano ~/.bashrc

Kemudian tambahkan potongan kode berikut pada baris terakhir file .bashrc:

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 YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

Reload .bashrc

$ source ~/.bashrc
$ export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

Setup file konfigurasi Hadoop

Arahkan ke direktori etc hadoop

$ cd $HADOOP_HOME/etc/hadoop

Edit core-site.xml

$ nano core-site.xml

Tabahkan potongan kode .xml berikut diantara tag <configuration>

<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>

Edit hdfs-site.xml

Sama seperti diatas, tambahkan kode dibawah diantar tag <configuration>

<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>

Edit hdfs-site.xml

Tambhakan diantara tag <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>

Edit mapred-site.xml

Tambahkan diantara <configuration>

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

Terakhir, edit yarn-site.xml

Tambahkan diantara <configuration>

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

Lakukan Format nodename

$ hdfs namenode -format

Akan melakukan beberapa proses lalu shuting down.

Menjalankan Hadoop Cluster

Masuk ke direktori:

$ cd $HADOOP_HOME/sbin/

Kemudian eksekusi 2 script dibawah

$ ./start-dfs.sh$ ./start-yarn.sh

Dan hadoop pun sudah bisa berjalan.

Jika dalam menjalan 2 script tersebut tidak bisa berjalan kemungkinan kaena karena konfigurasi ssh default, maka ketikan perintah berikut untuk menyesuaikan:

$ export PDSH_RCMD_TYPE=ssh

Lalu jalankan lagi 2 script di atas, dam hadoop pun bisa di akses pada port 9870 melalui browser ketikan url

http://ip_external_compute_engine:9870/

Tapi jika diakses tetap tidak bisa, maka perlu dilakukan konfigurasi Firewall pada dashboard GCP

Konfigurasi Firewall GCP

Akses halaman firewall GCP pada https://console.cloud.google.com/networking/firewalls/list

Klik button Create Firewall Rule pada section atas

Berikan nama sesuai keinginan, misalnya disini allow-hadoop

  • Pada IP range isikan 0.0.0.0/0
  • Kemudian pada section Protocols and ports isikan port hadoop yaitu 9870

Kira-kira seperti ini:

create firewall GCP

Kemudian klik CREATE dan firewall sudah terbuat. Hadoop dapat diakses pada http://external_IP_compute_engine:9870 melalui browser dan hasilnya seperti ini:

Dahsboard Hadoop pada port 9870

Selesai. Hadoop benar-benar sudah berjalan.👏👏👏

Membunuh Service Hadoop

Sebagai pelengkap dari artikel ini. Maka jika ingin melakukan perintah pemberhentian service hadoop, kita hanya perlu melakukan command:

$ ./hadoop/sbin/stop-all.sh

Penutup

Tulisan ini merupakan dokumentasi belajar. Kemungkinan akan banyak kekurangan dan jika ada kekurangan yang perlu disampaikan atau pertanyanaan silakan kontak:

Footnote & Credits

Nobody