Kafka 集群搭建

Kafka 集群搭建Kafka集群搭建

大家好,又见面了,我是你们的朋友全栈君。

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

        ​​​​​

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C#–winform界面美化[通俗易懂]

    C#–winform界面美化[通俗易懂]1、工控上位机界面总结(参考贴:https://blog.csdn.net/zqrhzyj/article/details/76638948)一般的工控界面分成三部分:(1)、标题菜单部分,即项目名称、界面菜单等(2)、数据显示及按钮等部分,即图形显示区,可以显示工艺流程图,采集到的相关数据信息、控制按钮等。(3)、尾部部分,可以添加公司的相关信息等。…

    2022年5月28日
    38
  • 各种关闭eslint方法总结[通俗易懂]

    各种关闭eslint方法总结[通俗易懂]1、package.json关闭eslint直接注释掉package.json文件中eslint的配置”eslintConfig”:{“root”:true,////此项是用来告诉eslint找当前配置文件不能往父级查找”env”:{“node”:true//此项指定环境的全局变量,下面的配置指定为node环境},”extends”:[//此项是用来配置vue.js风格,就是说写代码的时候要规范的写,如果你使用vs-code我

    2022年6月14日
    126
  • MFC之COleVariant类

    MFC之COleVariant类COleVariant本质上是一个枚举,用同一种类型来表达不同的子类型。如同boost中的variant。 COleVariant类是对VARIANT结构的封装。  VARIANT结构包含两部分。其一是VARTYPE型的成员变量vt;其二是个联合类型,这个联合包含了VC常用的几乎所有类型。因为联合用的是相同的存储空间,因此对联合的内容的解释依赖于vt。  例如,  若vt的…

    2022年7月18日
    13
  • struts2标签详解[通俗易懂]

    struts2标签详解[通俗易懂]struts2标签讲解要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可:<%@taglibprefix="s"uri="/struts-t

    2022年7月2日
    19
  • 使用VLC搭建视频直播服务器[通俗易懂]

    使用VLC搭建视频直播服务器[通俗易懂]去年我们信息之夜我们进行过视频直播服务,当时我们使用了WMS(WindowsMediaServer)实现了这个服务,但是编码是微软的WMV,因而像iPhone/Android这样的智能手机无法观看,今天我给大家带来一种更简便的实现方式,并帮助所有平台用户都可以观看。首先介绍一下,今天我们的工具VLCPlayer。VLC主页:http://www.videolan.org VLC

    2022年6月4日
    37
  • 一文看懂半监督学习(Semi-supervised Learning)和自监督学习(Self-Supervised Learning)

    一文看懂半监督学习(Semi-supervised Learning)和自监督学习(Self-Supervised Learning)1.机器学习学习任务1.1监督学习根据输入-输出样本对L={(x1,y1),⋅⋅⋅,(xl,yl)}L=\{(x1,y1),···,(xl,yl)\}L={(x1,y1),⋅⋅⋅,(xl,yl)}学习输入到输出的映射f:X−>Yf:X->Yf:X−>Y,来预测测试样例的输出值。SL包括分类(Classification)和回归(Regression)两类任务,分类中的样例xi∈Rmx_i∈R^mxi​∈Rm(输入空间),类标签yi∈{c1,c2,⋅⋅⋅,cc}y_i∈\{c_1,c

    2022年9月13日
    2

发表回复

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

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