美文网首页
kafka集群的搭建

kafka集群的搭建

作者: huan1993 | 来源:发表于2020-12-13 16:43 被阅读0次

    一、背景

    最近在学习 kafka,此处记录一下 mac上 搭建 kafka集群的步骤。

    二、安装软件

    由于 kafka 依赖 zookeeper 因此需要安装 zookeeper,而kafka是基于scala语言编写,scala又是基于 jdk的,因此需要安装 jdk
    1、 JDK , 推荐在 jdk8 及以上的版本,此处安装 jdk 略。
    2、zookeeper , 在本机搭建一个 3 个节点的 zk 伪集群。
    3、kafka 在本地搭建一个3个节点的 kafka 集群。

    三、安装步骤

    1、搭建一个 3 个节点的 zk 伪集群

    ip 客户端连接端口 集群选举接口 集群原子广播接口 server.id中id的值 节点名,目前没用到,这个配置到hosts文件中
    127.0.0.1 2181 12888 13888 1 zk01
    127.0.0.1 3181 22888 23888 2 zk02
    127.0.0.1 4181 32888 33888 3 zk03

    注意:
    1、server.id的中的id的配置是在 zoo.cfg配置文件的 dataDir 配置项指定的目录中 创建 myid文件指定的。

    1、下载 zookeeper 安装包

    get https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz
    

    2、解压三份,并放置在 zookeeper 目录中

    将zookeeper解压三份

    3、修改 zookeeper 配置文件,此处以 zk01 为例子

    1、修改 conf 目录下的 zoo_sample.cfg 为 zoo.cfg

    修改 zoo_sample.cfg 为 zoo.cfg
    2、编辑 zoo.cfg 配置文件
    zookeeper配置文件
    注意:
    1、此处拿 zk01 为示例编写,因为是本地上启动多个,所以 需求修改端口
    2、各个服务器上的 myid 文件对应的值 都应该不一样,且唯一。
    3、dataDir 的路径需要修改。
    4、其余的配置可以看着修改,看具体的情况。

    5、启动3个zk节点

    分别进入到 zk01/bin,zk02/bin,zk03/bin目录下执行 如下命令

     ./zkServer.sh --config ../conf start
    

    6、连接 zk 集群

    ./zkCli.sh -server 127.0.0.1:2181,127.0.0.1:3181,127.0.0.1:4181
    

    2、搭建一个3个节点的 kafka 集群

    ip 客户端连接端口 broker.id
    127.0.0.1 9092 0
    127.0.0.1 9093 1
    127.0.0.1 9094 2

    注意:
    1、broker.id的值必须唯一,且是数字。

    1、下载 kafka

    https://www.apache.org/dyn/closer.cgi?path=/kafka/2.6.0/kafka_2.13-2.6.0.tgz
    

    2、解压3份,并放置到 kafka 目录中

    kafka目录

    3、修改 server.properties 文件,此处以 kafka01 为例子

    需要修改的属性,此处以kafka01为示例,不同的接口修改具体的值

    属性名 属性值 描述
    broker.id 0 每个kafka节点上配置的都需要不一样
    listeners PLAINTEXT://127.0.0.1:9092 每个kafka节点上配置的都需要不一样,PLAINTEXT表示明文传输
    log.dirs ../logs 日志文件路径
    zookeeper.connect 127.0.0.1:2181,127.0.0.1:3181,127.0.0.1:4181 zk服务器地址
    num.partitions 1 主题默认的分区数
    log.retention.hours 168 控制日志文件保留的时间,单位小时

    4、启动3个kafka节点

    依次进入到 kafka01/bin,kafka02/bin,kafka03/bin 目录,执行如下命令

    ./kafka-server-start.sh ../config/server.properties & 
    

    5、kafka测试

    此处以 kafka01作为示例

    1、创建一个主题

    bin/kafka-topics.sh --create --topic test-001 --replication-factor 1 --partitions 1 --bootstrap-server 127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094
    
    创建一个主题

    2、查看主题信息

    bin/kafka-topics.sh --describe --bootstrap-server 127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094 --topic test-001
    
    查看主题信息

    3、往创建的主题中发布一条信息

    bin/kafka-console-producer.sh --topic test-001 --bootstrap-server 127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094
    
    发送消息

    4、读取刚刚往主题中发布的消息

    bin/kafka-console-consumer.sh --topic test-001 --from-beginning --bootstrap-server 127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094
    
    接收到消息

    到此,一个简单的可用的kafka集群就搭建完毕了。

    四、参考文档

    1、https://zookeeper.apache.org/
    2、https://kafka.apache.org/documentation/#quickstart

    相关文章

      网友评论

          本文标题:kafka集群的搭建

          本文链接:https://www.haomeiwen.com/subject/dplpgktx.html