一、安装Zookeeper

本文以 zookeeper-3.4.10 版本

1、下载

下载地址:https://zookeeper.apache.org/releases.html

2、解压

解压到 F:\tool 目录

3、修改配置

找到解压后  F:/tool/zookeeper-3.4.10/config/zoo_sample.cfg  文件

复制一份重命名为zoo.cfg (默认的名称是这个),

#修改配置
dataDir=f:/zookeeper/data#新增配置
dataLogDir=f:/zookeeper/log

zoo.cfg文件说明:

①tickTime:维持leader与follower以及客户端之间的心跳频率时间(单位毫秒,默认2000ms)

②initLimit:允许follower从节点追随leader主节点时的初始延迟,默认是10次,也就是允许的延迟时间为2000*10=20秒。如果在这个时间内还没有连接上的话,leader就会认为follower有问题,将会抛弃你不跟你玩了。

③syncLimit:默认是5.leader与follower之间的协作允许最大延迟时长,tickTime * syncLimit=2000*5=10秒。10秒之内没响应,也会认为follower存在问题。

④dataDir:用于存储持久化文件(日志、快照之类的)的路径。默认 /tmp/zookeeper 最好不要用/tmp这类的目录,一般改为/var,var在Linux中是存放临时文件的。

⑤cliientPort:客户端连接的端口号。默认是2181

⑥maxClientCnxns:最大的客户端连接数。也就是最多允许多少个客户端连接本台机器的zk

⑦配置集群中所有的节点信息:3888端口用于在没有leader时所有节点在3888建立socket连接进行投票选举出leader;2888端口是follower从节点连接leader主节点的端口。

server.1=localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889

在zk中,leader可以理解成是“谦让”出来的,1,2,3,4中谁是最大的谁就立马是leader

过半通过:一共4个节点有 4/2+1=3台通过就行。比如1,2,3启动了之后3就是leader,因为遵循的是过半通过原则。

4、添加系统环境变量:

在系统变量中添加ZOOKEEPER_HOME = D:\Java\Tool\zookeeper-3.4.10

编辑path系统变量,添加为路径%ZOOKEEPER_HOME%\bin

5、启动Zookeeper

使用 Dos  输入命令 :zkServer

二、安装kafka

1、下载

Kafka官网下载安装包 http://kafka.apache.org/downloads.html

我们下载第二种(已经被编译过的),将安装包存在在 /software/ 下

2、解压

解压到 F:/tool 目录

3、修改配置

配置文件目录:F:/tool/kafka_2.13-2.4.1/config

修改配置文件:F:/tool/kafka_2.13-2.4.1/config/server.properties

找到以下配置项修改(事先讲好文件夹:F:/tool/kafka/log)

log.dirs=F:/tool/kafka/log
zookeeper.connect=localhost:2181

配置文件说明

server.properties

#broker的全局唯一编号,不能重复
broker.id=0#用来监听链接的端口,producer或consumer将在此端口建立连接
port=9092#处理网络请求的线程数量
num.network.threads=3#用来处理磁盘IO的线程数量
num.io.threads=8 #发送套接字的缓冲区大小
socket.send.buffer.bytes=102400 #接受套接字的缓冲区大小
socket.receive.buffer.bytes=102400 #请求套接字的缓冲区大小
socket.request.max.bytes=104857600 #kafka消息存放的路径
log.dirs=/home/servers-kafka/logs/kafka #topic在当前broker上的分片个数
num.partitions=2 #用来恢复和清理data下数据的线程数量
num.recovery.threads.per.data.dir=1 #segment文件保留的最长时间,超时将被删除
log.retention.hours=168 #滚动生成新的segment文件的最大时间
log.roll.hours=168 #日志文件中每个segment的大小,默认为1G
log.segment.bytes=1073741824#周期性检查文件大小的时间
log.retention.check.interval.ms=300000 #日志清理是否打开
log.cleaner.enable=true #broker需要使用zookeeper保存meta数据
zookeeper.connect=hadoop02:2181,hadoop03:2181,hadoop04:2181 #zookeeper链接超时时间
zookeeper.connection.timeout.ms=6000 #partion buffer中,消息的条数达到阈值,将触发flush到磁盘
log.flush.interval.messages=10000 #消息buffer的时间,达到阈值,将触发flush到磁盘
log.flush.interval.ms=3000 #删除topic需要server.properties中设置delete.topic.enable=true否则只是标记删除
delete.topic.enable=true #此处的host.name为本机IP(重要),如果不改,则客户端会抛出:Producerconnection to localhost:9092 unsuccessful 错误!
host.name=hadoop02

consumer.properties

# zookeeper连接服务器地址
zookeeper.connect=hadoop02:2181,hadoop03:2181,hadoop04:2181 # zookeeper的session过期时间,默认5000ms,用于检测消费者是否挂掉
zookeeper.session.timeout.ms=5000 #当消费者挂掉,其他消费者要等该指定时间才能检查到并且触发重新负载均衡
zookeeper.connection.timeout.ms=10000 # 指定多久消费者更新offset到zookeeper中。注意offset更新时基于time而不是每次获得的消息。一旦在更新zookeeper发生异常并重启,将可能拿到已拿到过的消息
zookeeper.sync.time.ms=2000 #指定消费组
group.id=xxx # 当consumer消费一定量的消息之后,将会自动向zookeeper提交offset信息
# 注意offset信息并不是每消费一次消息就向zk提交一次,而是现在本地保存(内存),并定期提交,默认为true
auto.commit.enable=true # 自动更新时间。默认60 * 1000
auto.commit.interval.ms=1000 # 当前consumer的标识,可以设定,也可以有系统生成,主要用来跟踪消息消费情况,便于观察
conusmer.id=xxx # 消费者客户端编号,用于区分不同客户端,默认客户端程序自动产生
client.id=xxxx # 最大取多少块缓存到消费者(默认10)
queued.max.message.chunks=50 # 当有新的consumer加入到group时,将会reblance,此后将会有partitions的消费端迁移到新  的consumer上,如果一个consumer获得了某个partition的消费权限,那么它将会向zk注册"Partition Owner registry"节点信息,但是有可能此时旧的consumer尚没有释放此节点, 此值用于控制,注册节点的重试次数.
rebalance.max.retries=5 # 获取消息的最大尺寸,broker不会像consumer输出大于此值的消息chunk 每次feth将得到多条消息,此值为总大小,提升此值,将会消耗更多的consumer端内存
fetch.min.bytes=6553600 # 当消息的尺寸不足时,server阻塞的时间,如果超时,消息将立即发送给consumer
fetch.wait.max.ms=5000
socket.receive.buffer.bytes=655360 # 如果zookeeper没有offset值或offset值超出范围。那么就给个初始的offset。有smallest、largest、anything可选,分别表示给当前最小的offset、当前最大的offset、抛异常。默认largest
auto.offset.reset=smallest# 指定序列化处理类
derializer.class=kafka.serializer.DefaultDecoder

4、启动kafka

注意:先zookeeper在启动,再启动kafka

进入kafka目录:F:\tool\kafka_2.13-2.4.1

运行命令:

.\bin\windows\kafka-server-start.bat .\config\server.properties

可能会报错:“找不到或无法加载主类 Files\java\jdk-9.0.1\lib;C:\Program”

解决(3)的办法:

在kafka安装目录中找到bin\windows目录中的kafka-run-class.bat为%CLASSPATH%加上双引号(可用Matlab打开,并进行搜索)

修改前:setCOMMAND=%JAVA%%KAFKA_HEAP_OPTS% %KAFKA_JVM_PERFORMANCE_OPTS% %KAFKA_JMX_OPTS%%KAFKA_LOG4J_OPTS% -cp%CLASSPATH% %KAFKA_OPTS% %*

修改后:SetCOMMAND=%JAVA%%KAFKA_HEAP_OPTS% %KAFKA_JVM_PERFORMANCE_OPTS% %KAFKA_JMX_OPTS%%KAFKA_LOG4J_OPTS% -cp"%CLASSPATH%"%KAFKA_OPTS% %*

修改之后重新启动

启动成功!

Kafka安装详细教程相关推荐

  1. 基于百度云主机的USDP 2.x 安装详细教程

    基于百度云主机的USDP 2.x 安装详细教程 1. USDP 简介 ​ UCloud Smart Data Platform(简称 USDP),是 UCloud 推出的云上智能化.轻量级的大数据基础 ...

  2. python的安装教程-python安装教程 Pycharm安装详细教程

    python安装教程和Pycharm安装详细教程,分享给大家. 首先我们来安装python 1.首先进入网站下载:点击打开链接(或自己输入网址https://www.python.org/downlo ...

  3. python要不要装pycharm-python安装教程 Pycharm安装详细教程

    这篇文章主要介绍了python的安装教程,和Pycharm的安装详细教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 python安装教程和Pycharm安装详细教程,分享给大家. 首先我们来安 ...

  4. python详细安装步骤-Pycharm及python安装详细教程(图解)

    首先我们来安装python 1.首先进入网站下载:点击打开链接(或自己输入网址https://www.python.org/downloads/ ),进入之后如下图,选择图中红色圈中区域进行下载. 2 ...

  5. python中nltk_python2.7和NLTK安装详细教程

    本文为大家分享了python2.7和NLTK安装教程,具体内容如下 系统:Windows 7 Ultimate 64-bits Python 2.7安装 下载Python 2.7:官网下载地址 安装 ...

  6. Ⅰ:zookeeper的单机安装 - 详细教程

    2021年Zookeeper最新系列 ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ...

  7. 服务器安装centos6 linux,CentOS6.5安装详细教程,手把手教你安装Linux操作系统(CentOS6.5)...

    CentOS6.5安装详细教程 1.准备好CentOS-6.5.iso文件,并刻录到光盘中,放入光驱,重启服务器,修改BIOS为光驱启动,之后开始进入安装: 2.按任意键,进入引导菜单.按上下键,移动 ...

  8. mysql如何下载msi_2、Windows下MySQL数据库下载与安装详细教程 MSI方式

    做者:叁念mysql 写在前言:本文篇幅比较长,可是整体分为三大部分:下载部分.安装部分.环境配置与测试部分 :读者能够自行选择阅读web 1.下载部分 MySQL数据库下载与安装详细教程sql 1. ...

  9. mysql8.0windows,Windows下mysql 8.0.12 安装详细教程

    本文为大家分享了mysql 8.0.12 安装详细教程,供大家参考,具体内容如下 一.安装 1.从官网上下载MySQL8.0.12版本,下载链接 2.下载后解压到一个文件夹下 我的解压路径:C:\Pr ...

最新文章

  1. VSS的每日自动备份
  2. 硅谷产品实战-总结:20、想要增长,你的团队需要高效的工作流
  3. iis7 文件服务器搭建,iis7 ftp服务器搭建
  4. mysql 5.5 替换字符_Mysql 5.7替换表中某些字段的字符串
  5. SCCM 2012 SP1系列(九)配置补丁更新-2
  6. 【论文解读】KDD20 | 图神经网络在生物医药领域的应用
  7. 修改终端服务端口的方法
  8. Python随机梯度下降法(一)
  9. mse 反编译_专业Delphi反编译工具(DeDeDark)
  10. HIVE厂牌艺人_北京音乐节-北京音乐节全攻略 - 马蜂窝
  11. C语言中pow()指数函数的使用问题简述
  12. 史上最全! 全球 22 种开源商业收入模式
  13. vim中复制整个别的文件内容
  14. 掌上智维隐私政策privacy
  15. ipad2018电池测试软件,2018款iPad Pro内部做工值得买吗?iPad Pro 2018详细拆机图解评测...
  16. 如何在海思 Hi3519AV100上移植YOLOV3 (3)
  17. 关于“sin(10°)是无理数”的一个证明
  18. 银行的east系统是什么
  19. 腾讯云直播业务实属坑爹,简直搞笑!劝大家谨慎考察后进行接入
  20. 如何用计算机计算平均温差,第八章 传热平均温差计算.pdf

热门文章

  1. 周迅是永远的精灵,不接受反驳
  2. android开发接口调用,Android开发中webService接口调用示例
  3. godot引擎学习10
  4. 学习与坚持是我的人生信仰
  5. 【报告分享】数观食机|2020快手食品行业数据价值报告-磁力引擎-202103.pdf(附下载地址)
  6. Unity3D:2D角色移动篇2:动画的添加
  7. Chrome插件安装的3种方法,解决拖放不能安装的情况,并提供插件下载
  8. 柳如是,当得奇女子。
  9. 什么是CVR,CTR,CPC,CPA,ROI?
  10. 播放量破4亿。《梦华录》创2022年国产剧豆瓣最高开分,它凭何爆火?