kafka的架构及部署

kafka的架构

product:生产者,就是生产东西的
consumer:消费者,就是消费东西的
broker:就是放生产者生产出来东西的篮子
topic:主题,就是将将生产出来的东西打个标签
kafka架构图

kafka的安装

kafka下载地址:http://kafka.apache.org/downloads
安装步骤如下:
1.解压文件:.tar -zxvf kafka_2.11-1.0.0.tgz
2.将文件重命名:mv kafka_2.12-0.11.0.0 kafka
3.修改配置文件:vi ./kafka/config/server.properties
修改内容如下:

broker.id=0
listeners=PLAINTEXT://:9092
log.dirs=/opt/hadoop/data/kafka-logs
zookeeper.connect=zoo3:2181

4.在系统环境中配置kafka的路径:vi /etc/profile

export KAFKA_HOME=/opt/kafka
export PATH=$KAFKA_HOME/bin:$PATH

5.使修改完的环境变量生效:source /etc/profile

kafka的部署

kafka单节点单broker的部署

说明如下:这些命令是在opt/kafka/bin下执行。
注意事项:kafka是依赖zookeeper运行的,因此,在启动kafka之前要先启动。
zookeeper,zookeeper安装及启动见如下博客:
https://blog.csdn.net/qq_35086052/article/details/80929527

  1. 以后台进程方式启动kafka
./kafka-server-start.sh -daemon /opt/kafka/config/server.properties
  1. 创建topic
./kafka-topics.sh --create --zookeeper zoo3:2181 --replication-factor 1 --partitions 1 --topic test
  1. 查看所有topic
./kafka-topics.sh --list --zookeeper zoo3:2181
  1. 发送消息
./kafka-console-producer.sh --broker-list zoo3:9092 --topic test
  1. 消费消息
./kafka-console-consumer.sh --zookeeper zoo3:2181 --topic test --from-beginning

kafka多节点单broker的部署

1.复制多个副本配置文件,修改配置文件

cp server.properties server-1.properties
cp server.properties server-2.properties
cp server.properties server-3.properties

修改内容如下:

broker.id=1
listeners=PLAINTEXT://:9093
log.dirs=/opt/hadoop/data/kafka-logs-1
broker.id=2
listeners=PLAINTEXT://:9094
log.dirs=/opt/hadoop/data/kafka-logs-2
broker.id=3
listeners=PLAINTEXT://:9095
log.dirs=/opt/hadoop/data/kafka-logs-3

2.启动多个节点

./kafka-server-start.sh -daemon /opt/kafka/config/server-1.properties
./kafka-server-start.sh -daemon /opt/kafka/config/server-2.properties
./kafka-server-start.sh -daemon /opt/kafka/config/server-3.properties

3.创建3个副本的topic

./kafka-topics.sh --create --zookeeper zoo3:2181 --replication-factor 3 --partitions 1 --topic test1

4.发送消息

./kafka-console-producer.sh --broker-list zoo3:9093 --topic test1
./kafka-console-producer.sh --broker-list zoo3:9094 --topic test1
./kafka-console-producer.sh --broker-list zoo3:9095 --topic test1

5.消费消息

./kafka-console-consumer.sh --zookeeper zoo3:2181 --topic test1 --from-beginning
  1. 查看所有topic的详细信息
./kafka-topics.sh --describe --zookeeper zoo3:2181 --topic test1

详细信息

kafka的容错

3个节点正常运行情况:

./kafka-topics.sh --describe --zookeeper zoo3:2181 --topic test1
 Topic:test1   PartitionCount:1    ReplicationFactor:3 Configs:
 Topic: test  Partition: 0    Leader: 2   Replicas: 1,2,0 Isr: 1,2,0

杀死其中leader2节点后,1节点成为leader

./kafka-topics.sh --describe --zookeeper zoo3:2181 --topic test1
 Topic:test1   PartitionCount:1    ReplicationFactor:3 Configs:
 Topic: test  Partition: 0    Leader: 1   Replicas: 1,2,0 Isr: 1,0

kafka的容错性总结
在kafka中不管是主节点还是从节点挂了都是一样,只要kafka副本中有一个节点是活的,他就能正常工作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值