Apa keistimewaan Cloudera dan cara memasaknya

Pasar untuk komputasi terdistribusi dan data besar, menurut statistik, tumbuh sebesar 18-19% per tahun. Ini berarti bahwa isu pemilihan perangkat lunak untuk tujuan ini tetap relevan. Dalam postingan ini, kita akan mulai dengan alasan mengapa komputasi terdistribusi diperlukan, membahas lebih detail tentang pemilihan perangkat lunak, membahas tentang penggunaan Hadoop menggunakan Cloudera, dan terakhir membahas tentang memilih perangkat keras dan bagaimana hal itu memengaruhi kinerja dalam berbagai cara.

Apa keistimewaan Cloudera dan cara memasaknya
Mengapa komputasi terdistribusi diperlukan dalam bisnis reguler? Semuanya di sini sederhana dan rumit pada saat bersamaan. Sederhana - karena dalam banyak kasus kami melakukan penghitungan yang relatif sederhana per unit informasi. Sulit karena banyak informasi seperti itu. Sangat banyak. Sebagai konsekuensinya, hal itu perlu dilakukan memproses terabyte data dalam 1000 thread. Oleh karena itu, kasus penggunaannya cukup universal: penghitungan dapat digunakan di mana pun diperlukan untuk memperhitungkan sejumlah besar metrik pada kumpulan data yang lebih besar.

Salah satu contoh terbaru: jaringan restoran pizza Dodo Pizza bertekad berdasarkan analisis database pesanan pelanggan, bahwa ketika memilih pizza dengan topping acak, pengguna biasanya beroperasi dengan hanya enam set bahan dasar ditambah beberapa bahan acak. Sejalan dengan itu, restoran pizza menyesuaikan pembeliannya. Selain itu, dia dapat merekomendasikan produk tambahan yang ditawarkan kepada pengguna dengan lebih baik selama tahap pemesanan, sehingga meningkatkan keuntungan.

Satu lagi contoh: analisis item produk memungkinkan toko H&M mengurangi variasi di masing-masing toko sebesar 40%, sambil mempertahankan tingkat penjualan. Hal ini dicapai dengan mengecualikan barang-barang yang penjualannya buruk, dan musim diperhitungkan dalam perhitungan.

Pemilihan alat

Standar industri untuk jenis komputasi ini adalah Hadoop. Mengapa? Karena Hadoop adalah kerangka kerja yang luar biasa dan terdokumentasi dengan baik (Habr yang sama menyediakan banyak artikel terperinci tentang topik ini), yang disertai dengan serangkaian utilitas dan perpustakaan. Anda dapat memasukkan kumpulan besar data terstruktur dan tidak terstruktur, dan sistem itu sendiri akan mendistribusikannya ke daya komputasi. Selain itu, kapasitas yang sama ini dapat ditingkatkan atau dinonaktifkan kapan saja - tindakan skalabilitas horizontal yang sama.

Pada tahun 2017, perusahaan konsultan berpengaruh Gartner menyimpulkanbahwa Hadoop akan segera menjadi usang. Alasannya cukup sederhana: para analis percaya bahwa perusahaan akan bermigrasi secara massal ke cloud, karena di sana mereka akan mampu membayar sesuai dengan penggunaan daya komputasi. Faktor penting kedua yang diduga dapat β€œmengubur” Hadoop adalah kecepatannya. Karena opsi seperti Apache Spark atau Google Cloud DataFlow lebih cepat daripada MapReduce, yang mendasari Hadoop.

Hadoop bertumpu pada beberapa pilar, yang paling menonjol adalah teknologi MapReduce (sistem untuk mendistribusikan data untuk perhitungan antar server) dan sistem file HDFS. Yang terakhir ini dirancang khusus untuk menyimpan informasi yang didistribusikan di antara node cluster: setiap blok dengan ukuran tetap dapat ditempatkan pada beberapa node, dan berkat replikasi, sistem ini tahan terhadap kegagalan masing-masing node. Alih-alih tabel file, server khusus bernama NameNode digunakan.

Ilustrasi di bawah ini menunjukkan cara kerja MapReduce. Pada tahap pertama, data dibagi menurut kriteria tertentu, pada tahap kedua didistribusikan menurut daya komputasi, dan pada tahap ketiga dilakukan penghitungan.

Apa keistimewaan Cloudera dan cara memasaknya
MapReduce awalnya dibuat oleh Google untuk kebutuhan pencariannya. Kemudian MapReduce menggunakan kode gratis, dan Apache mengambil alih proyek tersebut. Ya, Google secara bertahap bermigrasi ke solusi lain. Berita menarik yang menarik: Google saat ini memiliki proyek bernama Google Cloud Dataflow, yang diposisikan sebagai langkah berikutnya setelah Hadoop, sebagai pengganti cepatnya.

Jika dilihat lebih dekat, terlihat bahwa Google Cloud Dataflow didasarkan pada variasi Apache Beam, sedangkan Apache Beam menyertakan kerangka kerja Apache Spark yang terdokumentasi dengan baik, yang memungkinkan kita membicarakan kecepatan eksekusi solusi yang hampir sama. Nah, Apache Spark bekerja dengan sempurna pada sistem file HDFS, yang memungkinkannya untuk diterapkan di server Hadoop.

Tambahkan di sini volume dokumentasi dan solusi siap pakai untuk Hadoop dan Spark versus Google Cloud Dataflow, dan pilihan alat menjadi jelas. Selain itu, para insinyur dapat memutuskan sendiri kode mana - untuk Hadoop atau Spark - yang harus mereka jalankan, dengan fokus pada tugas, pengalaman, dan kualifikasi.

Cloud atau server lokal

Tren transisi umum ke cloud bahkan memunculkan istilah menarik seperti Hadoop-as-a-service. Dalam skenario seperti itu, administrasi server yang terhubung menjadi sangat penting. Karena, sayangnya, meskipun populer, Hadoop murni adalah alat yang agak sulit untuk dikonfigurasi, karena banyak hal yang harus dilakukan secara manual. Misalnya, konfigurasikan server satu per satu, pantau kinerjanya, dan konfigurasikan banyak parameter dengan cermat. Secara umum, pekerjaan ini untuk seorang amatir dan ada kemungkinan besar terjadi kesalahan di suatu tempat atau melewatkan sesuatu.

Oleh karena itu, berbagai kit distribusi, yang awalnya dilengkapi dengan alat penerapan dan administrasi yang mudah digunakan, menjadi sangat populer. Salah satu distribusi terpopuler yang mendukung Spark dan memudahkan segalanya adalah Cloudera. Ini memiliki versi berbayar dan gratis - dan yang terakhir semua fungsi dasar tersedia, tanpa membatasi jumlah node.

Apa keistimewaan Cloudera dan cara memasaknya

Selama penyiapan, Cloudera Manager akan terhubung melalui SSH ke server Anda. Hal yang menarik: saat menginstal, lebih baik menentukan bahwa itu dilakukan oleh apa yang disebut parsel: paket khusus, yang masing-masing berisi semua komponen penting yang dikonfigurasi untuk bekerja satu sama lain. Pada dasarnya ini adalah versi perbaikan dari manajer paket.

Setelah instalasi, kami menerima konsol manajemen cluster, di mana Anda dapat melihat telemetri cluster, layanan yang diinstal, ditambah Anda dapat menambah/menghapus sumber daya dan mengedit konfigurasi cluster.

Apa keistimewaan Cloudera dan cara memasaknya

Hasilnya, kabin roket yang akan membawa Anda ke masa depan cerah BigData muncul di hadapan Anda. Namun sebelum kita mengatakan "ayo pergi", mari kita bahas lebih dalam.

Persyaratan perangkat keras

Di situs webnya, Cloudera menyebutkan berbagai kemungkinan konfigurasi. Prinsip umum pembuatannya ditunjukkan dalam ilustrasi:

Apa keistimewaan Cloudera dan cara memasaknya
MapReduce dapat mengaburkan gambaran optimis ini. Jika Anda melihat kembali diagram dari bagian sebelumnya, menjadi jelas bahwa di hampir semua kasus, pekerjaan MapReduce mungkin mengalami hambatan saat membaca data dari disk atau dari jaringan. Hal ini juga dicatat dalam blog Cloudera. Oleh karena itu, untuk penghitungan cepat apa pun, termasuk melalui Spark, yang sering digunakan untuk penghitungan waktu nyata, kecepatan I/O sangatlah penting. Oleh karena itu, ketika menggunakan Hadoop, sangat penting bahwa cluster menyertakan mesin yang seimbang dan cepat, yang, secara sederhana, tidak selalu terjamin dalam infrastruktur cloud.

Keseimbangan dalam distribusi beban dicapai melalui penggunaan virtualisasi Openstack pada server dengan CPU multi-core yang kuat. Node data dialokasikan sumber daya prosesornya sendiri dan disk tertentu. Dalam keputusan kami Mesin Danau Data Atos Codex Virtualisasi luas tercapai, itulah sebabnya kami mendapatkan keuntungan baik dari segi kinerja (dampak infrastruktur jaringan diminimalkan) dan TCO (server fisik tambahan dihilangkan).

Apa keistimewaan Cloudera dan cara memasaknya
Saat menggunakan server BullSequana S200, kami mendapatkan beban yang sangat seragam, tanpa hambatan. Konfigurasi minimum mencakup 3 server BullSequana S200, masing-masing dengan dua JBOD, ditambah S200 tambahan yang berisi empat node data yang terhubung secara opsional. Berikut contoh beban pada pengujian TeraGen:

Apa keistimewaan Cloudera dan cara memasaknya

Pengujian dengan volume data dan nilai replikasi yang berbeda menunjukkan hasil yang sama dalam hal distribusi beban antar node cluster. Di bawah ini adalah grafik distribusi akses disk berdasarkan pengujian kinerja.

Apa keistimewaan Cloudera dan cara memasaknya

Perhitungan dilakukan berdasarkan konfigurasi minimum 3 server BullSequana S200. Ini mencakup 9 node data dan 3 node master, serta mesin virtual yang dicadangkan jika terjadi penerapan perlindungan berdasarkan Virtualisasi OpenStack. Hasil pengujian TeraSort: ukuran blok 512 MB faktor replikasi sama dengan tiga dengan enkripsi 23,1 menit.

Bagaimana sistem dapat diperluas? Ada berbagai jenis ekstensi yang tersedia untuk Data Lake Engine:

  • Node data: untuk setiap 40 TB ruang yang dapat digunakan
  • Node analitik dengan kemampuan memasang GPU
  • Pilihan lain tergantung kebutuhan bisnis (misalnya jika Anda membutuhkan Kafka dan sejenisnya)

Apa keistimewaan Cloudera dan cara memasaknya

Atos Codex Data Lake Engine mencakup server itu sendiri dan perangkat lunak pra-instal, termasuk kit Cloudera berlisensi; Hadoop sendiri, OpenStack dengan mesin virtual berbasis kernel RedHat Enterprise Linux, replikasi data dan sistem pencadangan (termasuk menggunakan node cadangan dan Cloudera BDR - Pencadangan dan Pemulihan Bencana). Atos Codex Data Lake Engine menjadi solusi virtualisasi pertama yang disertifikasi Cloudera.

Jika Anda tertarik dengan detailnya, kami akan dengan senang hati menjawab pertanyaan kami di komentar.

Sumber: www.habr.com

Tambah komentar