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
$PATH
ortam 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-jdk
Tamamlandığı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)shell
sudo 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.tgz
4. İ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.properties
adresindekizookeeper.properties
dosyasını düzenleyin vedataDir=/your/path/to/data/zookeeper
parametresini isteğidiğiniz bir dizin olarak ayarlayın- Zookeeper'ı yukarıda gösterildiği gibi
zookeeper.properties
dosyasını kullanarak yeniden başlatın. - Ayrıca
zookeeper.properties
dosyası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.properties
adresindekiserver.properties
dosyasını düzenleyin velog.dirs=/your/path/to/data/kafka
parametresini isteğidiğiniz bir dizin olarak ayarlayın- Yukarıda gösterildiği gibi
server.properties
dosyasını kullanarak Zookeeper'ı yeniden başlatın. - Ayrıca
server.properties
dosyası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.