Showing posts with label Hadoop. Show all posts
Showing posts with label Hadoop. Show all posts

Monday, June 27, 2022

INSTALASI HADOOP CLUSTER DI UBUNTU 14.04 DENGAN VMWARE - I

  


Untuk menjalankan 3 buah virtual machine secara bersamaan, maka PC atau laptop yang akan digunakan harus memiliki setidaknya 8 GB RAM, dan alokasi total untuk ke 3 VM ini sebaiknya tidak melebihi 4GB.

Berikut ini langkah instalasi Hadoop di Ubuntu 14.04 vmWare. Dalam tutorial ini digunakan hadoop 2.6.0. Untuk konfigurasi ini menggunakan 1 server namenode dan 2 server datanode. Yang akan dilakukan adalah menginstall 1 mesin sampai selesai, lalu copy 2 kali untuk mendapatkan 3 instance server, dan kemudian setting agar ke-3 nya dapat berkomunikasi satu sama lain.

IP                                    Type Node                Hostname

192.168.4.148                Name node                ubuntu1

192.168.4.149                data node 1               ubuntu2

192.168.4.155                date node 2               ubuntu3


1. Install VMWare Player

Install VMWare player, tergantung OS host yang digunakan apakah menggunakan 32bit atau 64bit : https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/6_0

2. Install Ubuntu

Install Ubuntu 14.04 di VMWare player,. Download iso image Ubuntu 14.04 LTS di http://releases.ubuntu.com/14.04/ (perhatikan keperluan, 32bit atau 64bit OS) Agar dapat berkomunikasi satu sama lain, termasuk dapat diakses melalui puTTY, set network setting ke Bridged Mountain View

3. Install jdk

Ada beberapa pilihan yang bisa diinstall, di antaranya openjdk atau oracle jdk. Untuk open jdk pilih setidaknya openjdk 7, dengan perintah sbb:

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

Atau bisa juga menginstall jdk 7 oracle, dengan langkah sbb:

5. Create dedicated group dan user untuk hadoop

Membuat user hduser dan group hdgroup 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

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

user@ubuntu:~$ sudo adduser hduser sudo

6. Setting jdk path Sebelumnya cek instalasi dengan perintah:

user@ubuntu:~$ java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

Login ke user hduser dengan perintah:

user@ubuntu:~$ su hduser

Set JAVA_HOME di file .bashrc dengan memasukkan path yg sesuai, misalnya untuk java di direktori /usr/local/java , maka tambahkan baris berikut ini:

export JAVA_HOME=/usr/local/java

Apply setting dengan jalankan perintah berikut ini:

hduser@ubuntu:~$ . .bashrc

7. Configure SSH

Hadoop memerlukan akses SSH untuk memanage node-node-nya. Yang perlu dilakukan konfigurasi akses SSH ke localhost untuk user hadoop yang sudah dibuat sebelumnya, dan ke data node-nya nantinya.

a. install ssh

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

b. generate an SSH key untuk user hadoop

hduser@ubuntu:~$ ssh-keygen -t rsa -P ""

Perintah di atas akan membuat RSA key pair dengan password kosong. Sebenarnya penggunaan password kosong ini tidak disarankan dari sisi keamanan, namun dalam hal ini karna memerlukan akses tanpa password untuk keperluan interaksi Hadoop dengan node-node-nya. 

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
The authenticity of host 'localhost (::1)' can't be established.
ECDSA key fingerprint is 34:72:32:43:11:87:fa:83:7e:ea:13:e6:43:68:28:0f.
Are you sure you want to continue connecting (yes/no)? yes

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

8. Instalasi Hadoop

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

hduser@ubuntu:~$ cd /usr/local
hduser@ubuntu:~$ sudo tar xzf hadoop-2.6.0.tar.gz
hduser@ubuntu:~$ sudo cp -Rh hadoop-2.6.0 /usr/local/hadoop

Update File .bashrc

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

export JAVA_HOME=/usr/lib/jvm/java-7-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

Untuk instalasi java di /usr/local/java, sesuaikan setting JAVA_HOME sbb:

export JAVA_HOME=/usr/local/java

Create direktori untuk hadoop filesystem

Berikut ini beberapa direktori yang perlu dibuat untuk hadoop file system, yang akan di-set dalam parameter dfs.namenode.name.dir , dfs.datanode.name.dir di file

/usr/local/hadoop/etc/hadoop/conf/hdfs-site.xml dan parameter hadoop.tmp.dir di file /usr/local/hadoop/etc/hadoop/conf/core-site.xml: /app/hadoop/namenode, /app/hadoop/datanode dan /app/hadoop/tmp

hduser@ubuntu:~$ sudo mkdir -p /app/hadoop/namenode
hduser@ubuntu:~$ sudo chown hduser:hdgroup /app/hadoop/namenode

hduser@ubuntu:~$ sudo mkdir -p /app/hadoop/datanode hduser@ubuntu:~$ sudo chown hduser:hdgroup /app/hadoop/datanode

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 akan mendapatkan error permission denied atau java.io.IOException ketika anda akan memformat HDFS namenode.

Update Hadoop File Configuration

Berikut ini beberapa file yang perlu di-update di direktori /usr/local/hadoop/etc/hadoop/etc/hadoop

a. File hadoop-env.sh

hduser@ubuntu:~$ vi $HADOOP_INSTALL/etc/hadoop/hadoop-env.sh
# The java implementation to use. Required.

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

b. File-file *-site.xml

Dalam file /usr/local/hadoop/etc/hadoop/core-site.xml:

INSTALASI HADOOP CLUSTER DI UBUNTU 14.04 DENGAN VMWARE- II

 

9. Duplikasi Ubuntu Instance

Untuk membuat 3 instance server ubuntu, shutdown VMWare, dan kopi direktori tempat file-file VM Image tersebut dua kali. Untuk mengetahui letak direktori, buka menu Player → Manage → Virtual Machine Setting di bagian Working Directory

tutorial3_02

klik browse, dan kopi direktori tempat file-file VM Image tersebut dua kali. Untuk mengetahui letak direktori, buka menu Player → Manage → Virtual Machine Setting di bagian Working Directory

Selanjutnya, jalankan VMWare Player, pilih menu Open a Virtual Machine. Buka file .vmx di ke 2 direktori hasil copy tersebut, dan pilih Play virtual Machine. Anda akan mendapatkan dialog box

tutorial3_03

Pilih “I Copied It”.

10. Setting koneksi

Ada beberapa hal yang perlu dilakukan, yaitu setting hostname di file /etc/hostname, setting mapping hostname di file /etc/hosts, dan setting ssh connection.

Setting hostname

Buka 3 Virtual machine tersebut, ubah nama masing-masing menjadi ubuntu1, ubuntu2 dan ubuntu3, dengan cara edit file /etc/hostname :

hduser@ubuntu:~$ sudo vi /etc/hostname

Misalnya untuk server ubuntu3 menjadi sbb:

tutorial3_04

Lakukan hal serupa di 2 server yang lain. Setting Mapping Hostname

Edit file /etc/hosts di ke 3 server sbb:

Server 1 : ubuntu1

tutorial3_06

Server 2 : ubuntu2

tutorial3_07

Server 3 : ubuntu3

tutorial3_08

Untuk mengetahui IP address masing-masing server, gunakan command ifconfig.

tutorial3_09

Lakukan di ke 3 server.

Setting ssh

Di server ubuntu1, lakukan:

hduser@ubuntu1:~$ ssh-copy-id -i /home/hduser/.ssh/id_rsa.pub hduser@ubuntu2

hduser@ubuntu1:~$ ssh-copy-id -i /home/hduser/.ssh/id_rsa.pub hduser@ubuntu3

Untuk mengetes koneksi, lakukan :

hduser@ubuntu1:~$ ssh hduser@ubuntu2

hduser@ubuntu1:~$ ssh hduser@ubuntu2

Seharusnya sudah tidak diminta password untuk ssh tersebut.

Di server ubuntu2 dan ubuntu3, lakukan:

hduser@ubuntu2:~$ ssh-copy-id -i /home/hduser/.ssh/id_rsa.pub hduser@ubuntu1

Untuk mengetes koneksi, lakukan :

hduser@ubuntu2:~$ ssh hduser@ubuntu1

Seharusnya sudah tidak diminta password untuk ssh tersebut.

11. Format HDFS file system

Lakukan ini di namenode (server ubuntu1) 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, dan kemungkinan akan membuat hdfs dalam cluster, hal tidak konsisten satu sama lain (namenode dan data node).

hduser@ubuntu1:$ hdfs namenode -format

Outputnya akan seperti berikut ini:

hduser@ubuntu1:$ /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@ubuntu1:$

12. Start HDFS dan Yarn

Lakukan ini di namenode (server ubuntu1).

Start hdfs :

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

tutorial3_10

Start yarn :

hduser@ubuntu1:$ /usr/local/hadoop/sbin/start-yarn.sh

tutorial3_11

Untuk memastikan data node sudah berjalan dengan baik, di data node server (ubuntu2 dan ubuntu3), cek log di /usr/local/hadoop/logs/hadoop-hduser-datanode-ubuntu2.log dan /usr/local/hadoop/logs/hadoop-hduser-datanode-ubuntu3.log

ika anda mendapatkan message seperti berikut ini:

2015-11-10 12:35:53,154 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Problem connecting to server: ubuntu1/192.168.4.148:54310

Maka pastikan bahwa setting /etc/hosts di ke 3 server sudah dilakukan dengan benar seperti di poin 10 di atas (Setting Koneksi). Cek ip masing-masing server dengan perintah ifconfig. Cek service di masing-masing server dengan perintah jps.

12. Test HDFS

Untuk memastikan semua node sudah naik dan berfungsi dengan baik, upload file test ke dfs. Lakukan perintah berikut ini di server name node (ubuntu1):

buat direktori /data di hdfs

hadoop fs -mkdir /data

upload file /usr/local/hadoop/README.txt

hadoop fs -put /usr/local/hadoop/README.txt /data/README.txt

tutorial3_12

13. Hadoop Web Interface

Akses hadoop web interface dari browser, dengan mengakses namenode:50070. Akan tampil halaman seperti berikut ini. tutorial3_13

Dari keterangan di atas terlihat bahwa terdapat 2 data nodes yang hidup dan terhubung. Klik menu Datanodes untuk melihat informasi lebih detail mengenai kedua data node tersebut:

tutorial3_14

File yang dibuat tadi akan terlihat di menu Utilities → Browse the file system

tutorial3_15


Sunday, June 26, 2022

Install Hadoop Single Node pada Linux Ubuntu



  1. Pertama, install java

$ sudo apt-get install default-jdk

1

Cek apakah java telah terinstal di ubuntu anda

$ java -version

2

  1. Menambah Hadoop User

$ sudo addgroup hadoop

$ sudo adduser –ingroup hadoop hduser3

Jika sebelumnya sudah dibuatkan user tersebut maka akan muncul tulisan The group ‘hadoop’ already exists. Memasukan user baru berserta password jika diminta

  1. Install SSH

sudo apt-get install ssh

4

untuk memastikan ssh telah terinstal gunakan perintah $ which ssh. Jika sudah terinstal maka akan muncul seperti ini: /usr/bin/ssh5

  1. Memberi hduser sudo permission

$ sudo adduser hduser sudo

6

  1. Setup SSH Certificate

Sebelumnya masuk sebagai hduser. akan diminta password yang baru dibuat tadi

$ su hduser

7

  1. Generate SSH key

$ ssh-keygen -t rsa -P “”

8

Langsung tekan enter. Setelah itu, masukkan perintah berikut:

$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

Cek apakah ssh berfungsi atau tidak.

$ ssh localhost

9

Disini sudah dilakukan setup SSH maka tampilan seperti diatas. Jika belum nanti akan ada pilihan (yes/no) ketik yes lalu enter.

  1. Nonaktifkan IPV6

Nonaktifkan IPV6 terlebih dahulu karena ubuntu menggunakan IP 0.0.0.0 untuk konfigurasi Hadoop yang berbeda

$ nano /etc/sysctl.conf

Setelah terbuka text editornya, lalu masukkan kode berikut

# disable ipv6

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

net.ipv6.conf.lo.disable_ipv6 = 1

11

Kemudian simpan. Untuk mengeceknya bisa gunakan perintah berikut

$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6

apabila muncul angka 0 maka IPV6 berhasil dinonaktifkan

  1. Install hadoop

a. Download hadoop

Masuk sebagai hduser terlebih dahulu

Buka brower, lalu cek hadoop versi berapa yang ingin anda install

http://mirrors.sonic.net/apache/hadoop/common/

 


Pada tutor ini menggunakan hadoop-2.9.2

http://mirrors.sonic.net/apache/hadoop/common/hadoop-2.9.2/hadoop-2.9.2.tar.gz

12

untuk mendownloadnya copy  paste link hadoop tersebut  pada terminal:

$ wget http://mirrors.sonic.net/apache/hadoop/common/hadoop-2.9.2/hadoop-2.9.2.tar.gz

note: di dalam folder/direktori web tersebut ada beberapa file bernama hadoop. Pastikan  pilihan yang tidak berakhiran -src dan  pilih berukuran paling besar

b. Extract dan install hadoop

Setelah hadoop terdwnload, extract dengan perintah berikut

$ tar xvzf hadoop-2.9.2.tar.gz

Setelah berhasil diextract, masuk ke folder hadoop

$ cd hadoop-2.9.2

selanjutnya buat direktori dg perintah berikut

$ mkdir /usr/local/hadoop

kemudian pindahkan folder hadoop-2.9.2 tadi ke dalam /usr/local/

$ sudo mv hadoop-2.9.2 /usr/local/hadoop

pastikan direktori/folder seperti gambar berikut

13

  1. Konfigurasi hadoop

Ubah owner file-file tersebut menjadi milik hduser

$ sudo chown -R hduser:hadoop /usr/local/hadoop

Berikut ini adalah file-file yang digunakan untuk konfigurasi single-node hadoop cluster:

> ~/.bashrc

> core-site.xml

> mapred-site.xml

> hdfs-site.xml

file-file tersebut bisa ditemukan pada direktori berikut:

$ cd /usr/local/hadoop/etc/hadoop

14

  1. Edit file ~/.bashrc

Gunakan perintah $ vim ~/.bashrc atau $ nano ~/.bashrc

15

kemudian copy kode berikut ini

#HADOOP VARIABLES START

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-i386

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

16

note: pada baris kedua silahkan ganti tulisan berwarna merah, pastikan sesuai dengan versi java di PC anda. PC saya menggunakan java versi 8

17

Selanjutnya masukkan perintah ini

$ nano /usr/local/hadoop/etc/hadoop/hadoop-env.sh

Copy kode berikut lalu simpan

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-i386

18

  1. Edit file core-site.xml

Sebaiknya gunakan superuser(root) untuk melakukan konfigurasi

$ su

19

Masukkan perintah berikut

$ sudo mkdir -p /app/hadoop/tmp

perintah diatas berfungsi utk membuat folder baru dengan nama tmp. Di folder ini nanti akan disimpan file-file cache

20

$ sudo chown hduser:hadoop /app/hadoop/tmp

$ nano /usr/local/hadoop/etc/hadoop/core-site.xml

Copy kode berikut lalu simpan

<property>

<name>hadoop.tmp.dir</name>

<value>/app/hadoop/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>

21

c. Edit file mapred-site.xml

Masukkan perintah berikut

$ cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml

$ nano /usr/local/hadoop/etc/hadoop/mapred-site.xml

Copy kode berikut lalu simpan

<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 mapand reduce task.

</description>

</property>

22

d. Edit file hdfs-site.xml

Masukkan perintah berikut

$ sudo mkdir -p /usr/local/hadoop_store/hdfs/namenode

$ sudo mkdir -p /usr/local/hadoop_store/hdfs/namenode

$ sudo chown -R hduser:hadoop /usr/local/hadoop_store

$ nano /usr/local/hadoop/etc/hadoop/hdfs-site.xml

23

Copy kode berikut lalu simpan

<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.namenode.name.dir</name>

<value>file:/usr/local/hadoop_store/hdfs/namenode</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>file:/usr/local/hadoop_store/hdfs/datanode</value>

</property>

23

Setelah konfigurasi selesai restart OS anda

  1. Selanjutnya lakukan Format Filesystem Hadoop

$ hadoop namenode -format

  1. Mulai Hadoop

Ganti user menjadi hduser: $ su hduser

24

Jadikan hduser sebagai owner hadoop

$ sudo chown -R hduser:hadoop /usr/local/hadoop/

Mulai

$ start-all.sh

  1. Selanjutnya lakukan cek dengan ketik :

$ jps

25

$ netstat -plten |  grep java

26

Lihat pada browser http://localhost:50070/

27

Memunculkan Simbol & Emoji Pada OS Mac

  Memunculkan Simbol & Emoji  1. Buka aplikasi Pages / Notes pada Macbook. 2. Klik pada Menubar Edit --> Pilih Emoji and Symbols a...