본문 바로가기
[AWS]/Kafka

[Kafka 클러스터 환경 구축] 4강. Kafka 설치 및 환경설정

by METAVERSE STORY 2022. 11. 22.
반응형
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
# 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

 

 

 

 

반응형
그리드형

댓글