ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Kafka 集群搭建

2022-02-25 14:58:17  阅读:208  来源: 互联网

标签:opt 0.1 zookeeper kafka 集群 0.10 Kafka 2.11 搭建


1、前提条件

        1、部署Kafka集群搭建需要服务器至少3台,奇数台

        2、Kafka的安装需要java环境,jdk1.8

        3、Kafka安装包版本:kafka_2.11-0.10.0.1.tar.gz

        4、假设3台服务器分别为:kafka1、kafka2、kafka3

2、Zookeeper集群搭建

        1、将安装包kafka_2.11-0.10.0.1.tar.gz上传到/opt 目录下

        2、解压:tar -zxvf kafka_2.11-0.10.0.1.tar.gz

        3、创建zookeeper目录:mkdir zk_kfk_data

        4、进入目录:cd /opt/kafka_2.11-0.10.0.1/

        5、修改zookeeper.properties文件

                命令:cd /opt/kafka_2.11-0.10.0.1/config

                三台机器上的zookeeper.properties文件配置相同,data.Dir 为zk的数据目录,server.1、server.2、server.3 为集群信息。

                2888端口号是zookeeper服务之间通信的端口

                3888端口是zookeeper与其他应用程序通信的端口。

                tickTime:CS通信心跳数

                Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。tickTime以毫秒为单位。

                    tickTime:该参数用来定义心跳的间隔时间,zookeeper的客户端和服务端之间也有和web开发里类似的session的概念,而zookeeper里最小的session过期时间就是tickTime的两倍。

                 initLimit:LF初始通信时限

集群中的follower服务器(F)与leader服务器(L)之间 初始连接 时能容忍的最多心跳数(tickTime的数量)

                syncLimit:LF同步通信时限

                集群中的follower服务器(F)与leader服务器(L)之间 请求和应答 之间能容忍的最多心跳数(tickTime的数量)

6、创建myid文件

        进入/opt/kafka_2.11-0.10.0.1/zk_kfk_data目录,创建myid文件,将三台服务器上的myid文件分别写入1,2,3。myid是zookeeper集群用来发现彼此的标识,必须创建,且不能相同。

7、​​​​​​​执行启动zookeeper命令:

 nohup /opt/kafka_2.11-0.10.0.1/bin/zookeeper-server-start.sh /opt/kafka_2.11-0.10.0.1/config/zookeeper.properties &>> /opt/kafka_2.11-0.10.0.1/zookeeper.log &

        三台机器都执行启动命令,查看zookeeper的日志文件,没有报错就说明zookeeper集群启动成功了。

8、Kafka集群搭建
        1、修改server.properties配置文件
                命令:cd /opt/kafka_2.11-0.10.0.1/config
        2、创建kafka日志数据目录:mkdir kafka-logs-1
                命令:cd /opt/kafka_2.11-0.10.0.1/

        3、参数说明:

                broker.id 0 #broker.id的值三个节点要配置不同的值,分别配置为0,1,2

advertised.host.name kafka1.sd.cn #在hosts文件配置kafka1域名,另外两台分别为:kafka2.sd.cn,kafka3.sd.cn

                advertised.port 9092 #默认端口,不需要改

                log.dirs /opt/kafka_2.11-0.10.0.1/kafka-logs-1 #Kafka日志数据目录

                num.partitions 40 #分区数,根据自行修改

                log.retention.hours #24 #日志保存时间

                zookeeper.connect  kafka1.sd.cn:3181,kafka2.sd.cn:3181,kafka3.sd.cn:3181 #zookeeper连接地址,多个以逗号隔开

9、启动kafka集群:
                nohup /opt/kafka_2.11-0.10.0.1/bin/kafka-server-start.sh /opt/kafka_2.11-0.10.0.1/config/server.properties &>> /opt/kafka_2.11-0.10.0.1/kafka.log &

10、测试Kafka集群
        1、创建topic:test
                /opt/kafka_2.11-0.10.0.1/bin/kafktopics.sh --create --zookeeper kafka1.sd.cn:3181,kafka2.sd.cn:3181,kafka3.sd.cn:3181 --replication-factor 1 --partitions 1 --topic test

        2、列出已创建的topic列表
                /opt/kafka_2.11-0.10.0.1/bin/kafka-topics.sh --list --zookeeper localhost:3181

        3、模拟客户端去发送消息
                /opt/kafka_2.11-0.10.0.1/bin/kafka-console-producer.sh --broker-list kafka1.sd.cn:9092,kafka2.sd.cn:9092,kafka3.sd.cn:9092 --topic test

        4、模拟客户端去接受消息
/opt/kafka_2.11-0.10.0.1/bin/kafka-console-consumer.sh --zookeeper kafka1.sd.cn:3181,kafka2.sd.cn:3181,kafka3.sd.cn:3181 --from-beginning --topic test

        ​​​​​

标签:opt,0.1,zookeeper,kafka,集群,0.10,Kafka,2.11,搭建
来源: https://blog.csdn.net/qq_31515997/article/details/123132536

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有