728x90
SMALL
1. 글을 쓰게 된 계기
자체 서버에
kafka, zookeeper, kafka-ui를 설치하기 위한 방법을 정리하려고 한다.
구축전 작성하는 내용을 먼저 정리하자면
유저의 이름과 그룹이름이 jongsky:jongsky라고 가정한다.
버전과 포트는 아래와 같고 kafka-ui는 id는 admin pw는 pass로 설정했다.
- zookeeper
- version: 3.7.2
- port: 2181
- kafka
- version: 3.7.1
- port: 9092
- kafka-ui
- version: 0.7.2
- port: 6180
2. 구축 방법
1. 시스템 업데이트 및 Java 설치
먼저, 시스템을 업데이트하고 OpenJDK 17을 설치합니다.
sudo apt update && sudo apt upgrade -y
sudo apt install openjdk-17-jdk -y
java -version
2. Zookeeper 설치
Zookeeper를 다운로드하고 설치합니다.
wget https://downloads.apache.org/zookeeper/zookeeper-3.7.2/apache-zookeeper-3.7.2-bin.tar.gz
tar -xzf apache-zookeeper-3.7.2-bin.tar.gz
sudo mv apache-zookeeper-3.7.2-bin /usr/local/zookeeper
sudo mkdir -p /usr/local/zookeeper/data
sudo chown -R jongsky:jongsky /usr/local/zookeeper
sudo chmod -R 700 /usr/local/zookeeper/data
Zookeeper 설정 파일을 수정합니다.
sudo vi /usr/local/zookeeper/conf/zoo.cfg
tickTime=2000
dataDir=/usr/local/zookeeper/data
clientPort=2181
3. Kafka 설치
Kafka를 다운로드하고 설치합니다.
wget https://downloads.apache.org/kafka/3.7.1/kafka_2.13-3.7.1.tgz
tar -xzf kafka_2.13-3.7.1.tgz
sudo mv kafka_2.13-3.7.1 /usr/local/kafka
sudo mkdir -p /var/lib/kafka/data
sudo chown -R jongsky:jongsky /usr/local/kafka
sudo chown -R jongsky:jongsky /var/lib/kafka
sudo chmod -R 700 /var/lib/kafka/data
Kafka 설정 파일을 수정합니다.
sudo vi /usr/local/kafka/config/server.properties
다음 내용을 수정하거나 추가합니다.
broker.id=1
log.dirs=/var/lib/kafka/data
zookeeper.connect=localhost:2181
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://localhost:9092
port=9092
4. Kafka UI 설치
Kafka UI를 설치하기 위해 Kafka UI를 다운로드하고 설정합니다.
wget https://github.com/provectus/kafka-ui/releases/download/v0.7.2/kafka-ui-api-v0.7.2.jar
sudo mkdir /usr/local/kafka-ui/
sudo mv kafka-ui-api-v0.7.2.jar /usr/local/kafka-ui/
sudo chown -R jongsky:jongsky /usr/local/kafka-ui
sudo chmod -R 700 /usr/local/kafka-ui
Kafka UI 설정 파일을 생성합니다.
sudo vi /usr/local/kafka-ui/application.yml
다음 내용을 추가합니다.
server:
port: 6180
kafka:
clusters:
- name: local
bootstrapServers: localhost:9092
zookeeper: localhost:2181
auth:
type: LOGIN_FORM
enabled: true
spring:
security:
user:
name: jongsky
password: 123456789a
5. Systemd 서비스 설정
Zookeeper 서비스 파일 생성
sudo vi /etc/systemd/system/zookeeper.service
다음 내용을 추가합니다.
[Unit]
Description=Zookeeper Service
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/zookeeper/bin/zkServer.sh start-foreground
ExecStop=/usr/local/zookeeper/bin/zkServer.sh stop
User=jongsky
Group=jongsky
Restart=on-abnormal
[Install]
WantedBy=multi-user.target
Kafka 서비스 파일 생성
sudo vi /etc/systemd/system/kafka.service
다음 내용을 추가합니다.
[Unit]
Description=Kafka Service
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh
User=jongsky
Group=jongsky
Restart=on-abnormal
[Install]
WantedBy=multi-user.target
Kafka UI 서비스 파일 생성
sudo vi /etc/systemd/system/kafka-ui.service
다음 내용을 추가합니다.
[Unit]
Description=Kafka UI Service
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/java -jar /usr/local/kafka-ui/kafka-ui-api-v0.7.2.jar --spring.config.location=file:/usr/local/kafka-ui/application.yml
User=jongsky
Group=jongsky
Restart=on-abnormal
[Install]
WantedBy=multi-user.target
6. 서비스 활성화 및 시작
서비스를 활성화하고 시작합니다.
sudo systemctl daemon-reload
sudo systemctl enable zookeeper
sudo systemctl enable kafka
sudo systemctl enable kafka-ui
sudo systemctl start zookeeper
sudo systemctl start kafka
sudo systemctl start kafka-ui
7. 서비스 상태 확인 및 로그 보기
각 서비스를 다음 명령어로 관리할 수 있습니다.
Zookeeper
sudo systemctl status zookeeper
sudo systemctl restart zookeeper
sudo journalctl -u zookeeper -f
Kafka
sudo systemctl status kafka
sudo systemctl restart kafka
sudo journalctl -u kafka -f
Kafka UI
sudo systemctl status kafka-ui
sudo systemctl restart kafka-ui
sudo journalctl -u kafka-ui -f
728x90
LIST
'Come on IT > DevOps' 카테고리의 다른 글
Kubernetes(K8s) 완전 삭제하는 방법 (0) | 2024.09.27 |
---|---|
docker network 오류 시 확인 (feat. host) (0) | 2024.08.30 |
kafka, zookeeper, kafka-ui 완전 삭제 (0) | 2024.07.26 |
Docker-compose로 django 세팅하기 (1) | 2024.01.03 |
Docker 설치 in Ubuntu (1) | 2023.12.31 |