#2 Apache Kafka Centos 7 Kurulumu ve Kafka Manager Üzerinden Yönetilmesi
APACHE KAFKA KURULUMU
Bu yazımda Kafkanın 2.2.0 versiyonu için Centos 7 üzerine kurulup yapıp topic,partition, consumerların vs yönetimini Kafka Manager adlı bir opensource web uygulamasından sağlayacağız.
Apache Kafkayı kendi sitesinden indiriniz.
https://kafka.apache.org/quickstart
İndirdiğiniz kafka_2.12–2.2.0.tgz adlı dosyayı Centos 7 kurulu makinenizde home/download klasörüne atınız.
2.2.0 versiyonunda zipin içinde zookeeper otomatik geliyor ayrıca zookeeper indirmeye gerek yok.
Kurulma geçmeden önce Centos makinenizde Javanın kurulu olması gerekmektedir. Bunları öncelikle kuralım.
yum install java-1.8.0-openjdkyum install java-1.8.0-openjdk-devel
Daha sonra Centos makinemize attığımız kafkanın ziplenmiş halini Unzip kullarak açalım.
tar -xzf kafka_2.12-2.2.0.tgzcd kafka_2.12-2.2.0
Kafka Serverinin ayağa kalkması için Zookeepera ihtiyaç duymaktadır. Yeni bir terminal açıp öncelikle Zookeepera ayağa kaldıralım.
bin/zookeeper-server-start.sh config/zookeeper.properties
Daha sonra yeni bir terminal açarak kafka serverı ayağa kaldıralım.
bin/kafka-server-start.sh config/server.properties
Açtığınız iki terminalde zookeeper ve kafkanın ayakta durması için hiç bir işlem yapmayınız. Ctrl + C komutu ile hizmetleri durdurabilirsiniz.
Kafka Server — 9092 portunu kullanır.
Zookeper — 2181 portunu kullanır.
Kafka Manager — 9000 portunu kullanır.
Şimdi yeni terminal açıp sıfırdan bir topik oluşturup bu topiğe procuder dan mesaj atıp consumer tarafından bu mesajları çekelim.
Topik Oluşturma
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
Yukarda replication faktoru 1 ve partition sayısı 1 olan “test” adında bir topik oluşturduk. İlerideki uygulamarda replikasyon olayına değineceğiz. Eğer topiği birden fazla makinede yedekleme yaparsak replication faktorü değiştirmemiz gerekecek.
Varolan Topikleri Görüntüleme
bin/kafka-topics.sh --list --bootstrap-server localhost:9092 test
Topiklerin İçindeki Partitionları Görüntüleme
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test
# Command output
Topic:my-topic PartitionCount:1 ReplicationFactor:1 Configs:
Topic: test Partition: 0 Leader: 0 Replicas: 0 Isr: 0
Topik İçindeki Mevcut Partition Sayısını Arttırma
bin/kafka-topics.sh --alter --zookeeper localhost:2181 --topic test --partitions 3
NOT: Topik içindeki partition sayısı arttırılıyor olabilirken azaltma imkanı yoktur. Topici silip yeniden oluşturmanız gerekmektedir.
Producer Tarafı (Mesaj Gönderme)
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test This is a message This is another message
Consumer Tarafı (Mesajları dinleme)
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
This is a message
This is another message
KAFKA MANAGER KURULUMU
Kafka Manager kurduğumuz kafka serverin web arayüzünden yönetilmesini sağlamak amacıyla yapılmıştır.
Kuruluma başlamadan önce Kafka Managerin kullandığı portu açalım.
firewall-cmd --permanent --zone=public --add-port=9000/tcp
firewall-cmd --reload
home/download dizinindeyken git reposundan Kafka Manageri indirelim.
git clone https://github.com/yahoo/kafka-manager
İndirme yaptıktan sonra klasöre girip sbt üzerinden kurulumuna başlayalım.
cd kafka-manager
./sbt clean dist
Bu işlem biraz uzun sürebilir. İşlem bittikten sonra aşağıdaki konfigürasyon ayarlarınızı yapınız.
nano conf/application.conf
kafka-manager.zkhosts="localhost:2181"
Gerekli ayarları yaptıktan sonra “target > universal” klasörünün altındaki “kafka-manager-2.0.0.2.zip” paketini unzip komutu ile çıkartalım.
unzip target/universal/kafka-manager-2.0.0.2.zipcd kafka-manager-2.0.0.2
Artık kafka managerımızı çalıştırabiliriz.
bin/kafka-manager
Eğer arayüze erişemezseniz makinenizi yeniden başlatın. “reboot”
Ekran Görüntüleri