Belajar langsung implementasi Hadoop menggunakan Docker

Ingin mencoba memproses Big Data dengan Hadoop dengan mudah?
105  
       

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.

$ 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.

$ 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

$ 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.

$ 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.

$ 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

$ docker exec -it namenode bash

Jika berhasil, tampilannya kurang lebih seperti ini

root@25e58cd35002:/#

Type cd and navigate to root folder

# cd

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

# mkdir scratch
# cd scratch

Lets install unzip utility

# apt-get install unzip

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

# curl -o (it’s lowercase alphabet ‘o’)
# 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.

# ls sales5k.zip

Lets unzip the file and make sure we see the contents

# unzip sales5k.zip

Check the contents by viewing top 10 rows

# cat "5000 Sales Records.csv" | head

For simplicity sake let’s rename this file

# mv "5000 Sales Records.csv" sales5k.csv
# ls sales5k.csv

Lets try first HDFS command to list contents of HDFS storage

# hdfs dfs -ls /
default hdfs dfs -ls /

Create folder inside HDFS so we can start moving files

# 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

# hdfs dfs -copyFromLocal sales5k.csv /db/sales/

Now it’s time to verify

# hdfs dfs -ls /db/sales/sales5k.csv
# hdfs dfs -cat /db/sales/sales5k.csv | head

This should be same as

# cat sales5k.csv | head

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

# 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.

$ 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>