{"id":39929,"date":"2023-06-22T08:26:00","date_gmt":"2023-06-22T01:26:00","guid":{"rendered":"https:\/\/www.rumahweb.com\/journal\/?p=39929"},"modified":"2023-08-16T13:18:40","modified_gmt":"2023-08-16T06:18:40","slug":"apache-kafka-adalah","status":"publish","type":"post","link":"https:\/\/www.rumahweb.com\/journal\/apache-kafka-adalah\/","title":{"rendered":"Apache Kafka: Definisi, Fungsi dan Cara Install di Ubuntu"},"content":{"rendered":"\n<p>Apache Kafka adalah sebuah platform distribusi streaming yang dirancang untuk mengatasi masalah pengolahan data secara real-time dalam skala besar. Lalu apa fungsi dan bagaimana cara install Apache Kafka di VPS Linux? Selengkapnya bisa Anda simak pada artikel berikut.<\/p>\n\n\n\n\n\n<p>Pada awal era BigData, pengolahan data secara realtime dan berkelanjutan dapat menggunakan sistem berbasis query seperti Hive dan Mapreduce. Namun, seiring berjalannya waktu, kebutuhan sistem semakin meningkat, seperti membutuhkan mekanisme publish\/broker dan sistem saat itu belum mampu memenuhi kebutuhan tersebut secara <a href=\"https:\/\/blog.rumahweb.com\/efisien-adalah\/\" target=\"_blank\" rel=\"noopener\" title=\"efisien adalah\">efisien<\/a>.<\/p>\n\n\n\n<p>Mengetahui permasalahan ini, tim dari perusahaan LinkedIn mengembangkan sebuah sistem pesan publish\/subscribe yang kemudian diberi nama Apache Kafka.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Apa itu Apache Kafka?<\/h2>\n\n\n\n<p>Kafka adalah salah satu <em>open-source<\/em> yang dikembangkan oleh Apache Software Foundation dan dirilis pertama kali pada tahun 2011. Sejak tahun 2011, Apache Kafka banyak dipilih oleh administrator untuk aplikasi yang membutuhkan transfer data secara cepat, andal, dan skalabilitas yang tinggi.<\/p>\n\n\n\n<p>Apache Kafka merupakan sistem pesan distribusi yang di desain khusus untuk mengelola aliran data dalam lingkup yang sangat besar. Kafka dapat berfungsi untuk mengirim, menyimpan, dan memproses aliran data secara real-time, dengan toleransi kesalahan yang tinggi dan latensi yang sangat rendah.&nbsp;<\/p>\n\n\n\n<p>Pada dasarnya, Apache Kafka adalah sebuah message broker yang berperan sebagai penghubung antara produsen (<em>producer<\/em>) dan konsumen (<em>consumer<\/em>) untuk pengiriman pesan. <\/p>\n\n\n\n<p>Namun, perlu dicatat bahwa dalam proses pengiriman pesan, Kafka berfungsi sebagai pengirim saja (<em>send-only<\/em>), yang berarti hanya mengirimkan pesan dari produsen ke konsumen. Kelebihan dari Kafka adalah kecepatannya dalam mengirimkan data.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Terminologi Apache Kafka<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/06\/Terminologi-Apache-Kafka.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/06\/Terminologi-Apache-Kafka.png\" alt=\"Terminologi Apache Kafka\" class=\"wp-image-40189\" style=\"width:497px;height:279px\" width=\"497\" height=\"279\" title=\"Terminologi Apache Kafka - image by knoldus blog\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/06\/Terminologi-Apache-Kafka.png 1000w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/06\/Terminologi-Apache-Kafka-300x169.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/06\/Terminologi-Apache-Kafka-768x432.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/06\/Terminologi-Apache-Kafka-370x208.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/06\/Terminologi-Apache-Kafka-270x152.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/06\/Terminologi-Apache-Kafka-570x321.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/06\/Terminologi-Apache-Kafka-740x417.png 740w\" sizes=\"auto, (max-width: 497px) 100vw, 497px\" \/><\/a><figcaption class=\"wp-element-caption\">Terminologi Apache Kafka &#8211; image by knoldus blog<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Berikut adalah terminologi dan susunan dari Apache Kafka :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Topic <\/strong>: Topic adalah suatu kategori penyusunan data di Kafka, seperti feed\/tempat pesan yang nantinya akan dipublikasikan.<\/li>\n\n\n\n<li><strong>Producer <\/strong>: Sistem yang berfungsi mengirimkan data\/topic ke customer sebagai partisi\u00b2 topik.<\/li>\n\n\n\n<li><strong>Customer <\/strong>: Sistem yang menerima pesan dari producer dan mengolah data dari topik yang dikirimkan.<\/li>\n\n\n\n<li><strong>Partisi <\/strong>: Berfungsi untuk memecah topik ke bagian yang lebih kecil, dan mendistribusikan ke broker yang ada.<\/li>\n\n\n\n<li><strong>Broker <\/strong>: Broker adalah server di Cluster Kafka yang berfungsi untuk menyimpan partisi topik yang ada. Broker menyimpan dan menyebarkan data ke broker lainnya yang tersedia.<\/li>\n\n\n\n<li><strong>Cluster <\/strong>: Merupakan sistem dari beberapa broker yang bekerjasama memproses suatu data (grup broker).<\/li>\n\n\n\n<li><strong>Offset <\/strong>: Identifikasi unik dari&nbsp; sebuah topik, yang berfungsi untuk melacak lokasi sebuah data, dan memastikan pesan yang ada tidak ada yang terlewati.<\/li>\n\n\n\n<li><strong>Replikasi <\/strong>: Proses penyebaran salinan data dari pusat broker ke broker lainnya, agar semua broker yang ada memiliki isi data yang sama dari server pusat\/central.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Fungsi Apache Kafka&nbsp;<\/h2>\n\n\n\n<p>Apache Kafka memiliki berbagai fungsi dalam pengolahan data secara realtime, berikut adalah beberapa fungsi Apache Kafka secara detail :<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Streaming Data<\/h3>\n\n\n\n<p>Apache Kafka adalah platform streaming data yang dapat dipergunakan untuk mengirim, menyimpan, dan memproses aliran data secara real-time. Data yang dikirimkan oleh producer dikirim dalam sebuah topik-topik Kafka, dan konsumen (costumer) akan membaca data tersebut untuk diproses atau disimpan.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Publikasi Massage\/publish<\/h3>\n\n\n\n<p>Kerangka Kafka menggunakan sistem publish\/subscribe yang optimal. Costumer dapat berlangganan ke suatu topik untuk membaca data, memungkinkan agar Costumer mendapatkan update secara berkala untuk data yang selalu sama\/independen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Skalabilitas<\/h3>\n\n\n\n<p>Apache Kafka dirancang untuk menangani jutaan pesan per detik. Apache Kafka dapat bekerja dengan baik dalam suatu kelompok atau cluster, sehingga dengan bertambahnya volume dan kecepatan aliran data yang harus diproses, kita hanya perlu menambah mesin baru saja pada cluster tanpa haru melakukan vertical-scaling.&nbsp;&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Replikasi Data<\/h3>\n\n\n\n<p>Kafka dapat dioptimalkan dengan fungsi replikasi, berarti kafka memiliki suatu <a href=\"https:\/\/blog.rumahweb.com\/server-adalah\/\" title=\"server adalah\">server<\/a> central yang berfungsi mengirimkan ke server backup yang ada, apabila server utama mengalami kegagalan, maka kinerja akan dialihkan ke server backup yang tersedia.<\/p>\n\n\n\n<p><strong>BACA JUGA : <a href=\"https:\/\/www.rumahweb.com\/journal\/replikasi-database-adalah\/\" title=\"Replikasi database\">Replikasi Database: Pengertian, Fungsi dan Cara Membuatnya<\/a><\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Integrasi BigData<\/h3>\n\n\n\n<p>Apache Kafka telah diintegrasikan dengan berbagai sistem BigData, Seperti Apache Spark, Apache Flink, dan Apache Storm. Dengan ini kita dapat mengintegrasikan Kafka dengan sistem lainnya untuk memenuhi analisis data.<\/p>\n\n\n\n<p>Fungsi-fungsi ini menjadikan Apache Kafka sebagai salah satu platform streaming data terkemuka yang digunakan oleh perusahaan\u00b2 besar untuk mengelola aliran data dalam skala besar dengan cepat, andal, efektif, dan skalabel.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cara Install Apache Kafka&nbsp;di Ubuntu<\/h2>\n\n\n\n<p>Kali ini kita akan melakukan instalasi Apache Kafka pada <a href=\"https:\/\/www.rumahweb.com\/vps-murah\/\"><strong>VPS KVM<\/strong><\/a> dengan OS Ubuntu.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1. Persiapan Sistem<\/h3>\n\n\n\n<p>Apache Kafka memiliki beberapa persyaratan sistem yang perlu dipenuhi untuk menginstal dan menjalankannya dengan baik. Berikut adalah persyaratan sistem untuk Apache Kafka:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>OS Linux Ubuntu \/ CentOS7<\/li>\n\n\n\n<li>JDK minimal Versi 11<\/li>\n\n\n\n<li>Ram Minimal 4GB (tergantung aliran data yang ditangani oleh Kafka)<\/li>\n\n\n\n<li>Scala language<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2. Cara Install Apache Kafka di Ubuntu<\/h3>\n\n\n\n<p>1. Installasi OpenJDK dan Scala dengan perintah sebagai berikut.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt upgrade -y\nsudo apt install openjdk-17-jdk\nsudo apt install scala<\/code><\/pre>\n\n\n\n<p>Cek apakah Jdk dan Scala telah berhasil terinstall dengan perintah:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>java -version\n\nscala -version<\/code><\/pre>\n\n\n\n<p>2. Konfigurasi User&nbsp;<\/p>\n\n\n\n<p>Buat user kafka, serta berikan akses untuk user kafka sebagai sudoer.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>adduser kafka\n\nusermod -aG sudo kafka<\/code><\/pre>\n\n\n\n<p>3. Download dan ekstrak package Kafka, sesuaikan agar kafka di ekstrak pada folder home user kafka.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>su - kafka\n\nwget https:\/\/www-us.apache.org\/dist\/kafka\/2.2.0\/kafka_2.12-2.2.0.tgz -O kafka.tgz\n\ntar -xzvf kafka.tgz --stripe 1<\/code><\/pre>\n\n\n\n<p>4. Membuat Systemd Kafka agar dapat dilakukan eksekusi seperti start, stop, restart pada layanan Kafka.<\/p>\n\n\n\n<p>Apache Kafka membutuhkan layanan bernama zookeeper untuk dapat berfungsi. Selanjutnya kita akan melakukan konfigurasi systemd untuk zookeeper yang terdapat pada path \/etc\/systemd\/system\/zookeeper.serv<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/systemd\/system\/zookeeper.serv<\/code><\/pre>\n\n\n\n<p>Paste code berikut:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#091;Unit]\nRequires=network.target remote-fs.target\nAfter=network.target remote-fs.target\n&#091;Service]\nType=simple\nUser=kafka\nExecStart=\/home\/kafka\/bin\/zookeeper-server-start.sh \/home\/kafka\/config\/zookeeper.properties\nExecStop=\/home\/kafka\/bin\/zookeeper-server-stop.sh\nRestart=on-abnormal\n\n&#091;Install]\nWantedBy=multi-user.target<\/code><\/pre>\n\n\n\n<p>Setelah disimpan, kita akan membuat konfigurasi system unit untuk kafka<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/systemd\/system\/kafka.service<\/code><\/pre>\n\n\n\n<p>Paste code berikut:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#091;Unit]\n\nRequires=zookeeper.service\nAfter=zookeeper.service\n&#091;Service]\nType=simple\nUser=kafka\nExecStart=\/bin\/sh -c '\/home\/kafka\/bin\/kafka-server-start.sh \/home\/kafka\/config\/server.properties &gt; \/home\/kafka\/kafka.log 2&gt;&amp;1'\nExecStop=\/home\/kafka\/bin\/kafka-server-stop.sh\nRestart=on-abnormal\n\n&#091;Install]\nWantedBy=multi-user.target<\/code><\/pre>\n\n\n\n<p>5. Konfigurasi Firewall Kafka.<\/p>\n\n\n\n<p>Pastikan untuk server vps menggunakan firewall sebagai keamanan lalulintas data dan open port, kita dapat menggunakan <a href=\"https:\/\/www.rumahweb.com\/journal\/cara-konfigurasi-firewall-ubuntu\/\">firewall ufw<\/a> atau menggunakan<a href=\"https:\/\/www.rumahweb.com\/journal\/apa-itu-csf-adalah\/\"> csf firewall<\/a><\/p>\n\n\n\n<p>Open port layanan Kafka berikut :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>2181 (untuk zookeeper) \n9192 (untuk Kafka)<\/code><\/pre>\n\n\n\n<p>6. Konfigurasi topic Kafka.<\/p>\n\n\n\n<p>Pada setting default Kafka, kita tidak diizinkan untuk menghapus topic, maka akan kita ubah terlebih dahulu konfigurasi sebagai berikut<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano ~\/config\/server.properties<\/code><\/pre>\n\n\n\n<p>Tambahkan code berikut:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>delete.topic.enable = true<\/code><\/pre>\n\n\n\n<p>Start dan jalankan Apache Kafka dengan perintah berikut:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl enable kafka\n\nsudo systemctl start kafka<\/code><\/pre>\n\n\n\n<p>7. Membuat Topic Kafka.<\/p>\n\n\n\n<p>Pada panduan kali ini, kita akan membuat Topic yang bernama &#8220;rumahweb&#8221; dengan konfigurasi Partisi tunggal.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bin\/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic rumahweb<\/code><\/pre>\n\n\n\n<p>Output&nbsp; :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Created topic \"rumahweb\".<\/code><\/pre>\n\n\n\n<p>Kita dapat melihat topic yang kita buat sebelumya melalui zookeeper.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bin\/kafka-topics.sh --list --zookeeper localhost:2181\n\nOutput :\nrumahweb<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Pengujian Apache Kafka<\/h2>\n\n\n\n<p><strong>Test 1. Mengirim pesan menggunakan Kafka.<\/strong><\/p>\n\n\n\n<p>Untuk mengirimkan massage secara broadcast maka kita harus menjalankan console terminal sebagai &#8220;producer&#8221; dan memilih topic sebagai target, Kita akan mengirimkan pesan broadcast marketing layanan Vps RumahWeb<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bin\/kafka-console-producer.sh --broker-list localhost:9092 --topic rumahweb\n\n&gt;VPS KVM Rumahweb\n\n&gt;vps murah dengan datcenter terbaik (konten)\n\n&gt;<\/code><\/pre>\n\n\n\n<p><strong>Test 2. Pengujian pesan melalui consumer.<\/strong><\/p>\n\n\n\n<p>Login sebagai consumer untuk melihat data yang telah dikirimkan oleh Kafka.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bin\/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic rumahweb --from-beginning\n\n\nOutput :\nVPS KVM Rumahweb\nvps murah dengan datcenter terbaik<\/code><\/pre>\n\n\n\n<p>Sampai step ini, kafka telah berhasil diinstal dan dijalankan. kita dapat mengintegrasikan Kafka ke dalam aplikasi program lainnya menggunakan klien Kafka.<\/p>\n\n\n\n<p>Demikian artikel kami tentang apa itu apache kafka hingga cara install di VPS Ubuntu. Semoga bermanfaat. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apache Kafka adalah sebuah platform distribusi streaming yang dirancang untuk mengatasi masalah pengolahan data secara real-time dalam skala besar. Lalu apa fungsi dan bagaimana cara install Apache Kafka di VPS Linux? Selengkapnya bisa Anda simak pada artikel berikut. Pada awal era BigData, pengolahan data secara realtime dan berkelanjutan dapat menggunakan sistem berbasis query seperti Hive [&hellip;]<\/p>\n","protected":false},"author":349,"featured_media":40186,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[177],"tags":[819,2019,703],"class_list":{"0":"post-39929","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-vps","8":"tag-apache","9":"tag-apache-kafka","10":"tag-ubuntu"},"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2023\/06\/Banner-Apache-Kafka-Adalah-Definisi-Fungsi-dan-Cara-Install-di-VPS-Linux.png","jetpack_shortlink":"https:\/\/wp.me\/p8n3G7-ao1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/39929","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/users\/349"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/comments?post=39929"}],"version-history":[{"count":0,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/39929\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media\/40186"}],"wp:attachment":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media?parent=39929"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/categories?post=39929"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/tags?post=39929"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}