Linux Apache Kafka Kurulumu
                    Apache Kafka, data streaming söz konusu olduğunda bir standart olarak akla gelen ilk isimdir. Yüksek uyumluluk, dayanıklılık ve kullanım kolaylığı sebebiyle Linux üzerinde kullanılmasını tavsiye ediyoruz.
Apacha Kafka kurulumumuz toplam 6 adımdan oluşmaktadır.
- Java JDK 11'in kurulması
 - Apache Kafka'nın https://kafka.apache.org/downloads adresinden indirilmesi
 - Arşiv dosyasının çıkarılması
 - Kafka binary dosyalarına kolay erişim için 
$PATHortam değişkenlerinin ayarlanması - Zookeeper'ın binary dosyalarıyla başlatılması
 - Kafka'nın binary dosyalarıyla başlatılması
 
1. Java JDK 11 Kurulumu
Apache Kafka'yı Linux'a yüklemek için Java 11 gereken tek ön koşuldur. Kurulum için;
- Amazon Corretto 11 Linux kurulum sayfasına gidin ve Debian, RPM, Alpine ve Amazon Linux için çalışan adımları izleyin. Alternatif olarak, Amazon Corretto 11 indirme sayfasından indirebilir ve Linux dağıtımınız için doğru paketi (x64, aarch64, x86, arch32, vb...) yükleyebilirsiniz.
 - Örneğin Ubuntu'da (Debian tabanlı sistemler) aşağıdaki komutları kullanabilirsiniz.
 
wget -O- https://apt.corretto.aws/corretto.key | sudo apt-key add - 
sudo add-apt-repository 'deb https://apt.corretto.aws stable main'
sudo apt-get update; sudo apt-get install -y java-11-amazon-corretto-jdkTamamlandığında, java -version komutu ile Java versiyonunu kontrol edebilirsiniz. Aşağıdaki gibi benzer bir çıktı almalısınız:
openjdk version "11.0.10" 2021-01-19 LTS
OpenJDK Runtime Environment Corretto-11.0.10.9.1 (build 11.0.10+9-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.10.9.1 (build 11.0.10+9-LTS, mixed mode)shellsudo alternatives --config java komutu ile sistemdeki Java versiyonunu değiştirebilirsiniz. Eğer JDK kullanıyorsanız ayrıca sudo alternatives --config javac komutunu da kullanmalısınız.2. Apache Kafka Kurulumu
- Apache Kafka'nın en son sürümünü https://kafka.apache.org/downloads adresinden Binary downloads altına gidin.
 - Binary downloads bölümünden herhangi bir versiyon linkine sağ tıklayın ve bağlantı adresini kopyalayın (en son Scala sürümünün seçilmesi tercih edilir - örnek 2.13).
 

3. Wget komutuyla dosyayı sunucunuza indirin
wget https://archive.apache.org/dist/kafka/3.0.0/kafka_2.13-3.0.0.tgz4. İndirdiğiniz dosyayı istediğiniz bir dizine çıkarın, örneğin ~/kafka_2.13-3.3.1 .
tar xzf kafka_2.13-3.3.1.tgz
mv kafka_2.13-3.3.1 ~5. Bir shell açın ve Apache Kafka'nın dizinine gidin. Bu örnekte, Kafka yüklemesinin ~/kafka_2.13-3.3.1 dizinine çıkarıldığını varsayacağız.
3. $PATH Ortam Değişkeninin Ayarlanması
Kafka binary dosyalarına kolayca erişmek için, sistem komutlarınıza aşağıdaki satırı ekleyerek PATH değişkeninizi düzenleyebilirsiniz. Örneğin, zshrc kullanıyorsanız ~/.zshrc veya Bash için ~/.bashrc dosyalarına aşağıdaki satırı ekleyiniz:
PATH="$PATH:~/kafka_2.13-3.3.1/bin"Bu, artık kafka komutlarını prefix koymadan çalıştırabilmenizi sağlar. Shell'i yeniden yükledikten sonra (mevcut terminali kapatıp yeni bir terminal açarak veya source ~/.bashrc komutu ile), sıradaki kafka komutları herhangi bir dizinde çalışır olacaktır.
Startup dosyaları hakkında daha detaylı bilgi almak için 2dk şu yazımızı okuyup geri dönebilirsiniz:
4. Zookeeper'ı Başlatma
Apache Kafka, cluster yönetimi için Zookeeper'a bağlıdır. Bu nedenle, Kafka'yı başlatmadan önce Zookeeper başlatılmalıdır. Apache Kafka ile birlikte geldiği için Zookeeper'ı ayrıca yüklemeye gerek yoktur.
Zookeeper'ı başlatmak için Apache Kafka'nın bulunduğu dizini referans alarak aşağıdaki komutu çalıştırın:
zookeeper-server-start.sh ~/kafka_2.13-3.3.1/config/zookeeper.properties
-daemon parametresini kullanabilirsiniz.5. Apache Kafka'yı Başlatma
Başka bir shell penceresi açın ve Apache Kafka'yı başlatmak için Apache Kafka'nın bulunduğu dizini referans alarak aşağıdaki komutu çalıştırın.
kafka-server-start.sh ~/kafka_2.13-3.3.1/config/server.properties
Her iki shell penceresini de açık tuttuğunuzdan emin olun, aksi takdirde Kafka veya Zookeeper'ı kapatırsınız.
6. [Opsiyonel] Kafka ve Zookeeper Veri Depolama Dizinini Değiştirme
Zookeeper için:
~/kafka_2.13-3.3.1/config/zookeeper.propertiesadresindekizookeeper.propertiesdosyasını düzenleyin vedataDir=/your/path/to/data/zookeeperparametresini isteğidiğiniz bir dizin olarak ayarlayın- Zookeeper'ı yukarıda gösterildiği gibi 
zookeeper.propertiesdosyasını kullanarak yeniden başlatın. - Ayrıca 
zookeeper.propertiesdosyasının bir kopyasını bilgisayarınızda herhangi bir yerde oluşturabilir ve bunun yerine bu dosyayı düzenleyebilir ve yukarıda gösterilen Zookeeper start komutunda bu dosyaya başvurabilirsiniz. 
Kafka için:
~/kafka_2.13-3.3.1/config/server.propertiesadresindekiserver.propertiesdosyasını düzenleyin velog.dirs=/your/path/to/data/kafkaparametresini isteğidiğiniz bir dizin olarak ayarlayın- Yukarıda gösterildiği gibi 
server.propertiesdosyasını kullanarak Zookeeper'ı yeniden başlatın. - Ayrıca 
server.propertiesdosyasının bilgisayarınızın herhangi bir yerinde bir kopyasını oluşturabilir ve bunun yerine bu dosyayı düzenleyebilir ve yukarıda gösterilen Zookeeper start komutunda bu dosyaya başvurabilirsiniz. 
        