
Hosts dosyasını kendi yapınıza göre tüm hostlarda edit‘leyin.
10.10.10.01 kafka1
10.10.10.02 kafka2
10.10.10.03 kafka3
1- Java install
sudo apt install default-jre default-jdk
Zookeeper ve Kafka servisleri için kullanıcı tanımlayalım
sudo useradd -m kafka -s /usr/sbin/nologin
sudo useradd -m zookeeper -s /usr/sbin/nologin
2- Zookeeper kurulum ve yapılandırılması Tüm node‘ler aynı adımlar
cd /opt/
sudo wget https://dlcdn.apache.org/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz
sudo tar xzf apache-zookeeper-3.7.1-bin.tar.gz
sudo rm apache-zookeeper-3.7.1-bin.tar.gz
sudo mv apache-zookeeper-3.7.1-bin/conf/zoo_sample.cfg apache-zookeeper-3.7.1-bin/conf/zoo.cfg
sudo nano apache-zookeeper-3.7.1-bin/conf/zoo.cfg
dataDir=/var/zookeeper
clientPort=2181
server.1=10.10.10.01:2888:3888
server.2=10.10.10.02:2888:3888
server.3=10.10.10.03:2888:3888
sudo mkdir /var/zookeeper/ -p
Herbir node‘de farklı echo satırı yapılabilir.
#kafka1 node
sudo echo '1' >> /var/zookeeper/myid
#kafka2 node
sudo echo '2' >> /var/zookeeper/myid
#kafka3 node
sudo echo '3' >> /var/zookeeper/myid
Servisin düzgün çalışıp çalışmadığını manual olarak aşağıda ki komutlarla test edebilirsiniz, biz ayrıca systemd servisi haline getireceğiz
sudo /opt/apache-zookeeper-3.7.1-bin/bin/zkServer.sh start /opt/apache-zookeeper-3.7.1-bin/conf/zoo.cfg
sudo /opt/apache-zookeeper-3.9.0-bin/bin/zkServer.sh stop /opt/apache-zookeeper-3.7.1-bin/conf/zoo.cfg
Şimdi ilgili klasörlere zookeeper kullanıcısı için sahiplik yetkisi verelim.
sudo chown -R zookeeper:zookeeper /opt/apache-zookeeper-3.7.1-bin/
sudo chown -R zookeeper:zookeeper /var/zookeeper/
Zookeeper systemd servis dosyasını create edelim
sudo vi /lib/systemd/system/zookeeper.service
[Unit]
Description=Zookeeper Daemon
Documentation=http://zookeeper.apache.org
Requires=network.target
After=network.target
[Service]
Type=forking
WorkingDirectory=/opt/apache-zookeeper-3.7.1-bin
User=zookeeper
Group=zookeeper
ExecStart=/opt/apache-zookeeper-3.7.1-bin/bin/zkServer.sh start /opt/apache-zookeeper-3.7.1-bin/conf/zoo.cfg
ExecStop=/opt/apache-zookeeper-3.7.1-bin/bin/zkServer.sh stop /opt/apache-zookeeper-3.7.1-bin/conf/zoo.cfg
ExecReload=/opt/aapache-zookeeper-3.7.1-bin/bin/zkServer.sh restart /opt/apache-zookeeper-3.7.1-bin/conf/zoo.cfg
TimeoutSec=30
Restart=on-failure
[Install]
WantedBy=default.target
Service başalatalım
sudo systemctl daemon-reload
sudo systemctl start zookeeper.service
sudo systemctl enable zookeeper.service
sudo systemctl status zookeeper.service
3- Kafka kurulum ve yapılandırılması Tüm node‘ler aynı adımlar
cd /opt/
sudo wget https://dlcdn.apache.org/kafka/3.4.1/kafka_2.13-3.4.1.tgz
sudo tar xzf kafka_2.13-3.4.1.tgz
sudo rm kafka_2.13-3.4.1.tgz
Herbir node‘de farklı kafka config ayarı yapılır
sudo nano kafka_2.13-3.4.1/config/server.properties
kafka01 node
broker.id=1
advertised.host.name=kafka1
advertised.listeners=PLAINTEXT://kafka1:9092
zookeeper.connect=10.10.10.01:2181,10.10.10.02:2181,10.10.10.03:2181
default.replication.factor=3
#delete.topic.enable = true
kafka02 node
broker.id=2
advertised.host.name=kafka2
advertised.listeners=PLAINTEXT://kafka2:9092
zookeeper.connect=10.10.10.01:2181,10.10.10.02:2181,10.10.10.03:2181
default.replication.factor=3
#delete.topic.enable = true
kafka03 node
broker.id=3
advertised.host.name=kafka3
advertised.listeners=PLAINTEXT://kafka3:9092
zookeeper.connect=10.10.10.01:2181,10.10.10.02:2181,10.10.10.03:2181
default.replication.factor=3
Servisin düzgün çalışıp çalışmadığını manual olarak aşağıda ki komutlarla test edebilirsiniz, biz ayrıca systemd servisi haline getireceğiz.
sudo /opt/kafka_2.13-3.4.1/bin/kafka-server-start.sh /opt/kafka_2.13-3.4.1/config/server.properties
sudo /opt/kafka_2.13-3.4.1/bin/kafka-server-stop.sh /opt/kafka_2.13-3.4.1/config/server.properties
Şimdi ilgili klasöre kafka kullanıcısı için sahiplik yetkisi verelim.
sudo chown -R kafka:kafka /tmp/kafka-logs/
sudo chown -R kafka:kafka /opt/kafka_2.13-3.4.1/
Kafka systemd servis dosyasını create edelim
sudo nano /lib/systemd/system/kafka.service
[Unit]
Description=Kafka Daemon
Documentation=https://kafka.apache.org
Requires=zookeeper.service
After=zookeeper.service
[Service]
Type=simple
WorkingDirectory=/opt/kafka_2.13-3.4.1
User=kafka
Group=kafka
Environment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64"
ExecStart=/opt/kafka_2.13-3.4.1/bin/kafka-server-start.sh /opt/kafka_2.13-3.4.1/config/server.properties
ExecStop=/opt/kafka_2.13-3.4.1/bin/kafka-server-stop.sh /opt/kafka_2.13-3.4.1/config/server.properties
TimeoutSec=30
Restart=on-failure
[Install]
WantedBy=default.target
sudo systemctl daemon-reload
sudo systemctl start kafka.service
sudo systemctl enable kafka.service
sudo systemctl status kafka.service
CMAK kurulum ve yapılandırılması Tek host‘ta yapılması yeterlidir
cd /opt
sudo git clone https://github.com/yahoo/CMAK.git
cd CMAK/
vi /opt/CMAK/conf/application.conf
kafka-manager.zkhosts="10.10.10.01:2181,10.10.10.02:2181,10.10.10.03:2181"
cmak.zkhosts="10.10.10.01:2181,10.10.10.02:2181,10.10.10.03:2181"
./sbt clean dist
cd /opt/CMAK/target/universal
sudo unzip cmak-3.0.0.7.zip
cd cmak-3.0.0.7/
sudo bin/cmak -Dconfig.file=/root/CMAK/conf/application.conf -Dhttp.port=9000
Commentaires