Di blog kami sebelumnya, kami telah membahas Pengenalan Hadoop secara terperinci. Sekarang di blog ini, kita akan menjawab apa itu Ekosistem Hadoop dan apa peran Komponen Hadoop.
Dalam tutorial Komponen Hadoop ini, kita akan membahas berbagai komponen ekosistem dari keluarga Hadoop seperti HDFS, MapReduce, YARN, Hive, HBase, Pig, Zookeeper, dll.
Semua Komponen Ekosistem Hadoop ini dibahas bersama dengan fitur dan tanggung jawabnya.
Tutorial Ekosistem Hadoop
Apache Hadoop adalah alat yang paling kuat dari Big Data. Ekosistem Hadoop berkisar pada tiga komponen utama HDFS, MapReduce, dan YARN. Selain Komponen Hadoop ini, ada beberapa komponen ekosistem Hadoop lainnya juga, yang berperan penting untuk meningkatkan fungsionalitas Hadoop.
sekarang mari kita pahami Komponen Hadoop yang berbeda secara mendetail.
a. HDFS
Sistem File Terdistribusi Hadoop (HDFS) adalah sistem penyimpanan utama Hadoop. HDFS menyimpan file yang sangat besar yang berjalan pada sekelompok perangkat keras komoditas.
Ini mengikuti prinsip menyimpan lebih sedikit jumlah file besar daripada sejumlah besar file kecil. HDFS menyimpan data dengan andal bahkan dalam kasus kegagalan perangkat keras. Oleh karena itu, ia menyediakan akses throughput tinggi ke aplikasi dengan mengakses secara paralel.
Komponen HDFS:
- NameNode – Ini berfungsi sebagai Master di cluster Hadoop. Namenode menyimpan meta-data yaitu jumlah blok, replika, dan detail lainnya. Meta-data hadir dalam memori di master. NameNode memberikan tugas ke node budak. Ini harus diterapkan pada perangkat keras yang andal karena merupakan inti dari HDFS.
- DataNode – Ini berfungsi sebagai Budak di cluster Hadoop. Di Hadoop HDFS, DataNode bertanggung jawab untuk menyimpan data aktual di HDFS. DataNode juga melakukan operasi baca dan tulis sesuai permintaan untuk klien. DataNodes juga dapat diterapkan pada perangkat keras komoditas.
b. Pengurangan Peta
Hadoop MapReduce adalah lapisan pemrosesan data Hadoop. Ini memproses data terstruktur dan tidak terstruktur besar yang disimpan dalam HDFS. MapReduce juga memproses sejumlah besar data secara paralel.
Ini dilakukan dengan membagi pekerjaan (pekerjaan yang diserahkan) menjadi satu set tugas independen (sub-pekerjaan). Di Hadoop, MapReduce bekerja dengan memecah pemrosesan menjadi beberapa fase:Map dan Reduce.
- Peta – Ini adalah fase pertama pemrosesan, di mana kami menentukan semua kode logika kompleks.
- Kurangi – Ini adalah pemrosesan tahap kedua. Di sini kami menentukan pemrosesan ringan seperti agregasi/penjumlahan.
c. BENANG
Hadoop YARN menyediakan manajemen sumber daya. Ini adalah sistem operasi Hadoop. Jadi, ia bertanggung jawab untuk mengelola dan memantau beban kerja, menerapkan kontrol keamanan. Ini adalah platform sentral untuk menghadirkan alat tata kelola data di seluruh cluster Hadoop.
YARN memungkinkan beberapa mesin pemrosesan data seperti streaming waktu nyata, pemrosesan batch, dll.
Komponen BENANG:
- Manajer Sumber Daya – Ini adalah komponen tingkat cluster dan berjalan pada mesin Master. Oleh karena itu, ia mengelola sumber daya dan menjadwalkan aplikasi yang berjalan di atas YARN. Ini memiliki dua komponen:Penjadwal &Manajer Aplikasi.
- Pengelola Node – Ini adalah komponen tingkat simpul. Ini berjalan pada setiap mesin budak. Itu terus berkomunikasi dengan Manajer Sumber Daya untuk tetap up-to-date
d. Sarang
Apache Hive adalah sistem gudang data sumber terbuka yang digunakan untuk membuat kueri dan menganalisis kumpulan data besar yang disimpan dalam file Hadoop. Ini memproses data terstruktur dan semi-terstruktur di Hadoop.
Hive juga mendukung analisis kumpulan data besar yang disimpan dalam HDFS dan juga di sistem file Amazon S3 yang didukung oleh Hive. Hive menggunakan bahasa yang disebut HiveQL (HQL), yang mirip dengan SQL. HiveQL secara otomatis menerjemahkan kueri seperti SQL ke dalam tugas MapReduce.
e. Babi
Ini adalah platform bahasa tingkat tinggi yang dikembangkan untuk mengeksekusi kueri pada kumpulan data besar yang disimpan di Hadoop HDFS. BabiLatin adalah bahasa yang digunakan di babi yang sangat mirip dengan SQL.
Pig memuat data, menerapkan filter yang diperlukan, dan membuang data dalam format yang diperlukan. Pig juga mengubah semua operasi menjadi tugas Peta dan Kurangi yang diproses secara efektif di Hadoop.
Karakteristik Babi:
- Dapat diperluas – Pengguna babi dapat membuat fungsi khusus untuk memenuhi persyaratan pemrosesan khusus mereka.
- Mengoptimalkan diri sendiri – Karena Pig memungkinkan sistem untuk mengoptimalkan secara otomatis. Jadi, pengguna dapat fokus pada semantik.
- Menangani semua jenis data – Babi menganalisis baik terstruktur maupun tidak terstruktur.
f. HBase
Apache HBase adalah database NoSQL yang berjalan di atas Hadoop. Ini adalah database yang menyimpan data terstruktur dalam tabel yang dapat memiliki miliaran baris dan jutaan kolom. HBase juga menyediakan akses waktu nyata untuk membaca atau menulis data dalam HDFS.
Komponen HBase:
- Master HBase – Ini bukan bagian dari penyimpanan data yang sebenarnya. Tetapi ia melakukan administrasi (antarmuka untuk membuat, memperbarui, dan menghapus tabel.).
- Server Wilayah – Ini adalah simpul pekerja. Ini menangani permintaan baca, tulis, perbarui, dan hapus dari klien. Server wilayah juga menjalankan proses pada setiap node di cluster Hadoop.
g. Hcatalog
Ini adalah tabel dan lapisan manajemen penyimpanan di atas Apache Hadoop. HCatalog adalah komponen utama Hive. Oleh karena itu, ini memungkinkan pengguna untuk menyimpan data mereka dalam format dan struktur apa pun. Ini juga mendukung komponen Hadoop yang berbeda untuk dengan mudah membaca dan menulis data dari cluster.
Kelebihan HCatalog:
- Memberikan visibilitas untuk alat pembersihan dan pengarsipan data.
- Dengan abstraksi tabel, HCatalog membebaskan pengguna dari overhead penyimpanan data.
- Mengaktifkan pemberitahuan ketersediaan data.
i. Avro
Ini adalah proyek sumber terbuka yang menyediakan serialisasi data dan layanan pertukaran data untuk Hadoop. Menggunakan serialisasi, program layanan dapat membuat serial data menjadi file atau pesan.
Ini juga menyimpan definisi data dan data bersama-sama dalam satu pesan atau file. Oleh karena itu, ini memudahkan program untuk memahami informasi yang disimpan dalam file atau pesan Avro secara dinamis.
Avro menyediakan:
- File penampung, untuk menyimpan data persisten.
- Panggilan prosedur jarak jauh.
- Struktur data yang kaya.
- Format data biner yang ringkas, cepat.
j. Hemat
Apache Thrift adalah kerangka kerja perangkat lunak yang memungkinkan pengembangan layanan lintas bahasa yang skalabel. Hemat juga digunakan untuk komunikasi RPC. Apache Hadoop melakukan banyak panggilan RPC, jadi ada kemungkinan menggunakan Hemat untuk performa.
k. Bor
Bor digunakan untuk pemrosesan data skala besar. Merancang latihan adalah untuk menskalakan ke beberapa ribu node dan melakukan kueri petabyte data. Ini juga merupakan mesin kueri terdistribusi dengan latensi rendah untuk kumpulan data skala besar.
Latihan ini juga merupakan mesin kueri SQL terdistribusi pertama yang memiliki model bebas skema.
Karakteristik latihan :
- Menggali metadata terdesentralisasi – Bor tidak memiliki persyaratan metadata terpusat. Pengguna bor tidak perlu membuat dan mengelola tabel dalam metadata untuk mengkueri data.
- Fleksibilitas – Drill menyediakan model data kolumnar Hirarki. Ini dapat mewakili data yang kompleks dan sangat dinamis serta memungkinkan pemrosesan yang efisien.
- Penemuan skema dinamis – Untuk memulai proses eksekusi kueri, Bor tidak memerlukan spesifikasi tipe apa pun untuk data. Sebagai gantinya, bor mulai memproses data dalam unit yang disebut kumpulan rekaman. Ia juga menemukan skema dengan cepat selama pemrosesan.
l. Mahout
Ini adalah kerangka kerja sumber terbuka yang digunakan untuk membuat algoritme pembelajaran mesin yang dapat diskalakan. Setelah kami menyimpan data dalam HDFS, mahout menyediakan alat ilmu data untuk secara otomatis menemukan pola yang berarti dalam kumpulan Data Besar tersebut.
m. Gosok
Hal ini terutama digunakan untuk mengimpor dan mengekspor data. Jadi, itu mengimpor data dari sumber eksternal ke komponen Hadoop terkait seperti HDFS, HBase atau Hive. Itu juga mengekspor data dari Hadoop ke sumber eksternal lainnya. Sqoop bekerja dengan database relasional seperti Teradata, Netezza, Oracle, MySQL.
n. Flume
Flume mengumpulkan, mengagregasi, dan memindahkan sejumlah besar data secara efisien dari asalnya dan mengirimkannya kembali ke HDFS. Ini memiliki arsitektur yang sangat sederhana dan fleksibel berdasarkan aliran data streaming. Flume toleran terhadap kesalahan, juga merupakan mekanisme yang andal.
Flume juga memungkinkan aliran data dari sumber ke lingkungan Hadoop. Ini menggunakan model data sederhana yang dapat diperluas yang memungkinkan aplikasi analitik online. Oleh karena itu, dengan menggunakan Flume kita bisa mendapatkan data dari beberapa server langsung ke Hadoop.
o. Ambari
Ini adalah platform manajemen sumber terbuka. Ini adalah platform untuk menyediakan, mengelola, memantau, dan mengamankan cluster Apache Hadoop. Manajemen Hadoop menjadi lebih sederhana karena Ambari menyediakan platform yang konsisten dan aman untuk kontrol operasional.
Manfaat Ambari:
- Penginstalan, konfigurasi, dan pengelolaan yang disederhanakan – Ini dapat dengan mudah dan efisien membuat dan mengelola cluster dalam skala besar.
- Penyiapan keamanan terpusat – Ambari mengonfigurasi keamanan cluster di seluruh platform. Ini juga mengurangi kerumitan untuk mengelola.
- Sangat dapat diperluas dan dapat disesuaikan – Ambari sangat dapat dikembangkan untuk mengelola layanan kustom.
- Visibilitas penuh terhadap kesehatan cluster – Ambari memastikan bahwa cluster tersebut sehat dan tersedia dengan pendekatan pemantauan holistik.
hal. Penjaga kebun binatang
Zookeeper di Hadoop adalah layanan terpusat. Itu memelihara informasi konfigurasi, penamaan, dan menyediakan sinkronisasi terdistribusi. Ini juga menyediakan layanan kelompok. Zookeeper juga mengelola dan mengoordinasikan sekelompok besar mesin.
Manfaat Zookeeper:
- Cepat – zookeeper cepat dengan beban kerja di mana membaca ke data lebih umum daripada menulis. Rasio baca/tulis yang ideal adalah 10:1.
- Dipesan – zookeeper menyimpan catatan semua transaksi, yang juga dapat digunakan untuk tingkat tinggi
q. Astaga
Ini adalah sistem penjadwal alur kerja untuk mengelola pekerjaan Apache Hadoop. Ini menggabungkan beberapa pekerjaan secara berurutan menjadi satu unit kerja logis.
Oleh karena itu, kerangka kerja Oozie terintegrasi penuh dengan tumpukan Apache Hadoop, YARN sebagai pusat arsitektur. Ini juga mendukung pekerjaan Hadoop untuk Apache MapReduce, Pig, Hive, dan Sqoop.
Oozie dapat diskalakan dan juga sangat fleksibel. Seseorang dapat dengan mudah memulai, menghentikan, menangguhkan, dan menjalankan kembali pekerjaan. Oleh karena itu, Oozie membuatnya sangat mudah untuk menjalankan kembali alur kerja yang gagal. Dimungkinkan juga untuk melewati simpul gagal tertentu.
Ada dua tipe dasar pekerjaan Oozie:
- Alur kerja yang aneh – Ini untuk menyimpan dan menjalankan alur kerja yang terdiri dari pekerjaan Hadoop misalnya, MapReduce, Pig, Hive.
- Koordinator Oozie – Ini menjalankan tugas alur kerja berdasarkan jadwal yang telah ditentukan dan ketersediaan data.
Kesimpulan
Oleh karena itu, Hadoop Ecosystem menyediakan berbagai komponen yang membuatnya begitu populer. Karena komponen Hadoop ini, beberapa peran pekerjaan Hadoop sekarang tersedia.
Saya harap tutorial Ekosistem Hadoop ini banyak membantu Anda untuk memahami keluarga Hadoop dan peran mereka. Jika Anda menemukan pertanyaan, silakan bagikan dengan kami di kotak komentar.