Linux:【Kafka四】集群介绍与单机搭建

目录

环境简介

一、搭建kafka集群

1.1、复制出两个kafka的配置文件

1.2、修改配置文件中的如下属性

二、启动kafka集群 

三、可校验kafka三个节点是否均启动成功

四、查看集群中主题的分区和副本

4.1、新建一个包含了分区和副本的主题

4.2、查看该主题的详细信息

五、分区、副本的二次解释


环境简介

   Linux内核:Centos7

   Kafka版本:3.5.1

   Kafka的安装目录:/usr/local/kafka_2.12-3.5.1

   Kafka的bin文件夹的目录:/usr/local/kafka_2.12-3.5.1/bin

   Kafka的配置文件夹的目录: /usr/local/kafka_2.12-3.5.1/conf

一、搭建kafka集群

因为资源有限,本人在学习时,是在同一台机器上搭建的kafka集群,操作如下:

1.1、复制出两个kafka的配置文件

server2.properties,server2.properties,如下图:

1.2、修改配置文件中的如下属性

broker.id=0、1、2    -- 标识每个启动的kafka实例的编号
listeners=PLAINTEXT://${broker所在地址IP}:${当前kafka欲使用的端口号},如listeners=PLAINTEXT://192.168.154.128:9092或者9093或者9094
log.dir= **

        举个实例:

server.properties中:

broker.id=0

listeners=PLAINTEXT://192.168.154.128:9092  -- 192.168.154.128是kafka所在服务器的IP

log.dirs=/usr/local/kafka_2.12-3.5.1/log

server2.propetties中

broker.id=1

listeners=PLAINTEXT://192.168.154.128:9093  -- 192.168.154.128是kafka所在服务器的IP

log.dirs=/usr/local/kafka_2.12-3.5.1/log2

server3.properties中

broker.id=2

listeners=PLAINTEXT://192.168.154.128:9094  -- 192.168.154.128是kafka所在服务器的IP

log.dirs=/usr/local/kafka_2.12-3.5.1/log3

二、启动kafka集群 

挨个启动即可(切换到kafka的根路径下执行):

[root@localhost kafka_2.12-3.5.1]# cd /usr/local/kafka_2.12-3.5.1/

[root@localhost kafka_2.12-3.5.1]#  ./kafka-server-start.sh -daemon ./server.properties

[root@localhost kafka_2.12-3.5.1]#  ./kafka-server-start.sh -daemon ./server2.properties

[root@localhost kafka_2.12-3.5.1]#  ./kafka-server-start.sh -daemon ./server3.properties

三、可校验kafka三个节点是否均启动成功

cd到zookeeper中查看

[root@localhost bin]# cd /usr/local/apache-zookeeper-3.8.2/bin

[root@localhost bin]# ./zkCli.sh

[zk: localhost:2181(CONNECTED) 0] ls /
    [admin, brokers, cluster, config, consumers, controller, controller_epoch, feature, isr_change_notification, latest_producer_id_block, log_dir_event_notification, zookeeper]

[zk: localhost:2181(CONNECTED) 2] ls /brokers
    [ids, seqid, topics]

[zk: localhost:2181(CONNECTED) 3] ls /brokers/ids
    [0,1,2] //说明启动了三个节点

[zk: localhost:2181(CONNECTED) 4]

四、查看集群中主题的分区和副本

4.1、新建一个包含了分区和副本的主题

[root@localhost kafka_2.12-3.5.1]# ./bin/kafka-topics.sh --bootstrap-server localhost:9092 --create  --replication-factor 3 --partitions 2 --topic topic0921

4.2、查看该主题的详细信息

[root@localhost kafka_2.12-3.5.1]# ./bin/kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic topic0921

会展示如下结果:

说明:

        Topic:    主题名称
        Partition:分区编号
        Leader:    分区的Leader的broker编号。副本里面的Leard来接收消息,其他follower通过poll的形式同步消息
        Replicas:  当前分区的副本所在哪些broker实例上(对应kafka实例配置文件中的kroker.id)
        Isr:         可以同步的broker节点 和 已同步的broker节点。换句话说,存放的是:当前分区的副本中:Leader节点、以及可正常同步数据,且已经同步了数据的follower节点

五、分区、副本的二次解释

基础概念的讲解,请参考:Linux:【Kafka三】组件介绍

下面画图解释:

分区:相当于是对消息的物理分割,一个消息,只能存在于一个分区中。多个分区可理解为消息的多线程任务。

副本:每个分区都可以在集团的broker中创建副本,用以对分区中消息的备份。作为副本的broker上,在日志文件中,会同时产生备份了分区的文件:

cd到broker1的日志文件中
[root@localhost log2]# cd /usr/local/kafka_2.12-3.5.1/log2/

[root@localhost log2]# ll

-rw-r--r--. 1 root root   0 9月  19 18:21 cleaner-offset-checkpoint
-rw-r--r--. 1 root root   4 10月 13 10:54 log-start-offset-checkpoint
-rw-r--r--. 1 root root  88 9月  21 17:21 meta.properties
-rw-r--r--. 1 root root  32 10月 13 10:54 recovery-point-offset-checkpoint
-rw-r--r--. 1 root root  32 10月 13 10:54 replication-offset-checkpoint
drwxr-xr-x. 2 root root 167 9月  21 17:27 topic0921-0    # 主题第一个分区的备份文件
drwxr-xr-x. 2 root root 167 9月  21 17:27 topic0921-1    # 主题第二个分区的备份文件

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值