본문 바로가기
Kafka

kafka 설치

by Soono991 2023. 3. 27.

이제 kafka를 설치해보겠습니다.

 

window, linux 두 가지 환경에 각각 설치해보도록 하겠습니다.

 

window

먼저 kafka 공식 사이트에서 kafak를 다운로드 합니다.

그리고 한 가지 알아두어야 할 점은 kafka는 JVM 위에서 동작하기 때문에 JDK가 설치되어 있어야 합니다. (JDK8 이상)

 

https://kafka.apache.org/documentation/#quickstart

파일을 압축해제 한 후 적당한 곳에 옮긴 후 zookeeper, kafka를 순서대로 실행합니다.

 

zookeeper에 대해서는 추후 따로 정리해보도록 하겠습니다.

 

 

 

zookeeper 실행

kafka server를 실행하기 전에 반드시 zookeeper를 먼저 실행해야 합니다.

# cd {압축 풀었던 kafka 폴더}

# cd C:\dev\kafka\kafka_2.13-3.4.0

# .\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties
[2023-03-27 23:16:10,965] INFO Configuring NIO connection handler with 10s sessionless connection timeout, 2 selector thread(s), 32 worker threads, and 64 kB direct buffers. (org.apache.zookeeper.server.NIOServerCnxnFactory)
[2023-03-27 23:16:10,968] INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory)
[2023-03-27 23:16:10,979] INFO Using org.apache.zookeeper.server.watch.WatchManager as watch manager (org.apache.zookeeper.server.watch.WatchManagerFactory)
[2023-03-27 23:16:10,980] INFO Using org.apache.zookeeper.server.watch.WatchManager as watch manager (org.apache.zookeeper.server.watch.WatchManagerFactory)
[2023-03-27 23:16:10,980] INFO zookeeper.snapshotSizeFactor = 0.33 (org.apache.zookeeper.server.ZKDatabase)
[2023-03-27 23:16:10,981] INFO zookeeper.commitLogCount=500 (org.apache.zookeeper.server.ZKDatabase)
[2023-03-27 23:16:10,991] INFO zookeeper.snapshot.compression.method = CHECKED (org.apache.zookeeper.server.persistence.SnapStream)
[2023-03-27 23:16:10,992] INFO Snapshotting: 0x0 to \tmp\zookeeper\version-2\snapshot.0 (org.apache.zookeeper.server.persistence.FileTxnSnapLog)
[2023-03-27 23:16:10,995] INFO Snapshot loaded in 14 ms, highest zxid is 0x0, digest is 1371985504 (org.apache.zookeeper.server.ZKDatabase)
[2023-03-27 23:16:10,996] INFO Snapshotting: 0x0 to \tmp\zookeeper\version-2\snapshot.0 (org.apache.zookeeper.server.persistence.FileTxnSnapLog)
[2023-03-27 23:16:10,998] INFO Snapshot taken in 2 ms (org.apache.zookeeper.server.ZooKeeperServer)
[2023-03-27 23:16:11,007] INFO PrepRequestProcessor (sid:0) started, reconfigEnabled=false (org.apache.zookeeper.server.PrepRequestProcessor)
[2023-03-27 23:16:11,008] INFO zookeeper.request_throttler.shutdownTimeout = 10000 (org.apache.zookeeper.server.RequestThrottler)
[2023-03-27 23:16:11,018] INFO Using checkIntervalMs=60000 maxPerMinute=10000 maxNeverUsedIntervalMs=0 (org.apache.zookeeper.server.ContainerManager)
[2023-03-27 23:16:11,019] INFO ZooKeeper audit is disabled. (org.apache.zookeeper.audit.ZKAuditProvider)

위와 같은 로그가 출력되면 성공입니다.

 

zookeeper-server-start.bat
→ zookeeper 서버를 실행하는 파일입니다.

zookeeper.properties
→ zookeeper 서버 설정 파일입니다.
→ 추가 설정 정보는 공식 문서를 참고하시면 좋을 것 같습니다.

 

kafka 실행

zookeeper 서버가 실행되어 있는 상태에서 cmd를 하나 더 열어 kafka 서버를 실행합니다.

# cd {압축 풀었던 kafka 폴더}

# cd C:\dev\kafka\kafka_2.13-3.4.0

# .\bin\windows\kafka-server-start.bat .\config\server.properties
kafka-server-start.bat
→ kafka 서버를 실행하는 파일입니다.

server.properties
→ kafka 서버 설정 파일입니다.
→ 추가 설정 정보는 공식 문서를 참고하시면 좋을 것 같습니다.

 

💡TIP💡

위와 같이 cmd창을 2개를 실행하여 zookeeper, kafka를 실행했는데 매번 이렇게 실행하기는 번거로울 것입니다.
이럴 경우 bat 파일을 만들어서 번거로움을 줄일 수 있습니다.

 

bat 파일 만들어서 zookeeper, kafka 실행

앞서 zookeeper, kafka 실행 시 사용했던 명령어들을 텍스트 파일로 작성합니다.

 

저는 kafka를 저장했던 폴더에 같이 저장해두었습니다.

이제 txt 파일의 확장자를 bat으로 변경합니다.

그런 뒤 순서에 맞게 zookeeper.bat, kafka.bat을 실행하면 정상적으로 실행되는 것을 확인할 수 있습니다.

 

 

linux

ubuntu에서 kafka를 설치해보도록 하겠습니다.

ubuntu의 경우 wget을 사용하여 kafka 설치 파일을 다운로드 합니다.

 

// kafka 다운로드

# wget http://mirror.apache-kr.org/kafka/3.4.0/kafka-3.4.0-src.tgz

// 압축 해제

# tar -xzf kafka-3.4.0-src.tgz

 

그리고 그 전에 JDK를 확인 후 설치해야 합니다.

 

// java 설치 확인

# java --version

// java 설치

# sudo apt-get install openjdk-11-jdk

 

 

 

window에서 bat 파일을 만들었던 것처럼 ubuntu에서도 shell 파일을 만들어서 명령어 하나로 zookeeper, kafka가 실행될 수 있도록 해보겠습니다.

 

// zoo_start.sh 파일 생성 & 편집

vi zoo_start.sh

// 명령어 작성
{kafka 저장 경로}/bin/zookeeper-server-start {kafka 저장 경로}/etc/kafka/zookeeper.properties

ex)
kafka 저장 경로: ~/
~/bin/zookeeper-server-start ~/etc/kafka/zookeeper.properties

// 저장
:wq

// kafka_start.sh 파일 생성 & 편집

vi kafka_start.sh

// 명령어 작성
{kafka 저장 경로}/bin/kafka-server-start {kafka 저장 경로}/etc/kafka/server.properties

ex)
kafka 저장 경로: ~/
~/bin/kafka-server-start ~/etc/kafka/server.properties

// 저장
:wq

 

 

댓글