본문 바로가기

윈도우즈 개발 환경

Kafka

다운로드 및 설치

공식홈 Apache Kafka에서 다운받아 압축 풀기

 

Zookeeper

zookeeper.properties
### 로컬환경이라 디렉토리 변경 ###
dataDir=./tmp/zookeeper/
admin.enableServer=false
### 로컬환경이라 포트를 변경하여 추가 ###
clientPort=2181

tickTime=1000
initLimit=5
syncLimit=2

server.1=127.0.0.1:2801:3801
server.2=127.0.0.1:2802:3802
server.3=127.0.0.1:2803:3803
#운영의 경우 일반적으로 아이피가 다름. 같은 서버 또는 POD에 설치할 경우 클러스터링 의미가 퇴색됨
#server.1=xxx.x.x.11:2888:3888
#server.2=xxx.x.x.12:2888:3888
#server.3=xxx.x.x.13:2888:3888
zookeeper1.properties
### 로컬환경이라 디렉토리 변경 ###
dataDir=./tmp/zookeeper1/
admin.enableServer=false
### 로컬환경이라 포트를 변경하여 추가 ###
clientPort=2182

tickTime=1000
initLimit=5
syncLimit=2

server.1=127.0.0.1:2801:3801
server.2=127.0.0.1:2802:3802
server.3=127.0.0.1:2803:3803
zookeeper2.properties
### 로컬환경이라 디렉토리 변경 ###
dataDir=./tmp/zookeeper2/
admin.enableServer=false
### 로컬환경이라 포트를 변경하여 추가 ###
clientPort=2183

tickTime=1000
initLimit=5
syncLimit=2

server.1=127.0.0.1:2801:3801
server.2=127.0.0.1:2802:3802
server.3=127.0.0.1:2803:3803

 

실행

원래 윈도우에서는 C:\kafka>bin\windows\zookeeper-server-start.bat config\zookeeper.properties 같은 방식으로 실행을 하면 되는데, 3 node 실행 시, 각각의 dataDir 폴더 내부에 myid 라는 파일을 만들어 1,2,3 이라는 아이디를 부여해야 함.

 

아래는 git-scm을 설치하여 git bash를 통하여 실행한 예제

echo "starting zookeeper 0"
./bin/zookeeper-server-start.sh config/zookeeper.properties

echo "starting zookeeper 1"
./bin/zookeeper-server-start.sh config/zookeeper1.properties

echo "starting zookeeper 2"
./bin/zookeeper-server-start.sh config/zookeeper2.properties

 


Kafka

server.properties
############################# Server Basics #############################
broker.id=3

############################# Socket Server Settings #############################
listeners=PLAINTEXT://0.0.0.0:9093
advertised.listeners=PLAINTEXT://127.0.0.1:9093
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600

############################# Partitions #############################
num.partitions=1
num.recovery.threads.per.data.dir=1

############################# Internal Topic Settings  #############################
### 각각의 숫자는 개발의 경우 1 검증/운영은 3을 권장 ###
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1

############################# Log Basics #############################
### 개발 환경이라 경로가 겹치지 않도록 변경 ###
log.dirs=./tmp/kafka1-logs

############################# Log Flush Policy #############################
#log.flush.interval.messages=10000
#log.flush.interval.ms=1000

############################# Log Retention Policy #############################
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000

############################# Zookeeper #############################
zookeeper.connect=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183
zookeeper.connection.timeout.ms=18000

############################# Group Coordinator Settings #############################
group.initial.rebalance.delay.ms=0

# 운영의 경우 아래 옵션 활성화
#default.replication.factor = 3
#min.insync.replicas = 2
#auto.create.topics.enable=false
#queued.max.requests=500
#delete.topic.enable=false
#unclean.leader.election.enable=false
server1.properties
############################# Server Basics #############################
broker.id=1

############################# Socket Server Settings #############################
listeners=PLAINTEXT://0.0.0.0:9091
advertised.listeners=PLAINTEXT://127.0.0.1:9091
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600

############################# Partitions #############################
num.partitions=1
num.recovery.threads.per.data.dir=1

############################# Internal Topic Settings  #############################
### 각각의 숫자는 개발의 경우 1 검증/운영은 3을 권장 ###
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1

############################# Log Basics #############################
### 개발 환경이라 경로가 겹치지 않도록 변경 ###
log.dirs=./tmp/kafka2-logs

############################# Log Flush Policy #############################
#log.flush.interval.messages=10000
#log.flush.interval.ms=1000

############################# Log Retention Policy #############################
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000

############################# Zookeeper #############################
zookeeper.connect=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183
zookeeper.connection.timeout.ms=18000

############################# Group Coordinator Settings #############################
group.initial.rebalance.delay.ms=0
server2.properties
############################# Server Basics #############################
broker.id=2

############################# Socket Server Settings #############################
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://127.0.0.1:9092
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600

############################# Partitions #############################
num.partitions=1
num.recovery.threads.per.data.dir=1

############################# Internal Topic Settings  #############################
### 각각의 숫자는 개발의 경우 1 검증/운영은 3을 권장 ###
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1

############################# Log Basics #############################
### 개발 환경이라 경로가 겹치지 않도록 변경 ###
log.dirs=./tmp/kafka3-logs

############################# Log Flush Policy #############################
#log.flush.interval.messages=10000
#log.flush.interval.ms=1000

############################# Log Retention Policy #############################
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000

############################# Zookeeper #############################
zookeeper.connect=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183
zookeeper.connection.timeout.ms=18000

############################# Group Coordinator Settings #############################
group.initial.rebalance.delay.ms=0

 

실행

zookeeper와 마찬가지로 git bash에서 실행을 추천

echo "starting kafka 0"
./bin/kafka-server-start.sh config/server.properties

echo "starting kafka 1"
./bin/kafka-server-start.sh config/server1.properties

echo "starting kafka 2"
./bin/kafka-server-start.sh config/server2.properties

'윈도우즈 개발 환경' 카테고리의 다른 글

Redis  (0) 2023.03.22
Nginx  (0) 2023.03.22
Eclipse  (0) 2023.03.22