kafka集群

版本

kafka_2.12-3.0.0

集群规划

机器 ip
cdh1 172.16.100.63
cdh2 172.16.100.64
cdh3 172.16.100.71

配置服务器

  • 时间同步
  • 免密码登录
  • hosts
  • 关闭防火墙
  • 安装jdk

在所有服务器(cdh1,cdh2,cdh3)配置环境变量

把安装包上传到服务器

vi /etc/profile.d/kafka.sh

1
2
export KAFKA_HOME=/opt/hadoop/kafka/kafka_2.12-3.0.0
export PATH=$PATH:$KAFKA_HOME/bin

source /etc/profile.d/kafka.sh

在config目录下配置集群

vi server.properties

1
2
3
4
5
broker.id=0
listeners=PLAINTEXT://cdh1:9092
log.dirs=/tmp/kafka-logs
log.dirs=/opt/hadoop/kafka/kafka-logs
zookeeper.connect=cdh1:2181,cdh2:2181,cdh3:2181

broker.id 每个集群的id不能一样

把服务分发到每个服务器

分发之后别忘了改broker.id listeners=PLAINTEXT

1
2
scp -r kafka/ cdh2:/opt/hadoop/
scp -r kafka/ cdh3:/opt/hadoop/

启动

每台机器执行

1
kafka-server-start.sh -daemon /opt/hadoop/kafka/kafka_2.12-3.0.0/config/server.properties

启动完成后,查看zookeeper集群连接情况

1
2
3
4
5
6
7
8
9
10
# 链接zookeeper
$ zkCil.sh

# 查看brokers
$ ls /brokers
[ids, seqid, topics]

# brokers ids
$ ls /brokers/ids
[0, 1, 3]

命令行

1
2
3
4
5
6
7
8
# 查看所有通道
$ kafka-topics.sh --list --bootstrap-server cdh1:9092
# 删除通道
$ kafka-topics.sh --bootstrap-server cdh1:9092 --delete --topic lot_userinfo_v2
# 消费
$ kafka-console-consumer.sh --bootstrap-server cdh1:9092 --topic lot_userinfo_v2
# 查看通道信息
$ kafka-topics.sh --bootstrap-server cdh1:9092 --topic lot_userinfo_v2 --describe

kafka-manager 安装

1
2
$ docker pull sheepkiller/kafka-manager
$ docker run -d --name kfk-manager --restart always -p 9000:9000 -e ZK_HOSTS=172.16.100.63:2181,172.16.100.64:2181,172.16.100.71:2181 sheepkiller/kafka-manager

访问

http://172.16.100.92:9000/


kafka集群
https://zhaops-hub.github.io/2021/11/30/hadoop/kafka集群/
作者
赵培胜
发布于
2021年11月30日
许可协议