kafka multi broker 만들기

## 멀티브로커 만들기

# 1. 2개의 노드를 만들기 위해서 2개의 설정을 만들기
cp config/server.properties config/server-1.properties
cp config/server.properties config/server-2.properties

# 아래처럼 두개의 노드를 수정합니다.
조심할점은 host.name 을 꼭 넣어야 한다는것 입니다.
안넣으면 설정은 되도 컨슈머나 프로듀서가 안붙음..
config/server-1.properties:
broker.id=1
port=9093
host.name=150.183.8.240
log.dirs=/tmp/kafka-logs-1

config/server-2.properties:
broker.id=2
port=9094
host.name=150.183.8.241
log.dirs=/tmp/kafka-logs-2

## 기존에 한개의 노드는 돌고 있는 상태 입니다.

# 2. 번째 노드를 띄웁니다.
bin/kafka-server-start.sh config/server-1.properties

# 3. 번째 노드를 띄웁니다.
bin/kafka-server-start.sh config/server-2.properties

# 3개의 노드에 토픽을 만들어 줍니다. 토픽 명은 “test-replica” 입니다.
bin/kafka-topics.sh –create –zookeeper localhost:2181 –replication-factor 3 –partitions 1 –topic test-replica

# 3토픽의 상태를 알아 봅시다.
bin/kafka-topics.sh –describe –zookeeper localhost:2181 –topic test-replica

# 내용은 아래와 같을껍니다.
Topic:test-replica PartitionCount:1 ReplicationFactor:3 Configs:
Topic: test-replica Partition: 0 Leader: 0 Replicas: 0,2,1 Isr: 0,2,1

# “Leader” 는 책임있는 master 노드 입니다. 물론 해당 노드를 죽이고 나면 다른 노드가 리더가 됩니다.
# “Replicas” 는 리더와 상관없이 구성된 노드 목록들을 보여 줍니다.
# “Isr” 은 현재 살아있는 노드 목록을 보여줍니다.
# 숫자는 config에 준 broker.id 입니다.

# 이제 프로듀서 테스트
bin/kafka-console-producer.sh –broker-list localhost:9092 –topic test-replica

# 컨슈머 테스트
bin/kafka-console-consumer.sh –zookeeper localhost:2181 –from-beginning –topic test-replica

  • Facebook
  • Google Plus
  • Twitter
  • LinkedIn
  • Pinterest
  • Tumblr
  • Instapaper
  • Delicious