안녕하세요 가야태자 @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)
[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit