- Raditya Ihsan Dhiaulhaq (2106733912)
- Naufal Febriyanto (2106702674)
- Rian Abrar (2106708242)
- Michael Winston (2106731270)
Hadoop merupakan alat yang kuat untuk menganalisa big data. READMe ini akan mengandung cara meng-install Hadoop lalu akan menunjukkan data dari perbandingan nilai yang didapatkan untuk dari hasil memproses word count dengan hadoop dan Java, menganalisa hasil tersebut, dan mencapai suatu kesimpulan akhir yang bisa menjelaskan keseluruhan dari penggunaan Hadoop pada umumnya.
Pada langkah ini, kita akan menginstal WSL dengan menggunakan Ubuntu 20.04.
-
Untuk menginstal WSL pada Windows, jalankan perintah berikut di Command Prompt atau PowerShell:
wsl --install -d Ubuntu-20.04
-
Setelah selesai menginstal, pastikan Ubuntu 20.04 terinstal dengan menjalankan perintah berikut:
wsl -l -v -
Selanjutnya, jalankan Ubuntu di Windows dengan memilih versi Ubuntu yang terinstal.
Selanjutnya, kita akan menginstal Hadoop.
Referensi: Kontext
-
Unduh library Hadoop dengan menjalankan perintah berikut:
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.2/hadoop-3.3.2.tar.gz
-
Ekstrak library yang telah diunduh dengan menjalankan perintah berikut:
mkdir ~/hadoop tar -xvzf hadoop-3.3.2.tar.gz -C ~/hadoop cd ~/hadoop/hadoop-3.3.2/
-
Edit file
etc/hadoop/hadoop-env.shdengan menjalankan perintah berikut:sudo nano etc/hadoop/hadoop-env.sh
Tambahkan variabel lingkungan JAVA_HOME sebagai berikut:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 -
Edit file
etc/hadoop/core-site.xmldengan menjalankan perintah berikut:sudo nano etc/hadoop/core-site.xml
Tambahkan konfigurasi berikut:
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
-
Edit file
etc/hadoop/hdfs-site.xmldengan menjalankan perintah berikut:sudo nano etc/hadoop/hdfs-site.xml
Tambahkan konfigurasi berikut:
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/home/**Nama Anda**/hadoop/dfs/name332</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/home/**Nama Anda**/hadoop/dfs/data332</value> </property> </configuration>
Selanjutnya, buat dua folder baru dengan menjalankan perintah berikut:
mkdir -p ~/hadoop/dfs/name332 mkdir -p ~/hadoop/dfs/data332
-
Edit file
etc/hadoop/mapred-site.xmldengan menjalankan perintah berikut:sudo nano etc/hadoop/mapred-site.xml
Tambahkan konfigurasi berikut:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
</property>
</configuration>-
Edit file
etc/hadoop/yarn-site.xmldengan menjalankan perintah berikut:sudo nano etc/hadoop/yarn-site.xml
Tambahkan konfigurasi berikut:
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.env-whitelist</name> <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value> </property> </configuration>
Selanjutnya, jalankan perintah berikut untuk memformat namenode:
bin/hdfs namenode -format
Gunakan perintah berikut untuk menjalankan Hadoop:
sbin/start-dfs.sh
sbin/start-yarn.shCommand untuk memasukan file input dan melakukan word count
hdfs dfs -put 500mb.txt input
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.5.jar wordcount input output
hdfs dfs -cat output/part-r-00000Setelah dijalankan, Anda dapat mengakses portal web YARN di:
| Specification | Description |
|---|---|
| CPU | AMD Ryzen 7 5800H |
| GPU | Nvidia GeForce RTX 3060 Mobile 6GB |
| SSD | SSD M2 PCI-E Gen 3.0 1x1024 GB |
| RAM | 16 GB DDR 4 3200 MHz |
| OS | Windows 11 Home 64-bit |
| File Size | Time (Java) (s) | Time (Hadoop) (s) | Ratio |
|---|---|---|---|
| 10MB | 1.42 | 21 | 14.78 |
| 100MB | 7.71 | 24 | 3.11 |
| 500MB | 66 | 52 | 0.78 |
| 1GB | 78 | 76 | 0.97 |
| 10GB | 714 | 354 | 0.49 |
Jika dibandingkan, penghitungan kata (wordcount) menggunakan Java dan Hadoop memiliki perbedaan dalam hal waktu eksekusi. Penghitungan kata menggunakan Java cenderung lebih cepat karena data yang dihitung disimpan dan diproses di satu mesin atau server tunggal. Oleh karena itu, overhead yang terkait dengan pengaturan dan komunikasi antar node dalam cluster, seperti yang terjadi pada Hadoop, hanya sedikit. Selain itu, untuk ukuran file yang relatif kecil (10MB dan 100MB), penghitungan kata dengan Java dapat menyelesaikan tugas lebih cepat karena tidak melibatkan kompleksitas yang signifikan.
Di sisi lain, Hadoop dirancang untuk memproses dan menganalisis data dalam skala besar dengan membagi tugas pemrosesan ke beberapa node dalam cluster. Hal ini mengakibatkan terjadinya overhead yang signifikan, terutama ketika digunakan pada platform terdistribusi dan data dengan ukuran besar.
Pada skala kecil, penghitungan kata biasa tanpa overhead (Java) komunikasi antar node memiliki kinerja yang lebih cepat. Namun, Hadoop menjadi pilihan yang lebih optimal pada skala besar dan pemrosesan yang luas, karena dirancang khusus untuk menangani pemrosesan data dalam skala besar dengan memanfaatkan kekuatan pemrosesan paralel pada beberapa node dalam cluster.

