Môi trường
-
Ubuntu 18.4.0 LTS
-
Sử dụng Putty thay cho command line của WinSCP
-
kafka_2.11-2.3.1
-
JDK mới nhất
-
Download jdk
sudo apt insall default-jdk # hoặc sudo apt install default-jre
-
Check version của JDK trong Ubuntu
Hiện tại, khi sử dụng các command trên, tìm path của jdk như sau:
# update databse of ubuntu sudo updatedb # determine whether jdk is installed locate openjdk
-
Add Path của JDK vào trong
.bashrc
.export JAVA_HOME="usr/lib/jvm/java-11-openjdk-amd64" export PATH=$PATH:$JAVA_HOME/bin
Cập nhật lại thay đổi trong file
.bashrc
:source ~/.bashrc
-
Setup cho Kafka service
-
Chạy zookeeper service
-
Tạo file
zookeeper.service
trong systemd của Ubuntu.sudo nano /etc/systemd/system/zookeeper.service
-
Tạo nội dung của
zookeeper.service
.[Unit] Requires=network.target remote-fs.target After=network.target remote-fs.target [Service] Type=simple User=root ExecStart=/home/kafka/kafka_2.11-2.3.1/bin/zookeeper-server-start.sh /home/kafka/kafka_2.11-2.3.1/config/zookeeper.properties ExecStop=/home/kafka/kafka_2.11-2.3.1/bin/zookeeper-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target
-
Check zookeeper server đã chạy như service trong server chưa.
# cài đặt net-tools package sudo apt-get install net-tools # zookeeper server mặc định chạy ở port 2181 netstat -tulpn | grep 2181 # stop zookeeper service systemctl stop zookeeper
-
Run zookeeper.service.
# run as root user sudo su # use systemctl systemctl start zookeeper # run zookeper service automatically when starting system systemctl enable zookeeper
-
-
Chạy kafka service
-
Tạo file
kafka.service
trongsystemd
của Ubuntu.sudo nano /etc/systemd/system/kafka.service
-
Tạo nội dung của
kafka.service
.[Unit] Requires=zookeeper.service After=zookeeper.service [Service] Type=simple User=root ExecStart=/bin/sh -c '/home/kafka/kafka_2.11-2.3.1/bin/kafka-server-start.sh /home/kafka/kafka_2.11-2.3.1/config/server.properties > /home/kafka/kafka_2.11-2.3.1/kafka-logs/kafka-service-log.txt 2>&1' ExecStop=/home/kafka/kafka_2.11-2.3.1/bin/kafka-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target
-
Check kafka server đã chạy như service trong server chưa.
# cài đặt net-tools package sudo apt-get install net-tools # zookeeper server mặc định chạy ở port 9092 netstat -tulpn | grep 9092 # stop zookeeper service systemctl stop kafka
-
Run
kafka.service
.# run as root user sudo su # use systemctl systemctl start kafka # run kafka service automatically when starting system systemctl enable kafka
-
-
Xóa các service mà có status là failed
sudo systemctl reset-failed # or systemctl disable service_name rm /etc/systemd/system/service_name systemctl daemon-reload
Test
-
Tạo topic test
# create test topic bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test # check whether the test topic is created or not bin/kafka-topics.sh --list --zookeeper localhost:2181
-
Tạo producer
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
-
Tạo consumer
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic test
Tạo script file
```bash
sudo nano start.sh
# fill content for start.sh file
sudo systemctl reload-or-restart zookeeper.service
sudo systemctl reload-or-restart kafka.service
```