yeomko22 / TIL

Today I learned
1 stars 0 forks source link

kafka broker #105

Open yeomko22 opened 2 years ago

yeomko22 commented 2 years ago

설치

힙 메모리 설정

server.properties 설정

yeomko22 commented 2 years ago
# 실행하는 카프카 브로커 번호를 적는다. 클러스터 구축 시 브로커들을 구분하기 위해 단 하나뿐인 번호로 설정해야 한다. 중복 되면 안됨
broker.id=0

# 카프카 브로커가 통신을 위해 열어둘 인터페이스 IP, port, 프로토콜을 설정, 따로 설정 안할 시 모든 IP와 포트에서 접속 가능
# listeners=PLAINTEXT://:9092

# 카프카 클라이언트 또는 카프카 커맨드 라인 툴에서 접속 시 사용하는 IP와 포트 정보, 즉 외부에서 카프카 브로커 클러스터에 접속 시에 사용하는 주소 정보를 말한다.
advertised.listeners=PLAINTEXT://3.36.127.208:9092

# 보안 프로토콜 매핑을 위한 것, 이는 나중에 따로 모아서 한번에 정리할 것
#listener.security.protocol.map=PLAINTEXT:PLAINTEXT,SSL:SSL, SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL

# 네트워크를 통한 처리를 할 때 사용할 네트워크 스레드 개수 설정
num.network.threads=3

# io 처리를 할 떄 사용할 스레드 개수 설정
num.io.threads=8

# 카프카를 통해 가져온 데이터를 저장할 디렉터리
log.dirs=/tmp/kafka-logs

# 파티션 개수를 명시하지 않고 토픽을 생성할 때 기본 설정되는 파티션 개수, 파티션 개수가 많아지면 병렬 처리 데이터 양이 늘어난다.
num.partitions=1

# 카프카 브로커가 저장한 파일이 삭제되기까지 걸리는 시간을 설정 가능.
log.retention.hours=168

# 카프카 브로커가 저장할 파일의 최대 크기를 지정, 이 크기를 채우게 되면 새로 파일을 생성한다.
log.segment.bytes=1073741824

# 카프카 브로커가 저장한 파일을 삭제하기 위해 체크하는 간격을 지정
log.retention.check.interval.ms=300000

# 카프카 브로커와 연동할 주키퍼의 IP와 포트 설정
zookeeper.connect=localhost:2181

# 주키퍼 세션 타임아웃 지정
zookeeper.connection.timeout.ms=1800
yeomko22 commented 2 years ago

주키퍼 실행

$ bin/zookeeper-server-start.sh -daemon config/zookeeper.properties

브로커 실행

$ bin/kafka-server-start.sh -daemon config/server/properties
yeomko22 commented 2 years ago

로컬에서 카프카 클러스터 접근 확인

$ bin/kafka-broker-api-version.sh --bootstrap-server 3.36.127.208:9092