Kafka 구축 memo

오랭·2022년 4월 1일
0
post-thumbnail

kafka 구축이라고 하면 가슴아픈 기억이 난다. 한창 처음 팀에 있을 때 아무것도 모를 때 개발기 카프카가 터졌다. 온갖 서비스 팀에서 찾아와서 뭐가 안된다, 돌려놔라, 왜그러냐 공개적 집단 구타를 맞았다. 이때 부터 였을까 내 맷집이 강해진 건... 암튼 뭐 어쩌겠는가 우리 팀 일이라는데 고쳐줘야지 하고 카프카 구축을 시작했다. 생각보다 구축하는 것 자체는 하루만에 끝났다. 근데 테스트가 정상이 아니다. VM을 복사떠서 snapshot까지 찍어두고 다시 만들고 되돌리고... 그거 일주일 반복하고 테스트 방법이 잘못되었음을 깨닫고 결국 맨 처음 구축이 잘된것이었다는 것을 알게되었다. 그래도 팀에서 아무도 구축할 줄 모르니 다른 일 다 미뤄두고 그걸 시키지.. 지금에서야 뭔들 구축하라하면 설명서보고 에러로그보고 뚱땅뚱땅 만드는데 그때는 어쩜 그리 버벅거렸는지 모르겠다. 그때를 회상하며 당시 울면서 정리해 놓은 것을 정리하려고 한다.

OS : Ubuntu 20.04


필요하다면 apt HTTP Proxy를 설정한다.

sudo vi /etc/apt/apt.conf
Acquire::http::proxy "http://ip_address:port/";

당시 개발기가 인터넷 연결이 되지않아 apt proxy를 정해진 ip로 우회해야 했다.

sudo apt-get update
sudo apt-get install openjdk-8-jdk
 
 
ryeom@DEV-RYEOMTEST-KAFKA-01:/usr/local/share$ java -version
openjdk version "1.8.0_282"
OpenJDK Runtime Environment (build 1.8.0_282-8u282-b08-0ubuntu1~20.04-b08)
OpenJDK 64-Bit Server VM (build 25.282-b08, mixed mode)
ryeom@DEV-RYEOMTEST-KAFKA-01:/usr/local/share$ javac -version
javac 1.8.0_282

java는 openjdk로 설치를 한다.

wget https://dlcdn.apache.org/kafka/3.0.0/kafka_2.13-3.0.0.tgz 

 

sudo mv ka--- /usr/local/share
sudo tar -xzf kafka_2.13-3.0.0.tgz
cd kafka_2.13-3.0.0

파일을 직접 다운 받아 서버에 넣어주는 것이 좋다. (나중에 어느 버전을 사용했는지 까먹거나 해당 버전이 없어질 수도 있음)

mkdir -p /data/zookeeper
mkdir -p /var/log/kafka


sudo vi /data/zookeeper/myid
1 2 3

서버당 아이디를 부여해야한다. 나중에 zookeeper session에 list형태로 저장된다.

## zookeeper settings
cd /usr/local/share/kafka_2.13-3.0.0/config
vi zookeeper.properties


# option 변경 혹은 추가
dataDir=/data/zookeeper
clientPort=2181
maxClientCnxns=0
 
 
initLimit=5
syncLimit=2
 
server.1=1번서버Ip:2888:3888
server.2=2번서버Ip:2888:3888
server.3=3번서버Ip:2888:3888


# brokers settings
vi server.properties
 
 
broker.id=1		# 브로커 아이디는 서버마다 다르게 변경 1,2,3
log.dirs=/var/log/kafka
advertised.host.name=ip
zookeeper.connect=ip1:2181,ip2:2181,ip3:2181
delete.topic.enable=true # 삭제 시 옵션

작성중...

profile
호기심천국

0개의 댓글