Kafka集群部署

Kafka集群部署一 前提条件 1 部署 Kafka 集群搭建需要服务器至少 3 台 奇数台 2 Kafka 的安装需要 java 环境 jdk1 83 Kafka 安装包版本 kafka 2 11 0 10 0 1 tar gz4 假设 3 台服务器分别为 kafka1 kafka2 kafka3 kafka 服务器名 IP 域名 kafka1

一、前提条件

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

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

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

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

kafka服务器名

IP

域名

kafka1

192.168.172.134

kafka1.sd.cn

kafka2

192.168.172.141

kafka2.sd.cn

kafka3

192.168.172.142

kafka3.sd.cn

5、增加host配置:

Kafka集群部署

二、Zookeeper集群搭建

直接使用kafka自带的zookeeper建立zk集群

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

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

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

4、创建zookeeper目录:mkdir zk_kfk_data

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

6、修改zookeeper.properties文件:

Kafka集群部署

三台机器上的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的数量)

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

8、执行启动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集群启动成功了。

三、Kafka集群搭建

Kafka集群部署

Kafka集群部署

Kafka集群部署

 

修改参数如下:

参数名称

参数值

备注

broker.id

0

broker.id的值三个节点要配置不同的值,分别配置为012

advertised.host.name

kafka1.sd.cn

hosts文件配置kafka1域名,另外两台分别为:kafka2.sd.cnkafka3.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连接地址,多个以逗号隔开

三个节点均要启动;启动无报错,即搭建成功。

四、测试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

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/203758.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午9:39
下一篇 2026年3月19日 下午9:39


相关推荐

  • Linux终端删除文件夹命令「建议收藏」

    Linux终端删除文件夹命令「建议收藏」前言本文介绍Linux系统中删除文件夹的命令,包括:rmdir、rm。Linux系统下删除文件夹是一个非常高频的需求,有很多方法可以删除文件夹,比如使用图形界面,或者通过终端删除。本文将介绍在Linux命令行下使用命令删除文件夹。1.使用rmdir命令删除文件夹rmdir命令是英文单词removedirectory的缩写,主要作用是删除文件夹。但是请注意,该命令只能用于删除空文件夹,而如果文件夹非空的话,将会报错。$rmdirdatarmdir:fai..

    2022年7月13日
    43
  • 用biomaRt进行基因ID转换

    用biomaRt进行基因ID转换今天 终于学会了之前看上去很神奇的 ID 转换 之前分析 RNA seq 数据结果之后 拿到的结果很让我烦躁 因为 如图 我怎么知道那个 ID 是个什么基因 于是乎 我就搜索 用到了 biomart 这个 ensmbl 网站上的一个工具 大致流程可以参考下面两个链接 基因转换小工具很实用批量转换基因名教程比对着教程 做了一点操作 但是感觉很繁琐 而且 最后的结果和原来 CSV 文件里的顺序是不一样的 截图如下 这样受到了限制 因为一次性最多 500 个基因名 那么我要是有 1500 个 我要分三次检索 整个过程还算可以忍受

    2026年3月20日
    2
  • HDU1285 确定比赛名次

    HDU1285 确定比赛名次

    2021年9月8日
    51
  • 知识图谱构建技术一览

    知识图谱构建技术一览知识图谱构建技术一览一 什么是知识图谱二 知识图谱技术架构 一 数据获取 DataAcquisit 二 信息抽取 InformationE 1 实体抽取 EntityExtrac 命名实体识别 NameEntityRe 2 关系抽取 RelationExtr 3 属性抽取 AttributeExt

    2026年3月20日
    3
  • AAA认证及RADIUS配置「建议收藏」

    AAA认证及RADIUS配置「建议收藏」AAA认证及RADIUS配置AAA简介AAA是Authentication,AuthorizationandAccounting(认证、授权和计费)的简称,它提供了一个对认证、授权和计费这三种安全功能进行配置的一致性框架,实际上是对网络安全的一种管理。这里的网络安全主要是指访问控制,包括:.哪些用户可以访问网络服务器。.具有访问权的用户可以得到…

    2022年5月25日
    66
  • “养龙虾”也要当心“养”出风险 我国现拥有超510万家人工智能相关企业

    “养龙虾”也要当心“养”出风险 我国现拥有超510万家人工智能相关企业

    2026年3月16日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号