Instalasi Multi Node Hadoop Clusters pada Linux di VirtualBox

Hadoop belakangan menjadi populer, boleh jadi karena kemampuannya untuk melakukan komputasi terdistribusi pada sumber daya komputasi standar. Catatan ini menunjukkan langkah demi langkah instalasi Hadoop pada 3 instance Lubuntu yang berjalan di atas VirtualBox. Instance Lubuntu dibagi menjadi 1 master (name node / master) dan 2 slave (data node / slave). Berikut adalah langkah-langkahnya.

1.Persiapan

Untuk melakukan instalasi Hadoop ini, diperlukan kebiasaan menggunakan Linux dengan Console/Shell.

Pastikan hardware yang anda gunakan memadai. Hardware yang saya gunakan untuk catatan ini adalah komputer laptop Core i5, dengan memory 12GB. Memori yang digunakan besar karena masing-masing instance Lubuntu nantinya akan diatur sebagai node dengan memori 2GB. Jadi, diperlukan setidaknya minimal 8GB untuk bisa mengikuti tutorial ini.

Software yang digunakan pada saat menulis catatan ini adalah

  1. Lubuntu Linux,
  2. VirtualBox
  3. Hadoop versi 2.9.0. (download dari sini dan ekstrak di home directory, misal /home/panji/hadoop-2.9.0)
  4. Open JDK.

Buatlah 3 instance Lubuntu pada Virtualbox, dengan memori 2GB. Namai hostname masing-masing instance, misalnya dengan master, slave1, dan slave2. Kemudian, supaya bisa berjalan seperti pada jaringan komputer, pilih VirtualBox Host Only Adapter pada masing-masing instance. Pastikan masing-masing instance bisa melakukan ping satu sama lain.

2.Proses Instalasi

1. Install JDK

Java diperlukan untuk menjalankan Hadoop karena pada prinsipnya, Hadoop ditulis menggunakan pemrograman Java. Klik di sini untuk mengetahui bagaimana cara menginstall Java pada Linux. Pastikan anda mengetahui lokasi instalasi JDK yang anda lakukan…..

2. Edit /etc/hosts

Editlah file /etc/hosts/ baik di master dan slave. Isi dengan isian berikut (sesuaikan dengan alamat IP master dan slave):

192.168.56.101 master
192.168.56.102 slave1
192.168.56.103 slave2

3. Disable IPv6

Eksekusi perintah berikut di master dan slave.:

sudo vi /etc/sysctl.conf

Isikan baris-baris berikut :

#disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

4. Membuat passwordless di master

Langkah ini diperlukan supaya ketika master membutuhkan slave, tidak perlu login, dan bisa akses langsung slave-nya. Eksekusi perintah berikut pada shell ($ berarti tanda command prompt):

$ ssh-keygen -t rsa -P ""
$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
$ ssh-copy-id -i .ssh/id_rsa.pub slave1
$ ssh-copy-id -i .ssh/id_rsa.pub slave2

Keberhasilan langkah ini dapat diuji dari dari master. Lakukan ssh ke slave1 dan slave2  dengan :

ssh slave1 dan ssh slave2

semestinya dari master bisa masuk ke slave1 dan slave2 tanpa login.

5. Edit .bashrc untuk mengatur environment variable di master dan slave

Tambahkan beris berikut pada .bashrc bagian paling bawah, untuk mengidentifikasi di mana lokasi Java dan Hadoop dipasang / install :

export HADOOP_HOME=/home/panji/hadoop-2.9.0
# Set JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
# Tambahkan Hadoop bin dan sbin directory to PATH
export PATH=$PATH:$HADOOP_HOME/bin;$HADOOP_HOME/sbin

6. Edit JAVA_HOME di hadoop-2.9.0/etc/hadoop/hadoop-env.sh di master dan slave dengan :

export JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64

7. Isi core-site.xml di master dan node dengan isian berikut :

<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoopuser/tmp</value>
<description>Temporary Directory.</description>
</property>

<property>
<name>fs.defaultFS</name>
<value>hdfs://master:54310</value>
<description>Use HDFS as file storage engine</description>
</property>

8. Tambahkan baris berikut hanya pada master di file mapred-site.xml :

<property>
<name>hadoop.tmp.dir</name>
<value>/home/panji/tmp</value>
<description>Temporary Directory.</description>
</property>

<property>
<name>fs.defaultFS</name>
<value>hdfs://master:54310</value>
<description>Use HDFS as file storage engine</description>
</property>

9. Tambahkan baris berikut di master dan slave di file hdfs-site.xml :

<property>
<name>dfs.replication</name>
<value>2</value>
<description>Default block replication.
The actual number of replications can be specified when the file is created.
The default is used if replication is not specified in create time.
</description>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/panji/hadoop-data/hdfs/namenode</value>
<description>Determines where on the local filesystem the DFS name node should store the name table(fsimage). If this is a comma-delimited list of directories then the name table is replicated in all of the directories, for redundancy.
</description>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/panji/hadoop-data/hdfs/datanode</value>
<description>Determines where on the local filesystem an DFS data node should store its blocks. If this is a comma-delimited list of directories, then data will be stored in all named directories, typically on different devices. Directories that do not exist are ignored.
</description>
</property>

10. Tambahkan di yarn-site.xml baik di master maupun slave

<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>

11. Tambahkan di semua master dan slave di file “slaves” yang berlokasi di Hadoop-2.9.0/etc/hadoop/slaves

master
slave1
slave2

12. Format HDFS dengan perintah berikut pada master, dan diikuti dengan menjalankan hadoop dan yarn :

$ hdfs namenode -format
$ /sbin/start-dfs.sh
$ jps
$ start-yarn.sh

Untuk mengetahui keberhasilan instalasi, dapat dilihat dengan browser di alamat http://master:8088/cluster/nodes .

13.Selesai

Setelah selesai, mestinya anda bisa menjalankan Hadoop dan berbagai algoritma di dalamnya! Selamat mencoba dengan kesabaran .. 🙂

4 thoughts on “Instalasi Multi Node Hadoop Clusters pada Linux di VirtualBox

Leave a Reply

Your email address will not be published. Required fields are marked *