[CentOS] Apache Kafka 설치 및 사용 방법DevOps/Linux2022. 9. 17. 23:22
Table of Contents
반응형
아파치 카프카(Apache Kafka)는 아파치 소프트웨어 재단이 스칼라로 개발한 오픈 소스 메시지 브로커 프로젝트이다.
출처 : 위키백과
메시지 큐를 사용하여 동기화 서비스 및 대용량 분산 시스템을 구축하기 위해 Zookeeper 와 함께 Apache Kafka를 사용하는 경우가 있습니다. 리눅스 환경에서 설치 및 사용 방법에 대해 알아보겠습니다.
운영환경
CentOS 7.6
다운로드 및 설치
[root@localhost ~]$ cd /home/test
[root@localhost test]$ wget http://apache.mirror.cdnetworks.com/kafka/2.1.0/kafka_2.11-2.3.0.tgz
[root@localhost test]$ ln -s kafka_2.11-2.3.0 kafka
server.properties 수정
[root@localhost test]$ vim kafka/config/server.properties
# zookeeper 서버의 myid 값으로 설정
broker.id=1
#Broker가 받은 데이터를 관리위한 저장공간
log.dirs=/home/test/kafka-logs
#Broker가 사용하는 호스트와 포트를 지정
listeners=PLAINTEXT://0.0.0.0:9002
#Producer와 Consumer가 접근할 호스트와 포트를 지정, 기본값은 listeners를 사용
advertised.listeners=PLAINTEXT://192.168.24.10:9092
# zookeeper의 접속 정보
zookeeper.connect=192.168.24.7:2181
실행
[root@localhost test]$ cd kafka/bin
[root@localhost bin]$ ./kafka-server.start.sh ../config/server.properties
정상적으로 실행이 되면 아래와 같은 메시지가 뜹니다.
....중략....
[KafkaServer id=1] started (kafka.server.KafkaServer)
서비스 등록
마지막으로 kafka-server.service 라는 스크립트를 만들고 서비스에 등록합니다.
# 종료 후 서비스 등록
[root@localhost bin]$ ./kafka-server-stop.sh
[root@localhost bin]$ vi /etc/systemd/system/kafka.service
[Unit]
Description=kafka
After=network.target
[Service]
Type=simple
User=test
Group=test
SyslogIdentifier=kafka
WorkingDirectory=/home/test/kafka
Restart=always
RestartSec=0s
ExecStart=/home/test/kafka/bin/kafka-server-start.sh /home/test/kafka/config/server.properties
ExecStop=/home/test/kafka/bin/kafka-server-stop.sh
[Install]
WantedBy=multi-user.target
저장하고 나서 서비스를 재시작하고 카프카를 실행합니다. 정상적으로 실행되면 시스템 부팅 시 자동실행 설정을 지정합니다.
# 서비스 데몬 재시작
[root@localhost ~]$ systemctl daemon-reload
# 카프카 실행 (종료는 stop, 재시작은 restart)
[root@localhost ~]$ systemctl start kafka-server.service
# 실행상태 확인
[root@localhost ~]$ systemctl status kafka-server.service
# 시스템 부팅할때 자동실행 설정
[root@localhost ~]$ systemctl enable kafka-server.service
방화벽 설정
[root@localhost ~]$ firewall-cmd --permanent --zone=public --add-port=9092/tcp
# 방화벽 재시작
[root@localhost ~]$ firewall-cmd --reload
kafka topic 관리
topic 리스트
# 192.168.24.7는 zookeeper 접속 주소
[root@localhost ~]$ cd /home/test/kafka/bin
[root@localhost bin]$ ./kafka-topics.sh --list --zookeeper 192.168.24.7:2181
topic 생성
topic 명은 manager-out 로 설정하였습니다.
[root@localhost ~]$ cd /home/test/kafka/bin
[root@localhost bin]$ ./kafka-topics.sh --create --zookeeper 192.168.24.7:2181 --replication-factor 1 --partitions 5 --topic manager-out
[root@localhost bin]$ ./kafka-topics.sh --zookeeper 192.168.24.7:2181 --alter --topic manager-out --config retention.ms=600000
topic 삭제
[root@localhost bin]$ ./kafka-topics.sh --delete --zookeeper 192.168.24.7:2181 --topic manager-out
topic 상세정보
[root@localhost bin]$ ./kafka-topics.sh --describe --zookeeper 192.168.24.7:2181
반응형
'DevOps > Linux' 카테고리의 다른 글
[CentOS] 아파치 톰캣(Tomcat) 설치 및 사용 방법 (0) | 2022.09.18 |
---|---|
[CentOS] NFS 설치 및 설정 방법 (0) | 2022.09.17 |
[CentOS] Apache Zookeeper 설치 및 사용 방법 (0) | 2022.09.16 |
[CentOS] Proxy 서버를 사용한 내부망 yum 사용 방법 (0) | 2022.09.16 |
[CentOS] VNC 설치 및 사용 방법(오프라인 환경) (0) | 2022.09.16 |
@고지니어스 :: 규니의 개발 블로그
IT 기술과 개발 내용을 포스팅하는 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!