:::: MENU ::::

Seri Tutorial : Instalasi Hadoop Single Node di Ubuntu 14.04 VMWare

Jika anda baru saja berkenalan dengan big data dan ingin mengetahui lebih dalam mengenai Hadoop, anda mungkin ingin mencoba melakukan instalasi Hadoop anda sendiri. Langkah yang paling sederhana adalah dengan melakukan instalasi Hadoop di satu mesin, atau disebut dengan single node. Jika anda tidak memiliki environment linux sendiri, maka yang paling mudah adalah menjalankan linux sebagai virtual machine, dengan VMWare atau VirtualBox misalnya.

Dengan melakukan instalasi dan setup sendiri, anda akan mendapatkan gambaran yang lebih jelas mengenai apa saja yang menjadi komponen Hadoop, dan bagaimana kira-kira Hadoop bekerja.

Dalam tutorial ini akan dijelaskan langkah instalasi Hadoop 2.6.0 di Ubuntu 14.04 VMware

1. Install VMWare Player

Install VMWare player, tergantung OS host anda (32 atau 64 bit) :

https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/6_0

2. Install Ubuntu

Install Ubuntu 14.04 Download iso image Ubuntu 14.04 LTS di http://releases.ubuntu.com/14.04/ (tergantung keperluan anda, 32 atau 64 bit)

3. Install openjdk

Install open jdk 7 dengan command sbb:

user@ubuntu:~$ sudo apt-get install openjdk-7-jdk

4. Cek instalasi java/

user@ubuntu:~$ java -version

java version "1.7.0_79"

OpenJDK Runtime Environment (IcedTea 2.5.6) (7u79-2.5.6-0ubuntu1.14.04.1) OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)

5. Create dedicated user untuk hadoop

Membuat user hadoop untuk menjalankan hadoop. Langkah ini tidak harus dilakukan, tapi disarankan untuk memisahkan instalasi hadoop dengan aplikasi2 lain di mesin yang sama.

user@ubuntu:~$ sudo addgroup hdgroup

user@ubuntu:~$ sudo adduser --ingroup hdgroup hduser

6. Masukkan hadoop ke dalam sudoers (untuk create direktori, set permission, dll)

user@ubuntu:~$ sudo adduser hduser sudo

7. Configure SSH

Hadoop memerlukan akses SSH untuk memanage node-node-nya. Untuk single node Hadoop, kita perlu melakukan konfigurasi akses SSH ke localhost untuk user hadoop yang sudah kita buat sebelumnya.

a. install ssh

user@ubuntu:~$ sudo apt-get install ssh

b. generate an SSH key untuk user hadoop

user@ubuntu:~$ su -hduser/p>
hduser@ubuntu:~$ ssh-keygen -t rsa -P ""

Baris ke dua command di atas akan membuat RSA key pair dengan password kosong. Sebenarnya penggunaan password kosong ini tidak disarankan dari sisi keamanan, namun dalam hal ini kita memerlukan akses tanpa password untuk keperluan interaksi Hadoop dengan node-node-nya. Tentunya kita tidak ingin memasukkan password setiap kali Hadoop mengakses node-nya, bukan?

c. enable akses SSH ke local machine dengan key yang baru dibuat

hduser@ubuntu:~$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

d. test setting SSH

Langkah terakhir adalah testing setup SSH tersebut dengan melakukan koneksi ke localhost menggunakan user hadoop. Langkah ini juga diperlukan untuk menyimpan host key dingerprint ke file known_host milik user hadoop.

hduser@ubuntu:~$ ssh localhost

8. Instalasi Hadoop

Download hadoop di https://www.apache.org/dist/hadoop/core/hadoop-1.2.1/hadoop-1.2.1.tar.gz, extract ke sebuah direktori, misalnya /usr/local/hadoop.

hduser@ubuntu:~$ cd /usr/local hduser@ubuntu:~$ sudo tar xzf hadoop-1.0.3.tar.gz hduser@ubuntu:~$ sudo mv hadoop-1.0.3 hadoop

Jangan lupa take ownership dari direktori tersebut

hduser@ubuntu:~$ sudo chown -R hadoop:hadoop hadoop

9. Update File .bashrc

Tambahkan baris berikut ini ke akhir file $HOME/.bashrc dari user hadoop. Jika anda menggunakan shell selain bash, maka anda perlu meng-update config file yang bersesuaian

hduser@ubuntu:~$ file /etc/alternatives/java /etc/alternatives/javac

export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64

export HADOOP_INSTALL=/usr/local/hadoop

export PATH=$PATH:$HADOOP_INSTALL/bin

export PATH=$PATH:$HADOOP_INSTALL/sbin

export HADOOP_MAPRED_HOME=$HADOOP_INSTALL

export HADOOP_COMMON_HOME=$HADOOP_INSTALL

export HADOOP_HDFS_HOME=$HADOOP_INSTALL

export YARN_HOME=$HADOOP_INSTALL

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"

#HADOOP VARIABLES END

11. Update Hadoop File Configuration

Berikut ini beberapa file yang perlu diupdate di direktori /usr/local/hadoop/conf/

a. File hadoop-env.sh

hduser@ubuntu:~$ vi $HADOOP_INSTALL/conf
# The java implementation to use. Required.
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64

b. File-file *-site.xml

Buat temporary direktori untuk hadoop app untuk parameter hadoop.tmp.dir, dalam hal ini digunakan /app/hadoop/tmp.

hduser@ubuntu:~$ sudo mkdir -p /app/hadoop/tmp

hduser@ubuntu:~$ sudo chown hduser:hdgroup /app/hadoop/tmp

Catatan : jika langkah di atas terlewat, maka kemungkinan anda akan mendapatkan error permission denied atau java.io.IOException ketika anda akan memformat HDFS namenode.

Dalam file conf/core-site.xml: <property> <name><span class="explanatory-dictionary-highlight" data-definition="explanatory-dictionary-definition-52">hadoop</span>.tmp.dir</name> <value>/app/<span class="explanatory-dictionary-highlight" data-definition="explanatory-dictionary-definition-52">hadoop</span>/tmp</value> <description>A base for other temporary directories.</description> </property> <property> <name>fs.default.name</name> <value>hdfs://localhost:54310</value> <description>The name of the default file system. A URI whose scheme and authority determine the FileSystem implementation. The uri's scheme determines the config property (fs.SCHEME.impl) naming the FileSystem implementation class. The uri's authority is used to determine the host, port, etc. for a filesystem.</description> </property>

Dalam file conf/mapred-site.xml:

<property> <name>mapred.job.tracker</name> <value>localhost:54311</value> <description>The host and port that the MapReduce job tracker runs at. If "local", then jobs are run in-process as a single map and reduce task. </description> </property>

Dalam file conf/hdfs-site.xml:

<property> <name>dfs.replication</name> <value>1</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.data.dir</name> <value>/app/<span class="explanatory-dictionary-highlight" data-definition="explanatory-dictionary-definition-52">hadoop</span>/tmp/dfs/data</value> <final>true</final> </property> <property> <name>dfs.name.dir</name> <value>/app/<span class="explanatory-dictionary-highlight" data-definition="explanatory-dictionary-definition-52">hadoop</span>/tmp/dfs/name</value> <final>true</final> </property>

12.Format HDFS file system

Lakukan pada pertama kali instalasi. Jangan melakukan namenode format untuk Hadoop yang sudah berjalan (berisi data), karena perintah format ini akan menghapus semua data di HDFS.

hduser@ubuntu:$ /usr/local/hadoop/bin/hadoop namenode -format
Outputnya akan seperti berikut ini:

hduser@ubuntu:$ /usr/local/hadoop/bin/hadoop namenode -format

10/05/08 16:59:56 INFO namenode.NameNode: STARTUP_MSG:

/************************************************************

STARTUP_MSG: Starting NameNode

STARTUP_MSG: host = ubuntu/127.0.1.1

STARTUP_MSG: args = [-format]

STARTUP_MSG: version = 0.20.2

STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20 -r 911707; compiled by 'chrisdo' on Fri Feb 19 08:07:34 UTC 2010

************************************************************/

10/05/08 16:59:56 INFO namenode.FSNamesystem: fsOwner=hadoop,hadoop

10/05/08 16:59:56 INFO namenode.FSNamesystem: supergroup=supergroup

10/05/08 16:59:56 INFO namenode.FSNamesystem: isPermissionEnabled=true

10/05/08 16:59:56 INFO common.Storage: Image file of size 96 saved in 0 seconds.

10/05/08 16:59:57 INFO common.Storage: Storage directory .../hadoop-hadoop/dfs/name has been successfully formatted.

10/05/08 16:59:57 INFO namenode.NameNode: SHUTDOWN_MSG:

/************************************************************

SHUTDOWN_MSG: Shutting down NameNode at ubuntu/127.0.1.1

************************************************************/

hduser@ubuntu:$

13. Start single-node Hadoop cluster

hduser@ubuntu:~$ /usr/local/hadoop/sbin/start-dfs.sh

Perintah ini menjalankan Namenode, Datanode, Jobtracker dan Tasktracker Outputnya seperti di bawah ini:

hduser@ubuntuserver:~$ /usr/local/hadoop/sbin/start-dfs.sh

Starting namenodes on [localhost]

localhost: starting namenode, logging to /usr/local/hadoop/logs/hadoop-hduser-namenode-ubuntuserver.out

localhost: starting datanode, logging to /usr/local/hadoop/logs/hadoop-hduser-datanode-ubuntuserver.out

Starting secondary namenodes [0.0.0.0]

0.0.0.0: starting secondarynamenode, logging to /usr/local/hadoop/logs/hadoop-hduser-secondarynamenode-ubuntuserver.out

Salah satu cara praktis mengecek Hadoop proses apa saja yang berhasil dijalankan adalah dengan perintah jps (termasuk di dalam package open jdk 6).

hduser@ubuntu:$ jps

2287 TaskTracker

2149 JobTracker

1938 DataNode

2085 SecondaryNameNode

2349 Jps

1788 NameNode

14. Stop Hadoop services

hduser@ubuntu:~$ /usr/local/hadoop/bin/stop-dfs.sh

Outputnya seperti di bawah ini:

hduser@ubuntu:$ /usr/local/hadoop/bin/stop-all.sh

stopping jobtracker

localhost: stopping tasktracker

stopping namenode

localhost: stopping datanode

localhost: stopping secondarynamenode

hduser@ubuntu:/usr/local/hadoop$

Contributor :


M. Urfah
Penyuka kopi dan pasta (bukan copy paste) yang sangat hobi makan nasi goreng. Telah berkecimpung di bidang data processing dan data warehousing selama 12 tahun. Salah satu obsesi yang belum terpenuhi saat ini adalah menjadi kontributor aktif di forum idBigdata.

Tertarik dengan Big Data beserta ekosistemnya? Gabung