Kafka cluster setup on ubuntu 18.04

LORY
2 min readAug 3, 2020

--

Single node setup

apt install default-jre

wget https://archive.apache.org/dist/kafka/2.2.0/kafka_2.12-2.2.0.tgz

tar -xzf kafka_2.12–2.2.0.tgz

cd kafka_2.12–2.2.0

#start zk

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

#start kafka

bin/kafka-server-start.sh config/server.properties

#create a topic

bin/kafka-topics.sh — create — zookeeper localhost:2181 — replication-factor 1 — partitions 1 — topic first_topic

#list topic

bin/kafka-topics.sh — list — zookeeper localhost:2181

#produce a message

echo “hello” | bin/kafka-console-producer.sh — broker-list localhost:9092 — topic first_topic > /dev/null

#consume the message

bin/kafka-console-consumer.sh — bootstrap-server localhost:9092 — topic first_topic — from-beginning

Now Cluster, what are we going to setup

2 VM : 192.168.11.137(server1), 192.168.11.138(server2)

2 kafka installation (server1, server2)

1 zookeeper (server1)

Download the same tar file

tar -xzf kafka_2.12–2.2.0.tgz

cd kafka_2.12–2.2.0

modify setting

sudo nano /config/server.properties

change below lines(broker.id and listener ip is unique)

Broker.id=2

Zookeer.connect = 192.168.11.137:2181

listeners=PLAINTEXT://192.168.11.138:9092

run zookeeper on first server (192.168.11.137, will make zookeeper cluster next time).

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

start kafka server2(Connect to remote zookeeper)

bin/kafka-server-start.sh config/server.properties

Create second topic for cluster

sudo bin/kafka-topics.sh — create — zookeeper 192.168.11.137:2181 — replication-factor 2 — partitions 1 — topic second_topic

Run producer (connect to server 1)

sudo ./bin/kafka-console-producer.sh — broker-list 192.168.11.137:9092 — topic second_topic

produce some message to test

Now start 2 consumer

Consumer 1

Consumer 2

You may try create producer connect to server 2 (192.168.11.138).

--

--

LORY
LORY

Written by LORY

A channel which focusing on developer growth and self improvement

No responses yet