일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- Oracle 윈도우 설치
- Oracle 18c HR schema
- Oracle Express Edition
- Orace 18c
- 오라클 캐릭터셋 변경
- ORA-00922
- 서평단
- 오라클 캐릭터셋 조회
- 무료 오라클 설치
- Oracle 18c HR
- Oracle 사용자명
- ORA-12899
- Oracle 18c 설치
- Oracle 사용자명 입력
- Oracle 초기 사용자
- 윈도우 Oracle
- Oracle 테이블 대소문자
- 비전공자를 위한 데이터베이스 입문
- oracle
- 무료 오라클 데이터베이스
- Oracle 테이블 띄어쓰기
- 오라클 캐릭터셋 확인
- oracle 18c
- ora-01722
- Today
- Total
The Nirsa Way
[Apache Kafka] 리눅스에 카프카 설치하기 본문
리눅스에 카프카 설치하기
현재 저는 VMware에 리눅스 서버(Rocky 9.6)를 준비해두었으며 테스트를 위한 서버이므로 selinux, firewalld를 모두 disabled 해두었습니다. 우선 kafka의 바이너리를 다운로드 받기 위해 vim, wget, tar을 설치해두겠습니다.
dnf -y install vim wget tar
※ 만약 자바가 설치되어 있지 않은 경우 설치 진행
저의 경우 dnf -y install java-17-openjdk java-17-openjdk-devel -y 을 입력하여 jdk 17을 설치해두었습니다.
이후 https://downloads.apache.org/kafka/ 으로 이동하여 원하는 버전의 폴더를 클릭합니다. (저는 3.9.0으로 진행하겠습니다)
소스 다운로드와 바이너리 다운이 모두 있는데, 저는 바이너리 다운로드를 설치하기 위해 kafka_2.12-3.9.0.tgz로 진행 합니다. 우클릭하여 "링크 주소 복사"를 클릭하여 주소를 복사해두세요.
※ 소스 다운로드 vs 바이너리 다운로드 참고
https://www.reddit.com/r/learnprogramming/comments/287kx9/what_is_the_difference_between_downloading/
또는 https://kafka.apache.org/downloads 에서 지원되는 릴리스 버전을 확인하실 수 있습니다.
wget 커맨드를 사용하여 복사해두었던 주소를 붙여넣기 후 tgz 파일을 다운로드 받습니다.
tar을 사용하여 카프카의 압축을 해제하고 해당 디렉토리를 /usr/local로 이동해두겠습니다.
tar -zxvf kafka_2.12-3.9.0.tgz
mv kafka_2.12-3.9.0 /usr/local/
이후 KRaft 메타데이터를 저장하기 위한 디렉토리를 생성하고 클러스터 설정을 위해 config/kraft/server.properties를 vim으로 열어주세요.
mkdir -p /data/kafka-data/kraft-combined-logs
cd /usr/local/kafka_2.12-3.9.0
vim config/kraft/server.properties
해당 파일의 localhost 부분을 카프카 서버의 아이피로 변경해주세요.
이후 78 라인에 log.dirs를 제거 또는 주석처리 해주시고 로그 경로를 방금 생성했던 /data/kafka-data/kraft-combined-logs 으로 변경해주세요. 변경 후 :wq! 를 입력하여 저장 후 나옵니다.
이제 클러스터 ID 생성 및 초기화를 진행합니다.
KAFKA_CLUSTER_ID="$(bin/kafka-storage.sh random-uuid)"
echo "Cluster ID: $KAFKA_CLUSTER_ID"
bin/kafka-storage.sh format -t $KAFKA_CLUSTER_ID -c config/kraft/server.properties
이제 기본적인 설치는 되었으니 카프카를 실행해주세요.
bin/kafka-server-start.sh config/kraft/server.properties
카프카 테스트
이로써 카프카의 기본적인 설치는 끝낫으며 설치 커맨드가 잘 되어있어 리눅스를 잘 다루지 못하시는 분들도 쉽게 설치할 정도의 난이도였던 것 같습니다.
이제 잘 설치가 되었는지 콘솔에서 테스트를 진행할텐데, 이후 메시지 전송 및 수신을 확인하기 위해 쉘을 2개 더 킨 다음 아래 메시지를 입력하여 정상적으로 설치되었는지 확인하시면 됩니다.
한쪽의 쉘에선 Producer 커멘드를, 반대쪽의 쉘에선 Consumer의 커멘드를 입력하여 테스트하시면 됩니다.
# Producer
/usr/local/kafka_2.12-3.9.0/bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092
# Consumer
/usr/local/kafka_2.12-3.9.0/bin/kafka-console-consumer.sh --topic test-topic --bootstrap-server localhost:9092 --from-beginning
위에서 입력한 쉘스크립트 및 옵션들에 대한 설명은 아래와 같습니다.
- kafka-console-producer.sh : 콘솔에서 메시지를 직접 입력하여 토픽에 전송하는 CLI 도구
- kafka-console-consumer.sh : 콘솔에서 메시지를 토픽에서 수신하여 콘솔에 출력하는 CLI 도구
- --topic test-topic : 메시지를 전송할 Kafka 토픽 이름 (test-topic)
- --bootstrap-server localhost:9092 : 브로커 주소
- --from-beginning : 토픽의 가장 처음(offset 0)부터 모든 메시지를 읽기 위한 옵션