[개발이야기#076] 메시지 기반 처리 서비스 - apache kafka 싱글 노드 설치 실패기 T.T

in kr •  23 hours ago 


안녕하세요 가야태자 @talkit 입니다.

@talkit.bank 서비스와 talkitsteem 프로젝트를 진행하고 있는데 이 프로그램들의 제어를 위해서 메시지 기반 처리 서비스를 생각하고 있습니다.

일단, Apache Kafka가 Java 기반 이라서 우선 Java를 설치 해 주어야 합니다.

Java가 여러 버전이 있지만, Java 8을 제가 UI 프로젝트에서 사용할꺼기 때문에 하나의 JDK를 사용한다는 측면에서 Java 8을 설치 하겠습니다.

Java 설치

JAVA 8 설치

sudo apt update 
sudo apt install openjdk-8-jdk

우분투하고 친해지고 있어서 ^^

위와 같이 설치 합니다.

Java 설치 확인

ubuntu@instance-20250105-2029:~$ java -version
openjdk version "1.8.0_442"
OpenJDK Runtime Environment (build 1.8.0_442-8u442-b06~us1-0ubuntu1~24.04-b06)
OpenJDK 64-Bit Server VM (build 25.442-b06, mixed mode)
ubuntu@instance-20250105-2029:~$ javac -version
javac 1.8.0_442
ubuntu@instance-20250105-2029:~$

Java 1.8이 잘 설치 되었습니다.

Kafaka 설치

Kafka 설치 폴더 생성 및 이동

mkdir kafka
cd kafka

Kafka 다운로드 및 압축 해제

wget https://downloads.apache.org/kafka/3.5.1/kafka_2.13-3.5.1.tgz 
tar -xzf kafka_2.13-3.5.1.tgz 
cd kafka_2.13-3.5.1

다운로드 속도가 느리네요 ^^

Zookeepr 및 Kafka 실행

Java 8 기반의 Kafka 3.5.1은 ZooKeeper 라는 시스템과 함께 돌아 갑니다.

그리고, 내장 되어 있습니다. 따로 ZooKeeper 까셔도 상관 없습니다.

Zookeeper 실행

nohup bin/zookeeper-server-start.sh config/zookeeper.properties &

Kafka Borker 실행

nohup bin/kafka-server-start.sh config/server.properties &

이제 두 서버를 전부 실행해서 실제로 동작 하는지 확인 해봐야 합니다.

Kafka 테스트

Topic 생성

데이터베이스에 테이블에 해당하는 것이 Topic 입니다. Topic을 생성해 보겠습니다.

bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1

지금 싱글 노드여서 ^^

T.T 일단 토픽 생성이 안됩니다. ^^

앗 이게 되어야하는데 T.T

MySQL IaaS에 있는 내용을 개발서버로 이전하려고 했는데 말이죠 T.T

기본적으로 1GB의 메모리가 필요하다고 하네요.

저걸 좀 줄여서해보려고 해도.

ubuntu@instance-20250105-2029:~/kafka/kafka_2.13-3.5.1$ free -m
               total        used        free      shared  buff/cache   available
Mem:             956         780         139           1         189         176
Swap:              0           0           0\

할당된 메모리가 약 1GB인데 T.T 저기 보시다 싶이 176MB 밖에 없어서

일단 줄여서 실행을 해보겠습니다. 이서버에서는 못돌릴지도 모르겠습니다.

T.T

KAFKA_HEAP_OPTS="-Xmx128M -Xms64M"

Kafka로 진행을 해보려고 했는데 안될 것 같습니다.

최소 사양이 아래와 같다네요 ^^

CPU 2개이상 메모리 2GB 이상 가상메모리 4GB이상 HDD 10GB이상 

제가 Oracle에서 받은 장비는 CPU 1개 메모리 1GB 가상메모리 0 HDD 50GB 입니다.

HDD 빼고는 최소 사양을 넘기는게 없네요 T.T

개발이야기 007. talkit.bank 개발 서버 준비를 위한 데이터베이스 이야기 — Steemit

위글에서 말한 실패기 입니다.

오늘은 Kafka를 포기하고 저 위에는 글처럼 만들어 봤습니다.

그런 내일 적도록 하겠습니다.

감사합니다.



Posted through the ECblog app (https://blog.etain.club)

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.