Apache Kafka Nasıl Kurulur ve Kullanılır? Kolay Adımlarla Başlayın

Apache Kafka kurulum ve kullanımını anlatan rehber. Kafka ile veri akışını yönetmeyi öğrenin.

BFS

Apache Kafka Nedir?



Apache Kafka, veri akışını yöneten güçlü bir açık kaynaklı sistemdir. İlk başta büyük bir veritabanı yönetim sistemi gibi düşünebilirsiniz, ancak Kafka çok daha fazlasını yapabilir. Verileri hızlıca gönderip alabileceğiniz, yüksek hacimli verileri işleyebileceğiniz bir platformdur. Özellikle zaman serisi verilerini toplamak ve işlemek için mükemmel bir tercihtir. Kafka'yı kullanarak sistemleriniz arasındaki veri akışını yönetebilir, verilerinizi etkin bir şekilde iletebilirsiniz.

Kafka’yı Neden Kullanmalısınız?



Kafka’nın gücünü en iyi, büyük veri sistemlerinin ihtiyaçlarını karşılamak için nasıl kullanıldığını anlamaya çalışarak keşfedebilirsiniz. Geleneksel veri akış sistemleri genellikle veriyi bir noktadan başka bir noktaya taşırken, Kafka bunu gerçek zamanlı ve yüksek verimlilikle yapar. Hem veriyi taşırken hem de işlediği verilerin güvenliğini sağlarken size büyük esneklik sunar.

Eğer ki internet üzerinden veri toplamak, sensör verileri işlemek veya mikro servisler arasında hızlı veri aktarımı yapmak istiyorsanız, Apache Kafka bir “can simidi” olabilir. Bunun yanında Kafka'nın yatay olarak ölçeklenebilir olması ve büyük verilerle mükemmel bir uyum içinde çalışması, onu piyasadaki diğer veri akış yönetim araçlarından ayırır.

Apache Kafka Kurulumu: Adım Adım Rehber



Apache Kafka’yı kurmak aslında düşündüğünüz kadar karmaşık değil. Yalnızca birkaç basit adımda, hem yerel ortamda hem de üretim ortamında Kafka’yı çalıştırmaya başlayabilirsiniz. Hazırsanız, gelin ilk adımlara birlikte göz atalım!

1. Java Kurulumu

Kafka’yı kullanabilmek için ilk olarak Java’nın sisteminizde kurulu olması gerekiyor. Çünkü Kafka Java dilinde yazılmıştır ve çalışabilmesi için Java runtime environment’a ihtiyaç duyar. Eğer Java’yı henüz yüklemediyseniz, aşağıdaki komutla Java’yı yükleyebilirsiniz:

sudo apt install openjdk-11-jre


2. Kafka ve Zookeeper İndirme

Kafka’yı indirmek için Apache’nin resmi web sitesini ziyaret etmelisiniz. Zookeeper, Kafka ile birlikte gelir ve Kafka’nın dağıtık sistem yönetimini sağlar. Zookeeper’ı ayrıca kurmanıza gerek yok, çünkü Kafka her şeyi sizin için halleder.

Kafka’yı indirmek için şu komutu kullanabilirsiniz:

wget https://archive.apache.org/dist/kafka/2.8.1/kafka_2.13-2.8.1.tgz


3. Kafka’yı Çıkarma ve Başlatma

İndirdiğiniz Kafka dosyasını çıkartarak ilgili dizine geçiş yapabilirsiniz. Şimdi, Kafka ve Zookeeper’ı başlatmak için aşağıdaki komutları sırasıyla çalıştırabilirsiniz.

Kafka’yı çıkartmak için:

tar -xvzf kafka_2.13-2.8.1.tgz


Kafka dizinine geçmek için:

cd kafka_2.13-2.8.1


Zookeeper’ı başlatmak için:

bin/zookeeper-server-start.sh config/zookeeper.properties


Kafka’yı başlatmak için:

bin/kafka-server-start.sh config/server.properties


Bu adımlar, Kafka’yı ve Zookeeper’ı çalıştırarak veri akışına başlamak için ihtiyacınız olan her şeyi sağlar. Şimdi verilerinizi Kafka’ya göndermeye ve almaya hazırsınız!

Apache Kafka Kullanımı: Veri Gönderme ve Alma



Kafka’yı kullanarak veri gönderme ve alma işlemleri oldukça basittir. Kafka, veriyi “topic” adı verilen konularda organize eder. Bu topic’lere mesaj gönderebilir ve oradan mesaj alabilirsiniz.

1. Mesaj Göndermek (Producer)

Kafka’ya veri göndermek için bir “producer” kullanırsınız. Producer, Kafka’ya veri yazan bileşendir. Şimdi bir producer oluşturalım ve verimizi Kafka’ya gönderelim.

import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.clients.producer.ProducerRecord;
import java.util.Properties;

public class ProducerExample {
    public static void main(String[] args) {
        Properties props = new Properties();
        props.put("bootstrap.servers", "localhost:9092");
        props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
        props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");

        KafkaProducer producer = new KafkaProducer<>(props);

        producer.send(new ProducerRecord("my-topic", "key", "Hello Kafka!"));
        producer.close();
    }
}


Yukarıdaki kod parçası, “my-topic” adlı bir topic’e "Hello Kafka!" mesajını gönderen basit bir Kafka producer’ıdır.

2. Mesaj Almak (Consumer)

Verileri Kafka’dan almak için bir “consumer” kullanılır. Kafka consumer’ı, bir topic’ten veri alır ve işler.

import org.apache.kafka.clients.consumer.KafkaConsumer;
import java.util.Properties;
import java.util.Arrays;

public class ConsumerExample {
    public static void main(String[] args) {
        Properties props = new Properties();
        props.put("bootstrap.servers", "localhost:9092");
        props.put("group.id", "test");
        props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
        props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");

        KafkaConsumer consumer = new KafkaConsumer<>(props);
        consumer.subscribe(Arrays.asList("my-topic"));
        
        while (true) {
            consumer.poll(100).forEach(record -> System.out.println(record.value()));
        }
    }
}


Bu kod, Kafka’daki "my-topic" topic’inden verileri alır ve ekrana yazdırır.

Sonuç



Apache Kafka, verilerinizi hızlı ve güvenli bir şekilde yönetmenize yardımcı olacak harika bir araçtır. Adım adım kurulum ve kullanım rehberimize göz attığınızda, Kafka’nın size sunduğu olanakları çok daha rahat bir şekilde kullanmaya başlayacaksınız. Şimdi Kafka’yı keşfetmeye ve veri akışınızı yönetmeye başlayın!

İlgili Yazılar

Benzer konularda diğer yazılarımız

Yapay Zeka ile Veritabanı Yönetimi: Geleceğin Veri Tabanlarını Bugünden Keşfedin

Günümüzde teknoloji hızla ilerliyor ve bu ilerleme, veritabanı yönetimini de derinden etkiliyor. Ancak bir soru var: “Veritabanları nasıl daha verimli, güvenli ve hızlı hale getirilebilir?” Cevap aslında çok yakın: Yapay zeka! Evet, veritabanı yönetimi...

Karmaşık Veritabanı Yönetiminde Yeni Nesil Çözümler: Mikroservisler ile Veri Bütünlüğü ve Performans Optimizasyonu

Karmaşık Veritabanı Yapılarına Yenilikçi YaklaşımDijital dönüşümün hızla ilerlediği günümüzde, işletmeler daha büyük veri kümeleriyle başa çıkabilmek için sürekli yenilik arayışında. Geleneksel monolitik veritabanı yapıları, zamanla bu büyüyen veriye...

Linux'ta MySQL Veritabanı Yönetimi: Temelden İleriye Yolculuk

Linux'ta MySQL Veritabanı Yönetimi: Başlangıç NoktanızBir zamanlar, Linux'ta veritabanı yönetimi bana oldukça karmaşık geliyordu. Veritabanı dünyasına ilk adım attığımda, her şey bana bir labirent gibi görünüyordu. Ancak zamanla, Linux üzerinde MySQL...