• Tidak ada hasil yang ditemukan

LECTURE NOTES Big Data Technologies

N/A
N/A
ramadhan kocakers

Academic year: 2023

Membagikan "LECTURE NOTES Big Data Technologies "

Copied!
16
0
0

Teks penuh

(1)

LECTURE NOTES

Big Data Technologies

Minggu 4

Hadoop Infrastructure Layer

(2)

LEARNING OUTCOMES

LO 1: Menjelaskan layer arsitektur dan konsep pengolahan Big Data.

Outcome:

Mahasiswa mampu menjelaskan layer arsitektur dan konsep pengolahan Big Data.

OUTLINE MATERI (Sub-Topic):

• Lapisan Infrastruktur Hadoop

• 6 Alasan Mengapa Hadoop di Cloud

• Arsitektur Hadoop

• Asumsi Hadoop tentang Infrastrukturnya

• Implementasi Hadoop

• Infrastruktur Virtual VS DataCenter Fisik

• Implikasi Infrastruktur Virtual

• Alasan Hadoop di Infrastruktur Cloud

• Hosting di VM lokal

(3)

ISI MATERI

1. Arsitektur Hadoop

Hadoop adalah kerangka kerja perangkat lunak sumber terbuka untuk menyimpan data dan menjalankan aplikasi pada kelompok perangkat keras komoditas. Menyediakan penyimpanan besar untuk semua jenis data, kekuatan pemrosesan yang sangat besar, dan kemampuan untuk menangani tugas atau pekerjaan bersamaan yang hampir tak terbatas.

Apache Hadoop adalah kerangka kerja sumber terbuka yang ditulis dalam Java yang mendukung pemrosesan kumpulan data besar dalam pola akses streaming di seluruh cluster dalam lingkungan komputasi terdistribusi. Itu dapat menyimpan sejumlah besar data terstruktur, semi-terstruktur, dan tidak terstruktur dalam sistem file terdistribusi (DFS) dan memprosesnya secara paralel. Ini adalah platform penyimpanan yang sangat skalabel dan hemat biaya. Skalabilitas Hadoop mengacu pada kemampuannya untuk mempertahankan kinerjanya bahkan di bawah beban yang sangat meningkat dengan menambahkan lebih banyak node. File Hadoop ditulis sekali dan dibaca berkali-kali. Isi file tidak dapat diubah. Sejumlah besar komputer yang saling berhubungan dan bekerja sama sebagai satu sistem disebut cluster. Cluster Hadoop dirancang untuk menyimpan dan menganalisis sejumlah besar data yang berbeda dalam lingkungan komputasi terdistribusi dengan cara yang hemat biaya.

Mengapa Hadoop penting?

Kemampuan untuk menyimpan dan memproses data dalam jumlah besar dengan cepat. Dengan volume dan variasi data yang terus meningkat, terutama dari media sosial dan Internet of Things (IoT), itu menjadi pertimbangan utama.

Kekuatan komputasi. Model komputasi terdistribusi Hadoop memproses data besar dengan cepat. Semakin banyak node komputasi yang Anda gunakan, semakin banyak kekuatan pemrosesan yang Anda miliki.

Toleransi kesalahan. Pemrosesan data dan aplikasi dilindungi dari kegagalan perangkat keras. Jika sebuah node turun, pekerjaan secara otomatis dialihkan ke node lain untuk memastikan komputasi terdistribusi tidak gagal. Beberapa salinan dari semua data disimpan secara otomatis.

Fleksibilitas. Tidak seperti database relasional tradisional, Anda tidak perlu memproses data terlebih dahulu sebelum menyimpannya. Anda dapat menyimpan data sebanyak yang Anda inginkan dan memutuskan bagaimana menggunakannya nanti. Itu termasuk data tidak terstruktur seperti teks, gambar, dan video.

Biaya rendah. Kerangka kerja sumber terbuka gratis dan menggunakan perangkat keras komoditas untuk menyimpan data dalam jumlah besar.

Skalabilitas. Anda dapat dengan mudah mengembangkan sistem Anda untuk menangani lebih banyak data hanya dengan menambahkan node. Sedikit administrasi diperlukan.

(4)

Pic 4.1 Hadoop architecture

Source: Big Data Concepts, Technology, and Architecture. 2021

Gambar diatasi merupakan arsitektur Hadoop terdiri dari dua lapisan, lapisan penyimpanan adalah lapisan HDFS, dan di atasnya adalah mesin MapReduce.

Pic 4.2 Hadoop architecture

Source: Big Data Concepts, Technology, and Architecture. 2021

Ekosistem Hadoop terdiri dari empat lapisan berbeda different a. Lapisan penyimpanan data.

terdiri dari HDFS dan HBase. Dalam data HDFS disimpan dalam lingkungan terdistribusi. HBase adalah database berorientasi kolom untuk menyimpan database terstruktur.

(5)

b. Lapisan Pemrosesan Data.

terdiri dari MapReduce dan YARN. Pemrosesan pekerjaan ditangani oleh MapReduce sedangkan alokasi sumber daya dan penjadwalan serta pemantauan pekerjaan ditangani oleh YARN.

c. Lapisan akses data.

terdiri dari Hive, Pig, Mahout, Avro, dan SQOOP. Hive adalah bahasa query untuk mengakses data dalam HDFS. Pig adalah bahasa scripting tingkat tinggi analisis data. Mahout adalah platform pembelajaran mesin. Avro adalah kerangka serialisasi data. SQOOP adalah alat yang mentransfer data dari database tradisional ke HDFS dan sebaliknya.

d. Lapisan manajemen data

Berinteraksi dengan pengguna akhir. Ini terdiri dari Oozie, Chukwa, Flume, dan Zookeeper. Oozie adalah penjadwal alur kerja. Chukwa digunakan untuk pengumpulan dan pemantauan data. Flume digunakan untuk mengarahkan aliran data dari sumber ke HDFS.

2. Lapisan Infrastruktur Hadoop

Ketika perusahaan mengadopsi Hadoop, salah satu keputusan yang harus mereka buat adalah model penerapan. Terdapat 5 model penerapannya antara lain:

On-premise full custom. Dengan opsi ini, bisnis membeli perangkat keras komoditas, kemudian menginstal perangkat lunak dan mengoperasikannya sendiri.

Opsi ini memberi bisnis kendali penuh atas klaster Hadoop.

Hadoop appliance. Cluster Hadoop yang telah dikonfigurasikan sebelumnya ini memungkinkan bisnis mengabaikan keputusan konfigurasi teknis terperinci dan memulai analisis data.

Hosting Hadoop. Sama seperti model ISP tradisional, organisasi bergantung pada penyedia layanan untuk menyebarkan dan mengoperasikan kluster Hadoop atas nama mereka.

Hadoop on the cloud. Opsi penerapan baru ini, dan fokus penelitian kami, memungkinkan organisasi untuk membuat dan menyesuaikan kluster Hadoop pada mesin virtual dengan memanfaatkan sumber daya komputasi dari instans virtual dan skrip penerapan. Mirip dengan opsi kustom penuh di lokasi, ini memberi bisnis kendali penuh atas cluster.

Hadoop-as-a-Service. Opsi ini memberi bisnis akses instan ke kluster Hadoop dengan model konsumsi bayar per penggunaan, memberikan kelincahan bisnis yang lebih besar

Pertanyaan berulang pada milis pengguna adalah "dapatkah Hadoop digunakan dalam infrastruktur virtual", atau "dapatkah Anda menjalankan Hadoop 'di Cloud'", di mana cloud berarti "penyimpanan terpisah dan layanan komputasi, publik atau pribadi".

Ini sebenarnya adalah dua pertanyaan yang terpisah, tetapi saling terkait, karena banyak infrastruktur cloud bergantung pada virtualisasi untuk mengelola dan menyajikan agregasi komponen infrastruktur yang dapat dikonfigurasi dengan cepat untuk memenuhi kebutuhan pengguna. Cloud dan virtualisasi perlu diperiksa secara terpisah, tetapi dalam semua kasus, jawabannya adalah "Ya, Anda dapat melakukan virtualisasi, dan ya, Anda

(6)

dapat menerapkannya ke cloud, tetapi Anda perlu mengetahui konsekuensinya dan merencanakannya dengan tepat".

Pertama, beberapa definisi dan latar belakang:

Virtualisasi adalah proses konversi dari implementasi fisik murni menjadi implementasi yang menggunakan hypervisor (contohnya termasuk ESXi VMware dan hypervisor Xen) yang mengabstraksikan perangkat keras fisik yang mendasarinya dan menyediakan implementasi ideal, atau virtual, di mana beberapa layanan tingkat tinggi dan/ atau implementasi dapat dirancang dan dibangun. Setelah cluster fisik divirtualisasi, maka layanan tingkat yang lebih tinggi, seperti mengkloning node data, atau menyediakan ketersediaan tinggi untuk node tertentu, atau menyediakan penyediaan yang dikendalikan pengguna, dapat dibangun.

Private Cloud adalah kumpulan perangkat keras fisik tervirtualisasi yang telah menambahkan layanan seperti katalog perangkat lunak atau platform tertentu yang dapat dikontrol oleh pelanggan. Private cloud berbeda dari public cloud karena umumnya dimiliki dan atau dikelola oleh perusahaan atau grup yang sama dengan pelanggan. Sebagai contoh, jika saya bertanggung jawab atas kluster fisik 100-node, dan saya perlu membaginya antara Penjualan dan Pemasaran yang ingin melakukan analitik tingkat lanjut dengan Hadoop dan Teknik yang ingin melakukan pemodelan pabrik produksi baru, dengan masing-masing mendapatkan 50% dari kapasitas, saya dapat memvirtualisasikan arsitektur fisik dan memungkinkan kumpulan kapasitas untuk dibagikan di antara kelompok-kelompok yang bersaing, mungkin berdasarkan kapasitas bersama atau basis swap-in/swap-out.

Public Cloud seperti Private Cloud tetapi dimiliki dan/atau dikelola oleh entitas luar, misalnya, Amazon Web Services. Awan Publik dapat memberikan manfaat biaya, baik karena Anda hanya membayar untuk penggunaan Anda atau orang lain membayar untuk penggunaannya, tetapi kehilangan kendali atau percampuran data atau masalah lain yang tidak diinginkan. Tidak dapat membuktikan penyimpanan konstan beberapa jenis data mungkin merupakan kewajiban hukum untuk jenis data atau industri tertentu (PCI, HIPAA).

Kekuatan Hadoop yang dihosting VM

• Satu image dapat dikloning - biaya operasi lebih rendah.

• Cluster Hadoop dapat diatur sesuai permintaan.

• Infrastruktur fisik dapat digunakan kembali.

• Anda hanya membayar untuk waktu CPU yang Anda butuhkan.

• Ukuran cluster dapat diperluas atau dikontrak sesuai permintaan.

Manfaat Hadoop Cloud Private

• Sebuah cluster dapat diatur dalam hitungan menit

• Dapat secara fleksibel menggunakan berbagai perangkat keras (DAS, SAN, NAS)

• Ini hemat biaya (biaya modal lebih rendah daripada penyebaran fisik dan biaya operasi lebih rendah daripada penyebaran cloud publik)

• Alat manajemen yang disederhanakan menurunkan kerumitan konfigurasi dan pemeliharaan awal

• Ketersediaan tinggi dan toleransi kesalahan meningkatkan waktu kerja

(7)

Keuntungan dari Hadoop Cloud Publik

• Jika Anda menggunakan solusi turnkey atau Hadoop-as-a-Service, hanya ada sedikit pengaturan yang harus dilakukan.

• Hadoop-as-a-Service tidak memerlukan perawatan.

• Jika Anda kekurangan daya komputasi di tempat untuk menghosting klaster Hadoop yang cukup besar untuk memenuhi kebutuhan Anda, menjalankan Hadoop di cloud akan memberikan apa yang Anda inginkan tanpa memerlukan pembelian perangkat keras baru.

• Saat menggunakan Hadoop di cloud, Anda biasanya hanya membayar untuk waktu yang Anda gunakan. Itu mengalahkan membayar untuk memelihara server Hadoop lokal 24/7 jika Anda hanya menggunakannya beberapa waktu.

• Jika data yang Anda analisis disimpan di cloud, menjalankan Hadoop di cloud yang sama menghilangkan kebutuhan untuk melakukan transfer data besar melalui jaringan saat menyerap data ke Hadoop.

3. 6 Alasan Mengapa Hadoop di Cloud

Terdapat enam alasan mengapa pelanggan melihat peningkatan nilai dalam penggunaan Hadoop, antara lain:

a. Menurunkan biaya inovasi

Menjalankan Hadoop di cloud sama seperti kita menjalankan perangkat lunak lainnya yang ada di cloud. Bagi perusahaan yang masih menguji Hadoop, investasi di cloud tidak perlu dipikirkan lagi. Cloud juga dapat digunakan untuk kasus penggunaan satu kali yang cepat yang melibatkan komputasi big data. Sejak tahun 2007, New York Times menggunakan kekuatan instans Amazon EC2 dan Hadoop hanya dalam satu hari untuk melakukan konversi satu kali dokumen TIFF ke PDF dalam upaya digitalisasi. Pengadaan sumber daya komputasi yang dapat diskalakan sesuai permintaan juga menarik.

b. Pengadaan sumber daya skala besar dengan cepat

Hadoop dan platform yang menjadi inspirasinya membuat visi penyimpanan linier dan komputasi menggunakan perangkat keras komoditas menjadi kenyataan.

Raksasa internet seperti Google, yang selalu beroperasi pada skala web, tahu bahwa akan ada kebutuhan untuk menjalankan lebih banyak sumber daya perangkat keras.

Mereka berinvestasi dalam membangun perangkat keras ini sendiri.

Adopsi Hadoop di beberapa perusahaan tumbuh secara organik dari beberapa departemen yang menjalankan puluhan node menjadi cluster berukuran sedang atau besar yang terkonsolidasi dengan beberapa ratus node. Biasanya, cluster tersebut mulai dikelola oleh tim 'platform data' yang berbeda dari tim Infrastruktur, yang terakhir bertanggung jawab atas pengadaan dan pengelolaan perangkat keras di pusat data. Seiring dengan meningkatnya permintaan analitik dalam perusahaan, kebutuhan untuk memperluas kapasitas klaster Hadoop juga meningkat. Tim platform data mulai mengalami hambatan yang berbeda. Sementara perangkat lunak itu sendiri telah membuktikan kemampuannya menangani skala linier, waktu yang dibutuhkan perangkat keras untuk terwujud dalam klaster karena kebijakan TI bervariasi dari beberapa minggu hingga beberapa bulan, menghambat inovasi dan

(8)

pertumbuhan. Menjadi jelas bahwa 'melempar lebih banyak perangkat keras ke Hadoop' tidak semudah atau secepat yang seharusnya.

c. Menangani Beban Kerja Batch Secara Efisien

Pola khas untuk Hadoop menggunakan sistem berorientasi batch melibatkan pekerjaan terjadwal yang memproses data masuk baru secara tetap dan sementara.

Perusahaan yang mengumpulkan data aktivitas dari perangkat atau log server web menyerap data ini ke dalam aplikasi analitik di Hadoop sekali atau beberapa kali dalam sehari dan mengekstrak wawasan darinya. Beban pada sumber daya komputasi dari cluster Hadoop bervariasi berdasarkan waktu dari menjalankan terjadwal ini atau tingkat data yang masuk. Cluster Hadoop berkapasitas tetap yang dibangun di atas mesin fisik selalu digunakan atau tidak – mengkonsumsi daya, ruang yang disewakan, dll., dan menimbulkan biaya.

Cloud, dengan model bayar sesuai penggunaan, lebih efisien untuk menangani beban kerja batch tersebut. Mengingat prediktabilitas dalam pola penggunaan, seseorang dapat mengoptimalkan lebih jauh lagi dengan memiliki kelompok ukuran yang sesuai yang tersedia pada waktu yang tepat untuk menjalankan pekerjaan.

d. Variabel persyaratan penanganan sumber daya

Tidak semua pekerjaan Hadoop diciptakan sama. Sementara beberapa dari mereka membutuhkan lebih banyak sumber daya komputasi, beberapa membutuhkan lebih banyak memori, dan beberapa lainnya membutuhkan banyak bandwidth I/O.

Biasanya, cluster Hadoop fisik dibangun dari mesin homogen, biasanya cukup besar untuk menangani pekerjaan terbesar.

Penjadwal Hadoop default tidak memiliki solusi untuk mengelola keragaman ini dalam pekerjaan Hadoop, menyebabkan hasil yang kurang optimal. Misalnya, pekerjaan yang tugasnya membutuhkan lebih banyak memori daripada rata-rata dapat memengaruhi tugas pekerjaan lain yang berjalan pada node budak yang sama karena menguras sumber daya sistem. Penjadwal Hadoop tingkat lanjut seperti Penjadwal Kapasitas dan Penjadwal Fairshare telah mencoba menangani kasus pengelolaan beban kerja yang heterogen pada sumber daya yang homogen menggunakan teknik penjadwalan yang canggih. Misalnya, Penjadwal Kapasitas mendukung gagasan pekerjaan 'RAM Tinggi' – pekerjaan yang rata-rata membutuhkan lebih banyak memori. Dukungan semacam itu menjadi lebih umum dengan Apache YARN, di mana gagasan tentang sumber daya didefinisikan dan ditangani secara lebih komprehensif.

e. Menjalankan Mendekati Data

Saat bisnis memindahkan layanan mereka ke cloud, maka data mulai hidup di cloud.

Analitik berkembang pesat pada data dan biasanya dalam volume besar, tidak dimungkinkan jika platform analitik ada di luar cloud yang menyebabkan migrasi data ini menjadi tidak efisien dan memakan waktu dari sumber ke kluster analitik.

Menerapkan prinsip lokalitas data Hadoop di tingkat makro adalah solusi yang tepat dengan menjalankan kluster Hadoop di lingkungan cloud yang sama.

(9)

f. Menyederhanakan Operasi Hadoop

Saat konsolidasi klaster terjadi di perusahaan, satu hal yang hilang adalah isolasi sumber daya untuk kumpulan pengguna yang berbeda. Karena semua pekerjaan pengguna dikelompokkan dalam kluster bersama, administrator kluster mulai menangani masalah multi-penyewaan seperti pekerjaan pengguna yang mengganggu satu sama lain, berbagai kendala keamanan, dll.

Solusi khas untuk masalah ini adalah menerapkan kebijakan atau batasan tingkat klaster yang sangat ketat yang mencegah pengguna melakukan sesuatu yang berbahaya bagi pekerjaan pengguna lain. Masalah dengan pendekatan ini adalah bahwa kasus penggunaan yang valid dari pengguna juga tidak terpecahkan.

Misalnya, adalah umum bagi administrator untuk mengunci jumlah memori yang dapat dijalankan oleh tugas Hadoop. Jika pengguna benar-benar membutuhkan lebih banyak memori, dia tidak memiliki dukungan dari sistem.

Dengan menggunakan cloud, seseorang dapat menyediakan berbagai jenis cluster dengan karakteristik dan konfigurasi yang berbeda, masing-masing cocok untuk serangkaian pekerjaan tertentu. Meskipun ini membebaskan administrator dari keharusan mengelola kebijakan yang rumit untuk lingkungan multi-penyewa, ini memungkinkan pengguna untuk menggunakan konfigurasi yang tepat untuk pekerjaan mereka.

4. Asumsi Hadoop tentang Infrastrukturnya

Hadoop ditulis dengan harapan dapat berjalan di pusat data fisik yang besar. Pusat data dan perangkat keras fisik, penyimpanan, dan jaringan tersebut memiliki beberapa fitur khusus.

• Sekelompok besar server fisik, yang dapat reboot, tetapi umumnya pulih, dengan semua penyimpanan HDD di server lokal mereka.

• Non-RAIDed Hard disk di server. Ini adalah biaya terendah per Terabyte dari semua penyimpanan. Ini memiliki bandwidth (lokal) yang baik saat mengambil data sekuensial: begitu disk mulai mencari blok berikutnya, kinerjanya sangat buruk.

• CPU khusus; jenis CPU diketahui dan cluster (biasanya) dibangun dari perangkat keras yang homogen.

• Server dengan jam yang meningkat secara monoton, disinkronkan secara kasar melalui server NTP. Yaitu: waktu terus berjalan, di semua server secara bersamaan.

• Jaringan khusus dengan penggunaan eksklusif sakelar berperforma tinggi, Ethernet server 1-10 Gb/s yang cepat, dan interkoneksi "backplane" 10 + Gb/s yang lebih cepat antar rak.

• Topologi jaringan data statis relatif: node data tidak bergerak.

• Penggunaan jaringan secara eksklusif oleh pengguna tepercaya.

• Layanan infrastruktur berkinerja tinggi (DNS, DNS balik, penyimpanan NFS untuk snapshot NameNode)

• Mode kegagalan utama mesin adalah kegagalan HDD, kegagalan memori yang terjadi kembali, atau kerusakan akibat panas berlebih yang disebabkan oleh kegagalan kipas.

(10)

• Kegagalan mesin biasanya independen, dengan pengecualian kegagalan sakelar Top of Rack, yang dapat membuat seluruh rak offline. Kesalahan konfigurasi Router/Switch dapat memiliki efek yang sama.

• Jika seluruh pusat data dimulai ulang, hampir semua mesin akan kembali bersama dengan datanya.

5. Implementasi Hadoop

Implementasi Hadoop diterjemahkan ke dalam fitur kode.

• HDFS menggunakan disk lokal untuk penyimpanan, mereplikasi data di seluruh mesin.

• Penjadwal mesin MR yang mengasumsikan bahwa pekerjaan Hadoop memiliki penggunaan eksklusif dari server dan mencoba untuk menjaga disk dan CPU sesibuk mungkin.

• Sewa dan batas waktu didasarkan pada jam lokal, bukan jam sistem terdistribusi yang kompleks seperti Jam Lamport. Itu ada di lapisan Hadoop, dan di seluruh tumpukan jaringan - TCP juga menggunakan jam lokal.

• Skrip topologi dapat ditulis untuk menggambarkan topologi jaringan; ini digunakan untuk menempatkan data dan pekerjaan.

• Data biasanya ditransmisikan antar mesin tidak terenkripsi

• Kode yang berjalan pada mesin dalam cluster (termasuk pekerjaan MR yang disediakan pengguna), biasanya dapat dianggap tidak berbahaya secara sengaja, kecuali dalam pengaturan yang aman.

• Hard disk yang hilang biasanya hilang karena gagal, sehingga data yang tersimpan di dalamnya harus direplikasi dan disk dibiarkan begitu saja.

• Server yang secara konsisten lambat untuk menyelesaikan pekerjaan harus masuk daftar hitam: tidak ada pekerjaan baru yang harus dikirim kepada mereka.

• JobTracker harus mencoba dan menjaga cluster sesibuk mungkin, untuk memaksimalkan ROI di server dan pusat data.

• Ketika JobTracker tidak memiliki pekerjaan untuk dilakukan, server dibiarkan menganggur.

• Jika seluruh pusat data dimulai ulang, sistem file dapat pulih, asalkan Anda telah mengatur NameNode dan Secondary NameNode dengan benar.

6. Infrastruktur Virtual VS DataCenter Fisik

Asumsi Hadoop tentang pusat data tidak selalu berlaku di lingkungan virtual.

• Penyimpanan dapat berupa satu atau lebih drive virtual sementara, drive fisik lokal sementara, drive virtual lokal persisten, atau penyimpanan blok atau sistem file yang dipasang di SAN jarak jauh.

• Penyimpanan di hard drive virtual dapat menyebabkan banyak pencarian jika mereka berbagi hard drive fisik yang sama, meskipun tampaknya akses berurutan ke VM.

• Jaringan mungkin lebih lambat dan terhambat oleh penyedia infrastruktur.

• Mesin Virtual diminta sesuai permintaan dari infrastruktur: mesin dapat dialokasikan di mana saja di infrastruktur, mungkin di server yang menjalankan VM lain pada saat yang sama.

(11)

• VM lain mungkin pengguna sumber daya yang berat (CPU, IO, dan jaringan), yang dapat menyebabkan pekerjaan Hadoop terganggu. OTOH, beban berat Hadoop dapat menyebabkan masalah bagi pengguna server lainnya, jika hypervisor yang mendasarinya tidak memiliki fitur dan/atau kebijakan isolasi yang tepat.

• VM dapat ditangguhkan dan dimulai ulang tanpa pemberitahuan OS, ini dapat menyebabkan jam bergerak maju dalam lompatan beberapa detik.

• Jika cluster Hadoop berbagi VLAN dengan pengguna lain (yang tidak disarankan), pengguna lain di jaringan mungkin dapat mendengarkan lalu lintas, mengganggunya, dan mengakses port yang tidak mengautentikasi semua akses.

• Beberapa infrastruktur mungkin memindahkan VM; ini benar-benar dapat memindahkan jam mundur ketika jam host fisik baru berada di belakang host asli.

• Replikasi ke hard drive sementara bukan lagi cara yang dapat diandalkan untuk menyimpan data.

• Pada beberapa penyedia cloud, topologi jaringan mungkin tidak terlihat oleh cluster Hadoop, meskipun uji latensi dan bandwidth dapat digunakan untuk menyimpulkan

"kedekatan", untuk membangun topologi de-facto.

• Cara yang benar untuk menangani VM yang menunjukkan kegagalan yang berulang adalah dengan melepaskan VM dan meminta yang baru, alih-alih memasukkannya ke daftar hitam.

• JobTracker mungkin ingin meminta VM tambahan saat ada permintaan tambahan.

• JobTracker mungkin ingin merilis VM saat ada waktu idle.

• Seperti semua layanan yang dihosting, kegagalan infrastruktur hosting dapat kehilangan semua mesin secara bersamaan meskipun tidak harus secara permanen.

JobTracker adalah layanan dalam Hadoop yang mengolah tugas MapReduce ke node tertentu dalam cluster, idealnya node yang memiliki data, atau setidaknya berada di rak yang sama.

• Aplikasi klien mengirimkan pekerjaan ke Job tracker.

• JobTracker berbicara dengan NameNode untuk menentukan lokasi data

• JobTracker menempatkan node TaskTracker dengan slot yang tersedia di atau di dekat data

• JobTracker mengirimkan pekerjaan ke node TaskTracker yang dipilih.

• Node TaskTracker dipantau. Jika mereka tidak mengirimkan sinyal detak jantung cukup sering, mereka dianggap gagal dan pekerjaan dijadwalkan pada TaskTracker yang berbeda.

• TaskTracker akan memberi tahu JobTracker ketika tugas gagal. JobTracker memutuskan apa yang harus dilakukan kemudian: mungkin mengirim ulang pekerjaan di tempat lain, mungkin menandai catatan tertentu sebagai sesuatu yang harus dihindari, dan bahkan mungkin memasukkan TaskTracker ke daftar hitam sebagai tidak dapat diandalkan.

• Saat pekerjaan selesai, JobTracker memperbarui statusnya.

• Aplikasi klien dapat polling JobTracker untuk informasi.

• JobTracker adalah titik kegagalan untuk layanan Hadoop MapReduce. Jika turun, semua pekerjaan yang sedang berjalan dihentikan.

(12)

7. Implikasi Infrastruktur Virtual

Mengabaikan masalah jaringan/jam tingkat rendah, apa artinya ini? (Hanya berlaku untuk beberapa vendor cloud, ini mungkin berbeda untuk vendor cloud lain atau Anda memiliki infrastruktur virtual Anda.)

• Saat Anda meminta VM, kinerjanya mungkin berbeda dari permintaan sebelumnya (jika fitur/kebijakan isolasi tidak ada). Hal ini dapat disebabkan oleh perbedaan CPU, atau beban kerja lainnya.

• Tidak ada gunanya menulis skrip topologi, jika vendor cloud tidak mengekspos topologi fisik kepada Anda dalam beberapa cara. OTOH, Project Serengeti mengonfigurasi skrip topologi secara otomatis untuk Apache Hadoop 1.2+ di vSphere.

• Semua port jaringan harus ditutup melalui firewall dan informasi perutean, selain dari port yang penting untuk Hadoop, yang kemudian harus dijalankan dengan keamanan aktif.

• Semua data yang ingin Anda simpan harus disimpan di penyimpanan permanen:

penyimpanan blok terpasang, sistem file jarak jauh, atau basis data eksternal. Ini berlaku untuk input dan output.

• Orang atau program perlu melacak kegagalan mesin dan bereaksi terhadapnya dengan melepaskan mesin tersebut dan meminta yang baru.

• Jika cluster dalam keadaan idle. beberapa mesin dapat dinonaktifkan.

• Jika kluster kelebihan beban, beberapa server khusus TaskTracker sementara dapat dihidupkan untuk waktu yang singkat, dan dimatikan saat tidak lagi diperlukan.

• Jika cluster perlu diperluas untuk durasi yang lebih lama, node pekerja yang bertindak sebagai DataNode dan TaskTracker dapat ditampilkan.

• Jika seluruh cluster mati atau dimulai ulang, semua hard disk sementara akan hilang (beberapa vendor cloud memperlakukan disk VM sebagai sementara dan menyediakan layanan penyimpanan lain yang andal, tetapi yang lain tidak. Catatan ini hanya untuk vendor sebelumnya), dan semua data disimpan dalam cluster HDFS.

Implikasi yang paling signifikan adalah dalam penyimpanan. Desain arsitektur inti dari GFS Google dan GFS Hadoop adalah bahwa replikasi tiga arah ke penyimpanan lokal adalah cara yang murah namun andal untuk menyimpan data Petabyte. Desain ini didasarkan pada topologi fisik (rack dan host) kesadaran hadoop sehingga dapat dengan cerdas menempatkan blok data di rak dan host untuk mendapatkan kelangsungan hidup dari kegagalan host / rak. Di beberapa infrastruktur vendor cloud, desain ini mungkin tidak lagi valid karena tidak memaparkan info topologi fisik (bahkan abstrak) kepada pelanggan. Dalam hal ini, Anda akan kecewa ketika suatu hari semua data Anda hilang dan jangan mengeluh jika ini terjadi setelah membaca halaman ini: Anda telah diperingatkan. Jika vendor cloud Anda mengekspos info ini dalam suatu cara (atau menjanjikan mereka fisik tetapi tidak virtual) atau Anda memiliki infrastruktur cloud Anda, situasinya berbeda bahwa Anda masih dapat memiliki cluster Hadoop yang andal seperti di lingkungan fisik.

(13)

8. Alasan Hadoop di Infrastruktur Cloud

Baru saja menjelaskan mengapa HDFS mungkin tidak melindungi data Anda saat dihosting di infrastruktur cloud, apakah ada alasan untuk mempertimbangkannya? Iya.

• Untuk cloud private, di mana admin dapat menyediakan infrastruktur virtual untuk Hadoop dengan benar:

o HDFS sama andal dan efisiennya seperti fisik dengan penyimpanan lokal khusus dan/atau bersama tergantung pada persyaratan isolasi

o Virtualisasi dapat memberikan pemanfaatan perangkat keras yang lebih tinggi dengan menggabungkan beberapa kluster Hadoop dan beban kerja lainnya pada kluster fisik yang sama

o Performa lebih tinggi untuk beberapa beban kerja (termasuk terasort) daripada fisik untuk mesin soket multi-CPU (biasanya direkomendasikan untuk penerapan Hadoop) karena kontrol NUMA yang lebih baik pada lapisan hypervisor dan pengurangan cache OS dan pertikaian IO dengan multi-VM per host daripada penerapan fisik di mana ada hanya satu OS per host.

o VLAN per tenant (VXLAN) dapat memberikan keamanan yang lebih baik daripada cluster Hadoop fisik bersama yang umum, terutama untuk YARN (dalam Hadoop 2+), di mana beban kerja non-MR baru menimbulkan tantangan terhadap keamanan.

• Mengingat pilihan antara Hadoop virtual dan tanpa Hadoop, Hadoop virtual sangat menarik.

• Menggunakan Apache Hadoop sebagai infrastruktur MapReduce Anda memberi Anda kebebasan vendor Cloud, dan opsi untuk pindah ke penerapan fisik permanen nanti.

• Ini adalah satu-satunya cara untuk menjalankan alat yang bekerja dengan Hadoop dan lapisan di atasnya dalam lingkungan Cloud.

• Jika Anda menyimpan data persisten di infrastruktur penyimpanan yang dihosting di cloud, menganalisis data di infrastruktur komputasi penyedia adalah cara yang paling hemat biaya untuk melakukannya.

Anda hanya perlu mengenali batasan dan menerimanya:

• Untuk vendor seperti AWS, perlakukan sistem file HDFS dan disk lokal sebagai penyimpanan sementara; menyimpan data persisten di tempat lain.

• Untuk cloud publik, harapkan penurunan performa dan coba ganti rugi dengan mengalokasikan lebih banyak VM.

• Hemat uang dengan mematikan cluster saat tidak diperlukan.

• Jangan heran jika instance cluster yang berbeda memiliki kinerja yang berbeda, atau kinerja cluster bervariasi dari waktu ke waktu.

• Untuk cloud publik, biaya data persisten mungkin akan lebih tinggi daripada jika Anda membangun cluster fisik dengan jumlah penyimpanan yang sama. Ini tidak akan menjadi masalah sampai dataset Anda diukur dalam banyak Terabyte, atau bahkan Petabyte.

• Untuk cloud publik, seiring waktu, ukuran kumpulan data tumbuh, seringkali dengan kecepatan yang dapat diprediksi. Biaya penyimpanan itu mungkin mendominasi dari waktu ke waktu. Kompres data Anda bahkan ketika disimpan di infrastruktur penyedia layanan.

(14)

9. Hosting di VM lokal

Selain infrastruktur cloud skala besar, ada pola penerapan lain (biasanya untuk pengembangan dan pengujian): VM lokal pada sistem desktop atau mesin pengembangan lainnya. Ini adalah taktik yang baik jika mesin fisik Anda menjalankan windows dan Anda perlu membuka sistem Linux yang menjalankan Hadoop, dan/atau Anda ingin mensimulasikan kompleksitas cluster Hadoop kecil.

• Memiliki cukup RAM agar VM tidak bertukar.

• Jangan mencoba dan menjalankan lebih dari satu VM per host fisik dengan kurang dari 2 inti CPU atau memori terbatas, itu hanya akan membuat segalanya lebih lambat.

• Gunakan folder bersama host untuk mengakses data input dan output yang persisten.

• Pertimbangkan untuk menjadikan sistem file default sebagai file: URL sehingga semua penyimpanan benar-benar ada di host fisik. Seringkali lebih cepat (untuk tamu Linux) dan menyimpan data dengan lebih baik.

(15)

SIMPULAN

• Hadoop adalah kerangka kerja perangkat lunak sumber terbuka untuk menyimpan data dan menjalankan aplikasi pada kelompok perangkat keras komoditas. Ini menyediakan penyimpanan besar untuk semua jenis data, kekuatan pemrosesan yang sangat besar, dan kemampuan untuk menangani tugas atau pekerjaan bersamaan yang hampir tak terbatas.

• Mengapa Hadoop penting? Kemampuan untuk menyimpan dan memproses data dalam jumlah besar dengan cepat, Daya komputasi, Toleransi kesalahan, Fleksibilitas, Biaya rendah, dan Skalabilitas.

• Ekosistem Hadoop terdiri dari empat lapisan berbeda: lapisan penyimpanan data, lapisan Pemrosesan Data, lapisan akses data, dan lapisan manajemen data.

Anda dapat memunculkan Hadoop di infrastruktur virtual dengan banyak

manfaat. Terkadang bahkan masuk akal untuk cloud publik, untuk

pengembangan dan produksi. Untuk penggunaan produksi, ketahuilah bahwa

perbedaan antara infrastruktur fisik dan virtual dapat menimbulkan masalah

tambahan pada integritas dan keamanan data Anda tanpa perencanaan dan

penyediaan yang tepat.

(16)

DAFTAR PUSTAKA

• Balusamy. Balamurugan, Abirami.Nandhini, Kadry.R, Seifedine, & Gandomi. Amir H.

(2021). Big Data Concepts, Technology, and Architecture. 1st. Wiley. ISBN: 978-1- 119-70182-8. Chapter 5

• Arshdeep Bahga & Vijay Madisetti. (2016). Big Data Science & Analytics: A Hands- On Approach. 1st E. VPT. India. ISBN: 9781949978001. Chapter 3

• https://www.youtube.com/watch?v=aReuLtY0YMI&t=78s

• https://www.youtube.com/watch?v=mzZj2AJ6uz8

• Accenture Technology Labs. 2014. Cloud-based Hadoop Deployments: Benefits and Considerations. https://www.yumpu.com/en/document/view/30180663/accenture- cloud-based-hadoop-deployments-benefits-and-considerations/21

• https://www.sas.com/en_us/insights/big-data/hadoop.html

• https://cwiki.apache.org/confluence/display/HADOOP2/Virtual+Hadoop

• https://cwiki.apache.org/confluence/display/HADOOP2/JobTracker

• https://www.thoughtworks.com/insights/blog/6-reasons-why-hadoop-cloud-makes- sense

• https://blog.syncsort.com/2017/06/big-data/5-reasons-hadoop-in-the-cloud/

• https://hadoop.apache.org/docs/r1.2.1/hdfs_design.html

• Webster, C., 2015. Hadoop Virtualization. O’Reilly Media, Inc.,

Referensi

Dokumen terkait