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.