반응형
728x170
## Apache Kafka 3.1.0 설치
## Kafka 환경변수 설정
## Kafka 사용자 환경변수 설정
- Xmx (최대 사용하는 메모리) : 512 메가바이트
- Xms (최소 사용하는 메모리) : 512 메가바이트
## Kafka 홈 디렉토리 소유권 변경
## Kafka server.properties 설정
# EC2 Ubuntu terminal
cd $KAFKA_HOME/config
vim server.properties
# 아래 내용 수정 후 저장
broker.id=1
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://kafka01:9092
log.dirs=/usr/local/kafka/logs
zookeeper.connect=kafka01:2181,kafka02:2181,kafka03:2181/my-kafka-cluster # znode root 디렉토리 하위에 클러스터를 구성하기 위함
# log 디렉토리 생성
mkdir -p /usr/local/kafka/logs
## ssh key 생성 (EC2 끼리 ssh통신을 하기 위함)
: 이후 클러스터 내에 인스턴스끼리 ssh 통신이 가능하도록 한다.
# EC2 Ubuntu terminal
# ssh key 생성
ssh-keygen -t rsa # 이후 Enter만 세 번 입력 탁! 탁! 탁!
# authorized_keys 생성
cat >> ~/.ssh/authorized_keys < ~/.ssh/id_rsa.pub
# localhost 접속 테스트
ssh localhost
# Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
=====================================================================
- Apache Kafka 3.1.0 설치
# EC2 Ubuntu terminal
# 설치 관리용 디렉토리 이동
cd /install_dir
# Kafka 3.1.0 설치
sudo wget <https://downloads.apache.org/kafka/3.1.0/kafka_2.13-3.1.0.tgz>
# Kafka 3.1.0 압축 해제
sudo tar -xzvf kafka_2.13-3.1.0.tgz -C /usr/local
# Kafka 디렉토리 이름 변경
sudo mv /usr/local/kafka_2.13-3.1.0 /usr/local/kafka
- Kafka 환경변수 설정
# EC2 Ubuntu terminal
# Kafka 시스템 환경변수 설정
sudo vim /etc/environment
# 아래 내용 추가 후 저장
KAFKA_HOME="/usr/local/kafka"
# 시스템 환경변수 활성화
source /etc/environment
# Kafka 사용자 환경변수 설정
echo 'export KAFKA_HOME=/usr/local/kafka' >> ~/.bashrc
echo 'export KAFKA_HEAP_OPTS="-Xmx512m -Xms512m"' >> ~/.bashrc
# 사용자 환경변수 활성화
source ~/.bashrc
- Kafka 홈 디렉토리 소유권 변경
# Kafka 디렉토리 사용자 그룹 변경
sudo chown -R $USER:$USER /usr/local/kafka
- Kafka server.properties 설정
# EC2 Ubuntu terminal
cd $KAFKA_HOME/config
vim server.properties
# 아래 내용 수정 후 저장
broker.id=1
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://kafka01:9092
log.dirs=/usr/local/kafka/logs
zookeeper.connect=kafka01:2181,kafka02:2181,kafka03:2181/my-kafka-cluster # znode root 디렉토리 하위에 클러스터를 구성하기 위함
# log 디렉토리 생성
mkdir -p /usr/local/kafka/logs
- Kafka server.properties 설명
- broker.id : 각 서버에서 실행할 Kafka broker의 고유 id 값이다.
- listeners : Kafka broker가 내부적으로 바인딩 하는 주소이다.
- adveritsed.listeners : Kafka 프로튜서, 컨슈머에게 노출할 주소이다.
- log.dirs : Kafka 의 로그 데이터를 저장 관리하는 디렉토리 경로를 지정한다.
- zookeeper.connect : Kafka의 고가용성을 보장하는 Zookeeper의 연결 주소를 “,” 을 구분자로 넣는다.
- ssh key 생성
: 이후 클러스터 내에 인스턴스끼리 ssh 통신이 가능하도록 한다.
# EC2 Ubuntu terminal
# ssh key 생성
ssh-keygen -t rsa # 이후 Enter만 세 번 입력 탁! 탁! 탁!
# authorized_keys 생성
cat >> ~/.ssh/authorized_keys < ~/.ssh/id_rsa.pub
# localhost 접속 테스트
ssh localhost
# Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
반응형
그리드형
'[AWS] > Kafka' 카테고리의 다른 글
[Kafka 클러스터 환경 구축] 8강. Topic, Producer, Consumer, Partition, Replica 설명 및 테스트 (0) | 2022.11.23 |
---|---|
[Kafka 클러스터 환경 구축] 7강. Kafka, Zookeeper 실행 (0) | 2022.11.23 |
[Kafka 클러스터 환경 구축] 6강. Host 및 클러스터 환경설정 (0) | 2022.11.22 |
[Kafka 클러스터 환경 구축] 5강.AMI 생성 및 인스턴스 복제 (0) | 2022.11.22 |
[Kafka 클러스터 환경 구축] 3강. Zookeeper 설치 및 환경설정 (0) | 2022.11.21 |
[Kafka 클러스터 환경 구축] 2강. Java 설치 및 환경설정 (0) | 2022.11.17 |
[Kafka 클러스터 환경 구축] 1강 AWS EC2 인스턴스 배포 (0) | 2022.11.17 |
[AWS] Kafka서비스란 무엇인가 (1) | 2022.11.15 |
댓글