Reference : https://link2me.tistory.com/2088
$ systemctl status docker $ sudo apt install docker-compose (ubuntu)
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose (centos)
$ sudo chmod +x /usr/local/bin/docker-compose
$ sudo usermod -aG docker {사용자명}$ docker-compose up -d : 실행
$ docker ps : 컨테이너 실행 여부 확인
$ docker-compose down / docker-compose stop : 종료
$ docker exec -it kafka bash : kafka container 접속
$ bash# vi /opt/kafka/config/server.properties : kafka server 설정 값 변경
> listeners=PLAINTEXT://:9092> delete.topic.enable=true$ docker stop kafka
$ docker start kafka
$ docker exec -it kafka bash : kafka container 접속
$ bash# cd /opt/kafka/bin : kafka shell 파일이 있는 위치로
producer console 활용하여 msg 전송
$ bash# kafka-console-producer.sh --topic test --broker-list localhost:9092
- > This is a test msg
consumer console 활용하여 msg 확인
$ bash# kafka-console-consumer.sh --topic test --bootstrap-server localhost:9092 --from-beginning
- > This is a test msg
이와 같은 msg 확인 되면 테스트 완료
Project와 연동
- producer <-> kafka 연동
## 설치
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install openjdk-11-jdk
## 설치 확인
$ javac -version
## 환경 설정
$ sudo apt-get install gedit
$ sudo vi ~/.bashrc
$ export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
$ source ~/.bashrc # bashrc 변경 사항 적용
## 설치
$ sudo wget https://downloads.apache.org/kafka/3.0.2/kafka_2.13-3.0.2.tgz
# 압축해제
$ sudo tar xzf kafka_2.13-3.0.2.tgz
# zookeeper 데몬 등록
$ sudo vim /etc/systemd/system/zookeeper.service
* zookeeper.service
[Unit]
Description=Apache Zookeeper service
Documentation=http://zookeeper.apache.org
Requires=network.target remote-fs.target
After=network.target remote-fs.target
[Service]
Type=simple
ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties
ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal
[Install]
WantedBy=multi-user.target
# kafka 데몬 등록
$ sudo vim /etc/systemd/system/kafka.service
* kafka.service
[Unit]
Description=Apache Kafka Service
Documentation=http://kafka.apache.org/documentation.html
Requires=zookeeper.service
[Service]
Type=simple
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
ExecStop=/opt/kafka/bin/kafka-server-stop.sh
[Install]
WantedBy=multi-user.target
참고 https://bkjeon1614.tistory.com/634
방화벽 설정
- systemctl start firewalld
- firewall-cmd --permanent --zone=public --add-port=9092/tcp
- firewall-cmd --reload
__consumer_offsets:1:3 의미
- 1 : partition number
- 3 : offset number