본문 바로가기

빅데이터/Kafka

windows의 WSL환경에서 아파치 카프카 설치, 실행하는 방법

1) git 설치

https://git-scm.com/download/win

 

Git - Downloading Package

Download for Windows Click here to download the latest (2.39.2) 32-bit version of Git for Windows. This is the most recent maintained build. It was released 10 days ago, on 2023-02-14. Other Git for Windows downloads Standalone Installer 32-bit Git for Win

git-scm.com

상기 URL에서 windows용 git을 설치합니다.

2) WSL 환경 설치

Windows Subsystem for Linux는 리눅스 또는 맥환경처럼 bash쉘을 활용하는 것을 뜻합니다. 

https://learn.microsoft.com/ko-kr/windows/wsl/about

 

Linux용 Windows 하위 시스템이란?

다양한 버전 및 이를 사용하는 방법을 포함하여 Linux용 Windows 하위 시스템에 대해 알아봅니다.

learn.microsoft.com

기본적으로Windows 기능 켜기/끄기 로 가서 다음 내역을 활성화 합니다.

- Linux용 Windows 하위 시스템

- Windows 하이퍼바이저 플랫폼

- 가상 머신 플랫폼

아직까지는 터미널에서 bash를 쳐도 정상동작하지 않는점 참고.

다음으로 Ubuntu마이크로소프트 스토어에서 설치합니다.

다음으로 아래 링크에서 커널을 설치하세요.

이전 버전 WSL의 수동 설치 단계 | Microsoft Learn

 

이전 버전 WSL의 수동 설치 단계

wsl install 명령을 사용하지 않고 이전 버전의 Windows에 WSL을 수동으로 설치하는 방법에 대한 단계별 지침입니다.

learn.microsoft.com

이후에 터미널을 실행시키고 명령어를 실행할 때는 Bash 명령을 사용할 수 있습니다.

2) JDK 1.8 설치

터미널을 실행하고 bash를 입력하여 쉘을 변경합니다.

$ bash

이후에 아래 명령어를 실행하여 openjdk-8-jdk를 설치합니다.

$ sudo apt update
$ sudo apt install openjdk-8-jdk

 

설치가 완료되면 아래 명령어를 쳐서 openjdk-8-jdk가 잘 설치되었는지 확인합니다.

$ java -version

위 스크린샷과 같이 현재 자바 버전이 나오게 된다면 설치가 잘 된 것입니다.

 

3) 카프카 바이너리 파일 다운로드 및 압축 풀기

https://kafka.apache.org/downloads

 

Apache Kafka

Apache Kafka: A Distributed Streaming Platform.

kafka.apache.org

상기 url에서 카프카 바이너리파일을 다운로드할 수 있습니다. 여기서는 kafka 2.7.0을 다운로드하여 테스트합니다.

kafka_2.12-2.7.0.tgz를 다운로드, 압축을 풀고 적절한 디렉토리로 옮깁니다. 압축을 풀 때는 알집과 같은 도구를 사용해도 되고 아니면 터미널 환경에서 다음 명령어로 압축을 풀 수도 있습니다.

$ cd Downloads
$ tar -xvf kafka_2.12-2.7.0.tgz
$ ls
kafka_2.12-2.7.0
kafka_2.12-2.7.0.tgz

위와 같이 tgz와 디렉토리가 보인다면 정상적으로 압축이 풀렸다고 볼 수 있습니다.

 

4) 주키퍼, 카프카 브로커 실행하기

주키퍼는 다음 명령어로 실행 할 수 있습니다.

$ bin/zookeeper-server-start.sh config/zookeeper.properties
[2023-02-24 18:52:26,944] INFO Reading configuration from: config/zookeeper.properties (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
[2023-02-24 18:52:26,946] WARN config/zookeeper.properties is relative. Prepend ./ to indicate that you're sure! (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
[2023-02-24 18:52:26,951] WARN UserschocoDownloadskafka_2.12-2.7.0/zookeeper is relative. Prepend ./ to indicate that you're sure! (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
[2023-02-24 18:52:26,957] INFO clientPortAddress is 0.0.0.0:2181 (org.apa
...

 

이후에 새로운 탭에서 카프카 브로커를 다음 명령어로 실행합니다.

$ bin/kafka-server-start.sh config/server.properties
[2023-02-24 18:53:13,530] INFO Registered kafka:type=kafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$)
[2023-02-24 18:53:14,078] INFO Setting -D jdk.tls.rejectClientInitiatedRenegotiation=true to disable client-initiated TLS renegotiation (org.apache.zookeeper.common.X509Util)
...

 

5) 카프카 명령어 테스트하기

새로운 터미널 탭을 열고 카프카 바이너리 위치로 이동하여 다음 코드를 실행합니다.

$ bin/kafka-topics.sh --bootstrap-server localhost:9092 --topic test --create

실행이 잘 되었다면 다음과 같이 토픽 이름이 노출됩니다.

반응형