Kafka-集群安装

Kafka-集群安装

官方文档

部署主机

1
2
3
172.31.34.25   aws-sit-app-01  
172.31.43.98 aws-sit-app-03
172.31.43.45 aws-sit-app-04

zookeeper配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
##重命名配置文件
mv conf/zoo_sample.cfg conf/conzoo.cfg
#编辑
vim conf/zoo.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/zkdata
clientPort=2181
server.1=172.31.34.25:2888:3888
server.2=172.31.43.98:2888:3888
server.3=172.31.43.45:2888:3888

#上面这段server.A=B:C:D中
#A代表的就是每个节点中myid文件中的编号
#B代表的是节点的服务地址
#C代表这个服务器 Follower 与集群中的 Leader 服务器交换信息的端口
#D代表是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用#来执行选举时服务器相互通信的端口

#创建myid文件,每个节点id是唯一
mkdir -p /data/zookeeper/zkdata;echo 1>/data/zookeeper/zkdata/myid
mkdir -p /data/zookeeper/zkdata;echo 2>/data/zookeeper/zkdata/myid
mkdir -p /data/zookeeper/zkdata;echo 3>/data/zookeeper/zkdata/myid

## 启动脚本
#!/bin/sh

export JAVA_HOME=/data/soft/jdk1.8.0_301
export PATH=$JAVA_HOME/bin:$PATH

ROOT_PATH=/data/zookeeper

$ROOT_PATH/bin/zkServer.sh start

## 检查
./bin/zkServer.sh status

kafka配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
## 修改配置文件
vi confile/server.properties

#broker.id不重复
broker.id=0
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/data/kafka/kafka-logs
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=60
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=172.31.34.25:2181,172.31.43.98:2181,172.31.43.45:2181
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0
# 自动创建topic
auto.create.topics.enable=true

## 启动脚本

#!/bin/bash
export JAVA_HOME=/data/soft/jdk1.8.0_301
export PATH=$JAVA_HOME/bin:$PATH

ROOT_PATH=/data/kafka

$ROOT_PATH/bin/kafka-server-start.sh -daemon $ROOT_PATH/config/server.properties

调试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
## 创建topic
bin/kafka-topics.sh --create --topic quickstart-events1 --bootstrap-server 172.31.34.25:9092,172.31.43.98:9092,172.31.43.45:9092
bin/kafka-topics.sh --describe --topic quickstart-events1 --bootstrap-server 172.31.34.25:9092,172.31.43.98:9092,172.31.43.45:9092

## 往topic写入信息
$ bin/kafka-console-producer.sh --topic quickstart-events1 --bootstrap-server 172.31.34.25:9092,172.31.43.98:9092,172.31.43.45:9092
1
2

## 读取信息
$ bin/kafka-console-consumer.sh --topic quickstart-events1 --from-beginning --bootstrap-server 172.31.34.25:9092,172.31.43.98:9092,172.31.43.45:9092
1
2

bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server localhost:9092
bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server localhost:9092