Belajar langsung implementasi Hadoop menggunakan Docker

Ingin mencoba memproses Big Data dengan Hadoop dengan mudah?
141  
       

Hadoop adalah perangkat lunak atau software yang digunakan untuk penyimpanan data besar atau biasa disebut dengan istilah Big Data. Dengan menggunakan Hadoop ini memungkinkan kita dapat menyimpan banyak data sekaligus memprosesnya baik secara terdistribusi maupun terpisah. Hal ini karena hadoop memiliki cara penulisan filenya tersendiri yaitu HDFS atau Hadoop File System yang memungkinkan untuk 1 file bisa berukuran sangat besar namun secara proses sudah terpilah sesuai algoritma bawaan dari Hadoop.

Step 1 : Prerequisites

Pastikan Anda telah menginstal Docker di Linux atau Mac dengan sumber daya yang cukup. Tidak ada yang menentang pengguna Windows, jika Anda melangkah ke bidang Big Data, disarankan untuk mempelajari Linux dan ini akan menjadi kesempatan yang baik untuk mempelajari cara meluncurkan server di cloud.

Luncurkan server UBUNTU Linux di cloud. AWS, Google Cloud, Digital Ocean memberi Anda uji coba gratis selama 30+ hari, beberapa menawarkan hingga 1 tahun.

Catatan: Virtual Box tidak mendukung virtualisasi bersarang, jadi jangan mencoba menginstal Docker di Virtual Box Linux.

Step 2 : Install Docker, Docker-Compose, Git

Untuk menginstall docker, bisa lihat artikel yang sudah kita buat Cara Install Docker

Jika sudah silakan verifikasi instalasi docker-nya dengan menggunakan kode dibawah ini.

Kode Sumber
1
2
3
$ docker --version
 
$ docker-compose --version

Untuk instalasi di system operasi lain, bisa langsung menuju ke halaman https://docs.docker.com/compose/install/.

Setelah itu, sekarang instal-lah Git, jika belum cara install git (English). Apabila sudah diinstal, silakan cek dengan menggunakan kode dibawah ini.

Kode Sumber
1
$ git --version

If not installed follow this link, to install GIT (https://www.linode.com/docs/development/version-control/how-to-install-git-on-linux-mac-and-windows/)

Step 3: Download docker image

Buat folder di mesin Linux Anda

Kode Sumber
1
2
3
4
$ mkdir hadoop_docker
$ cd hadoop_docker
$ git clone https://github.com/m-semnani/bd-infra.git
$ cd bd-infra

Ini adalah langkah kunci untuk mengunduh gambar hadoop dan memulai wadah.

Kode Sumber
1
$ docker-compose up -d

Langkah ini akan memakan waktu 3 hingga 5 menit (berdasarkan kecepatan jaringan) bagi buruh pelabuhan untuk mengunduh semua gambar dan mengonfigurasi pengaturan Hadoop.

Setelah penyiapan selesai, jalankan perintah berikut untuk memastikan semua container berjalan.

Kode Sumber
1
$ docker ps

Docker ps status, Also let’s verify the following

Verify Namenode: http://localhost:50070/ (if you are running docker in your local machine)

or http://:50070 (if you are using AWS or Digital Ocean servers)

Verify Hue : http://localhost:8888/ (if you are running docker in your local machine)

or http://:8888 (if you are using AWS or Digital Ocean servers)
(default userid / password : admin/admin )

Step 4: Login to Name Node

Untuk login ke container Name node, cukup jalankan perintah dibawah ini

Kode Sumber
1
$ docker exec -it namenode bash

Jika berhasil, tampilannya kurang lebih seperti ini

Kode Sumber
1
root@25e58cd35002:/#

Type cd and navigate to root folder

Kode Sumber
1
# cd

Lets create a working folder inside Name node, so it can used as an intermediate folder between Name node and HDFS

Kode Sumber
1
2
# mkdir scratch
# cd scratch

Lets install unzip utility

Kode Sumber
1
# apt-get install unzip

Lets download an sample zipp csv file from internet using curl command

Kode Sumber
1
# curl -o (it’s lowercase alphabet ‘o’)
Kode Sumber
1
# curl -o sales5k.zip \ http://eforexcel.com/wp/wpcontent/uploads/2017/07/5000-Sales-Records.zip

Above command can typed in a single line or copy pasted as is. Let’s make sure file is downloaded.

Kode Sumber
1
# ls sales5k.zip

Lets unzip the file and make sure we see the contents

Kode Sumber
1
# unzip sales5k.zip

Check the contents by viewing top 10 rows

Kode Sumber
1
# cat "5000 Sales Records.csv" | head

For simplicity sake let’s rename this file

Kode Sumber
1
2
# mv "5000 Sales Records.csv" sales5k.csv
# ls sales5k.csv

Lets try first HDFS command to list contents of HDFS storage

Kode Sumber
1
# hdfs dfs -ls /
Kode Sumber
1
default hdfs dfs -ls /

Create folder inside HDFS so we can start moving files

Kode Sumber
1
2
# hdfs dfs -mkdir /db
# hdfs dfs -mkdir /db/sales

(Tip : you can also create folders in one line using -p
hdfs dfs -mkdir -p /db/sales )

Let’s copy the sales5k.csv from local folder to HDFS

Kode Sumber
1
# hdfs dfs -copyFromLocal sales5k.csv /db/sales/

Now it’s time to verify

Kode Sumber
1
2
# hdfs dfs -ls /db/sales/sales5k.csv
# hdfs dfs -cat /db/sales/sales5k.csv | head

This should be same as

Kode Sumber
1
# cat sales5k.csv | head

Good job. Now you are all set with HDFS. Other hdfs commands to try

Kode Sumber
1
2
3
4
5
6
7
# hdfs dfs -mkdir -p /db/test
# hdfs dfs -mkdir -p /db/sample
# hdfs dfs -touchz /db/test/sample.txt
# hdfs dfs -cp /db/test/sample.txt /db/test/sample1.txt
# hdfs dfs -mv /db/test/sample1.txt /db/sample/sample2.txt
# hdfs dfs -rmr /db/test
# hdfs dfs -du /db

Step Akhir: Menonaktifkan Container

Apabila anda telah selesai mencoba hadoop beserta rangkaian aplikasi lainnya, untuk menghentikannya cukup jalankan perintah dibawah ini.

Kode Sumber
1
$ docker stop $(docker ps -aq)

Demikian, semoga artikel ini membantu.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>