Assalamu Alaikum Warahmatullah Wabarokatuh
Pengenalan
Apache Hadoop Ecosystem
Hai teman-teman, selamat datang kembali di
modul data science and technology series, yang berjudul teknologi dan manajemen
big data.
Setelah sebelumnya kita belajar mengenai
Hadoop architecture, sekarang kita akan mencoba untuk meng-install single-node
cluster Hadoop dengan menggunakan VirtualBox dan Cloudera QuickStart Virtual
Machine.
Tapi sebelumnya, saya jelaskan dulu ya sedikit
mengenai Apache Hadoop Ecosystem, karena ada banyak sekali tools yang
berhubungan dengan projects Hadoop di Apache. Kita mulai dulu dengan basic-nya,
supaya nanti ketika prakteknnya lebih mudah dipahami, sudah siap? Mari kita
mulai.
Sebelum membahas apa ciri Hadoop Ecosystem,
mungkin kita perlu tahu dulu apa itu Apache Project?
Seperti bisa dilihat di sini Hadoop adalah
salah satu Project yang dikembangkan oleh Apache Software Foundation, jadi di
dalam project.apache.org ini ada macam-macam project yang sudah dikembangkan dan
kalau kita cari Hadoop, control+f, dia ada di dalam kategori database. Jadi
bisa dilihat di sini, bahwa Hadoop itu adalah distributed computing platform,
kemudian terdiri dari HDSF dan MapReduce, kemudian didevelop dengan programming
language java, selain Hadoop ada juga ada juga beberapa tools lain yang
kemudian dipakai untuk memperkaya penggunaan Hadoop.
Rata-rata ada di kategori big data, seperti
Apache ambari, kemudian ada flume, Graph, kafka dan sebagainya. Ini nanti
teman-teman akan kenal istilahnya satu per satu, ketika teman-teman semakin mendalami
Hadoop.
kemudian ini ada salah satu diagram yang
paling sering kita temukan, kalau kita bicara lantang Apache Hadoop ecosystem,
di sini intinya sebenarnya ada layer paling bawah, yaitu distributed file itu
sendiri, di mana data-data disimpan, kemudian ada processing-nya, data
processing framework menggunakan MapReduce, untuk sekarang yang biasanya kita
pakai adalah version 2 dan ada YARN. YARN itu Yet Another Resource Negotiator,
nanti kita akan bahas lebih lanjut.
Kemudian ini adalah core element, ada lagi
element yang lain. HBase, dia untuk storage secara big table, kemudian ini
adalah tools untuk query, untuk analisis, Hive ada, pig juga ada, kemudian ada
Mahout untuk machine learning, ada juga connector ke R, ada work flow, kemudian
ada coordinator-nya, sama ini untuk data exchange atau data flow, jadi ada yang
untuk structure, dan ada untuk un-structure.
Kemudian ini adalah Ambari untuk monitoring. Kita
tidak akan go-true satu persatu, tapi setidaknya teman-teman bisa tahu garis
besarnya apa kegunaan masing-masing. Kita mulai dengan HDFS terlebih dahulu,
jadi seperti yang teman-teman sudah tahu, dari materi sebelumnya kita pernah
membahas bahwa HDFS punya master slave architecture, jadi ada name node sebagai
Master, kemudian ada data node sebagai slave, kemudian di data node ini dia fungsinya
adalah untuk menyimpan pecahan-pecahan data yang di-index oleh si name node.
Kemudian, Fungsi name node ini adalah
mengkoordinasi client, client ini serba aplikasi, jadi dia mau baca hasil dari
data node yang mana, kemudian dia mau write data ke data node yang mana,
kemudian ada juga Mapreduce.
Mapreduce adalah framework untuk data
processingnya. Mapreduce ini terdiri dari dua function, ada mapper dan ada
reducer. Di dalam sebuah mapreduce job, biasanya terjadi adalah ada dataset
yang diakses, kemudian di slpit menjadi potongan kecil-kecil, lalu diproses
oleh mapper di masing-masing data node secara parallel. Jadi, yang kecil-kecil
ini dia ada mapper 1, 2, 3, 4, 5 dia berusaha untuk memproses data yang
besarnya, kalau di sini ilustrasinya ada kalimat banyak, kemudian perkalimat
dikirim ke data node satu-satu.
Output dari mapper ini di input ke reducer,
reducer ini akan melakukan fungsi aggregation atau summarizing, jadi seperti
disini dia menghitung berapa kali John muncul, akhirnya John muncul 3 kali kemudian
dia akan menghitung untuk kata-kata yang lain, kemudian hasilnya dikumpulkan
dan biasanya dituliskan didalam sebuah output file yang disimpan di HDSF juga.
Sekarang Mapreduce itu tidak berdiri sendiri,
jadi sekarang sudah ada YARN (Yet Another Resource Negotiator). Dia adalah next
generation, jadi dia adalah generasi selanjutnya dari classic Mapreduce, karena
itu disebut juga sebagai Mapreduce v2. Kenapa ada YARN, Mapreduce v2? Karena
ditemukan weakness dengan Mapreduce yang version 1, yang mana dia sangat
bergantung dengan job tracker.
Jadi, teman-teman tahu ya ada job tracker dan
ada task tracker. Si job tracker ini bisa menjadi bottleneck, karena kalau dia
nanti fail, nanti bisa jadi yang lainnya juga bingung tak terkoordinasi pekerjaannya.
Kenapa? Karena job trackerini dia bertanggung jawab pada dua hal, resources management
dan juga scheduling.
Jadi dengan adanya YARN architecture,
sebenarnya dia terbantu karena sekarang ada resources
manager dan ada application master, jadi
resources manager ini bertanggung jawab pada urusan resources management dan
application master ini untuk bagaimana untuk me-manage masing-masing tugas
aplikasi.
Jadi ini bisa dilihat, jadi dulu Hadoop 1.0,
itu isinya hanya HDFS dan Mapreduce. Dimana Mapreduce bertugas untuk resource
management dan data processing. Tapi sekarang, HDSF-nya masing sama redundant
and reliable storage, kemudian resources management sudah ada YARN. Jadi
Mapreduce bisa fokus untuk data processing saja dan kemudian ada tools-tools
yang lain seperti misalkan Hive dan Pig, kemudian Mahout yang adalah tools
tambahan untuk melakukan data processing dengan tujuan yang lebih khusus.
Barusan kita membahas seperti apa Apache
Hadoop ecosystem dan juga apa itu YARN. Kemudian di bagian berikutnya kita akan
coba lanjut membahas mengenai Hbase, Hive, dan Pig. Sudah tidak sabar, silahkan
tonton bagian berikutnya.
Terima kasih dan sampai jumpa.
#Hadoop #Google #Apache #Ecosystem #Bigdata #Ramadhan1442 #Blogger
Tegal, 14 April 2021