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
- Lubuntu Linux,
- VirtualBox
- Hadoop versi 2.9.0. (download dari sini dan ekstrak di home directory, misal /home/panji/hadoop-2.9.0)
- 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 .. 🙂
ka, boleh ditutor lebih lanjut?
saya eror saat menjalankan perintah start dfsnya
errornya apa ya ?
Slave nodenya belum aktif.. apakah ada kontak yg bisa saya hubungi?
pakai vbox ? bisa saling nge-ping ? kalau sudah bisa coba cek di konfigurasi-konfigurasinya.