이제 kafka를 설치해보겠습니다.
window, linux 두 가지 환경에 각각 설치해보도록 하겠습니다.
window
먼저 kafka 공식 사이트에서 kafak를 다운로드 합니다.
그리고 한 가지 알아두어야 할 점은 kafka는 JVM 위에서 동작하기 때문에 JDK가 설치되어 있어야 합니다. (JDK8 이상)
파일을 압축해제 한 후 적당한 곳에 옮긴 후 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
'Kafka' 카테고리의 다른 글
Producer (0) | 2023.04.03 |
---|---|
kafka CLI 사용하기 - kafka-console-consumer.(sh | bat) (0) | 2023.03.28 |
kafka CLI 사용하기 - kafka-console-producer.(sh | bat) (0) | 2023.03.28 |
kafka CLI 사용하기 - kafka-topics.(sh | bat) (0) | 2023.03.28 |
kafka 시작하기 (0) | 2023.03.27 |
댓글