Kafka集群安装和部署

一、概述

1、架构

   

  • producer:消息生产者。
  • consumer:消息消费者。
  • broker:kafka集群的server,负责处理消息读、写请求,存储消息。

2、消息存储和生产模型

   

  • 一个topic分成多个partition
  • 每个partition内部消息强有序,其中的每个消息都有一个序号叫offset。
  • 一个partition只对应一个broker,一个broker可以管理多个partition。
  • 消息直接写入文件,并不存储在内存中。
  • 根据时间策略(默认一周)删除,而不是消费完就删除。
  • producer自己决定往哪个partition写消息,可以是轮询的负载均衡,或者是基于hash的partition策略。

3、 消息存储和消费模型

   

  • consumer自己维护消费到哪个offset。
  • 每个consumer都有对应的group。
  • group内是queue消费模型:各个consumer消费不用的partition,一个消息在group内只消费一次。
  • 各个group各自独立消费,互不影响。

二、安装 (node1、node2其它配置一致,broker.id不一样)

1、拷贝kafka_2.11-2.2.0目录、并解压。

2、进入config文件夹,并修改server.properties

  • node1(192.168.1.102):
# brokerid,集群中的brokerid,每个机器不一样,累加
broker.id=0

# 端口
port=9092

# 如需外网访问
listeners=PLAINTEXT://192.168.1.10:9092

#文件存放路劲:需先创建文件夹
log.dirs=/data/local/kafka/data 

# zookeeper链接
zookeeper.connect=node1:2021
  • node2(192.168.1.103):
# brokerid,集群中的brokerid,每个机器不一样,累加
broker.id=1

# 端口
port=9092

# 如需外网访问
listeners=PLAINTEXT://192.168.1.103:9092

#文件存放路劲:需先创建文件夹
log.dirs=/data/local/kafka/data 

# zookeeper链接
zookeeper.connect=node1:2021

三、启动

1、创建启动命令文件

nohup ./bin/kafka-server-start.sh ./config/server.properties > nohup.log 2>&1 &

2、添加权限

chmod u+x start.sh

3、启动zookeeper

4、启动(必须先启动zookeeper)

./start.sh

四、测试

1、查看topic集合

./bin/kafka-topics.sh --zookeeper node1:2181 --list

2、创建一个topic

# --zookeeper:zookeeper节点
# --partitions:partitions个数  
# --replication-factor:副本个数
./bin/kafka-topics.sh --zookeeper node1:2181 --create --topic t0407 --partitions 2 --replication-factor 2

3、进入消费者

./bin/kafka-console-consumer.sh --bootstrap-server node1:9092 --from-beginning --topic t0407

4、进入生产者

./bin/kafka-console-producer.sh --broker-list node1:9092 --topic t0407

5、查看topic的消息数

./bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list node1:9092 --topic t0407 --time -1

6、查看消费者组的情况

./bin/kafka-consumer-groups.sh --bootstrap-server node1:9092 --describe --group group_name

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值