kafka(二)安装部署(2)windows

目录

一、前提

1、jdk

2、Zookeeper

2.1、解压

2.2、创建data文件夹

2.3、配置文件

2.4、添加环境变量

2.5、启动zk:zkServer

2.6、客户端

3、Scala

3.1、下载安装

3.2、配置环境变量

3.3、验证是否安装成功

二、kafka下载安装

1、下载

2、安装

2.1、解压

2.2、新建logs目录

​编辑 2.3、修改配置文件

2.3.1、修改 log.dirs 参数

2.3.2、修改 listeners 参数

3、启动 

4、kafka操作 

4.1、创建topic

4.2、查看topic列表 

4.3、创建生产者

4.4、创建消费者 

4.5、测试收发消息 


一、前提

安装Kafka之前,需要安装JDK、Zookeeper、Scala,

本次安装版本选择:
JDK:1.8
Zookeeper:3.6.4
Scala:2.12
Kafka:3.5.2

1、jdk

Java Downloads | Oracle

见jdk下载安装。

2、Zookeeper

下载地址

Apache ZooKeeper

Apache Download Mirrors

下载后安装:

2.1、解压

进入到解压后的文件查看:

2.2、创建data文件夹

2.3、配置文件

(1)进入config目录 ,复制zoo_sample.cfg文件,改名为zoo.cfg,更改zoo_sample.cfg 文件名为 zoo.cfg 的原因为:安装的bin目录下的 zkEnv.cmd文件内指定了使用 zoo.cfg文件。

(若不更改zoo_sample.cfg文件名,也可直接把此文件中的 zoo.cfg 更改为 zoo_sample.cfg

(2)修改配置文件 zoo.cfg:

把dataDir=/tmp/zookeeper
修改为:
dataDir=D:\\javas\\zk\\apache-zookeeper-3.6.4-bin\\data
注意:此处的路径一定要使用双斜杠" \ ",如果是单斜杠,在启动服务端时会把配置的内容输出到 bin 目录下面)
2.4、添加环境变量

    ①新建环境变量

   点击确定

  ②将新建的环境变量添加到系统变量path中

2.5、启动zk:zkServer

以管理员权限打开cmd命令窗口,输入

zkServer

或者进入到 bin 目录,双击 zkServer.cmd: 

2.6、客户端

客户端连接Zookeeper:zkCli,

以管理员权限打开命令窗口,输入:zkCli

3、Scala
3.1、下载安装

下载地址:https://downloads.lightbend.com/scala/2.11.12/scala-2.11.12.msi

下载后按照提示一步步安装,如我安装在

3.2、配置环境变量

(1)新增环境变量%SCALA_HOME% 

(2)%SCALA_HOME%\bin添加到path中

 

3.3、验证是否安装成功

cmd输入:Scala

二、kafka下载安装

version:2.12-3.5.2,表示Scala版本是2.12,Kafka版本是基于此的3.5.2版本。

1、下载

官网下载地址:Index of /kafka/3.5.2 (apache.org)

2、安装
2.1、解压

如我解压到D:\javas\kafka\kafka_2.12-3.5.2

2.2、新建logs目录
 2.3、修改配置文件

修改Kafka配置文件 server.properties

文件路径:D:\javas\kafka\kafka_2.12-3.5.2\config\server.properties

2.3.1、修改 log.dirs 参数

修改 log.dirs 参数值,修改成上一步新建的logs文件夹。注意文件夹路径中是双左斜杠

log.dirs=D:\\javas\\kafka\\kafka_2.12-3.5.2\\logs
2.3.2、修改 listeners 参数
listeners=PLAINTEXT://localhost:9092

3、启动 

(1)启动zk:

   由于Kafka依赖于Zookeeper,所以要先启动Zookeeper,cmd输入zkServer即可启动zk。

(2)启动kafka:

管理员权限打开命令窗口,进入到Kafka安装目录(D:\javas\kafka\kafka_2.12-3.5.2)。
输入如下命令启动Kafka服务:

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

4、kafka操作 

Kafka2.2之后版本中使用–zookeeper hadoop01:2181会出现报错情况,2.2之后的版本使用了–bootstrap-server hadoop01:9092来替换–zookeeper hadoop01:2181。

以下命令均在D:\javas\kafka\kafka_2.12-3.5.2\bin\windows目录下:

4.1、创建topic

cmd打开一个新窗口:

kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test

4.2、查看topic列表 
kafka-topics.bat --bootstrap-server localhost:9092 --list

4.3、创建生产者

cmd打开一个新窗口

kafka-console-producer.bat --broker-list localhost:9092 --topic test

4.4、创建消费者 

cmd打开一个新窗口

4.5、测试收发消息 

(1)在producer(生产者)控制台窗口输入消息:

(2)在consumer(消费者)控制台窗口查看消息:

注意:收不到消息,常见情况

  1. 在consumer没有打开之前,就在producer里面发送了消息
  2. producer和consumer使用的topic不一致
4.6、修改topic

(1)修改分区数

D:\javas\kafka\kafka_2.12-3.5.2\bin\windows>
kafka-topics.bat --bootstrap-server localhost:9092 --alter --topic userTest--partitions 3

(2)修改副本数

修改replication-factor的值是有条件的,因为它必须小于等于你集群中broker的数量。如果你尝试设置一个大于当前broker数量的replication-factor,操作将会失败。

 同样在windows目录下执行

kafka-topics.bat --bootstrap-server localhost:9092 --alter --topic userTest--partitions 3 --replication-factor 2

三、kafka manager控制台

为了简化开发者和服务工程师维护Kafka集群的工作,yahoo构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager。这个管理工具可以很容易地发现分布在集群中的哪些topic分布不均匀,或者是分区在整个集群分布不均匀的的情况。它支持管理多个集群、选择副本、副本重新分配以及创建Topic。同时,这个管理工具也是一个非常好的可以快速浏览这个集群的工具,有如下功能:

1.管理多个kafka集群
2.便捷的检查kafka集群状态(topics,brokers,备份分布情况,分区分布情况)
3.选择你要运行的副本
4.基于当前分区状况进行
5.可以选择topic配置并创建topic(0.8.1.1和0.8.2的配置不同)
6.删除topic(只支持0.8.2以上的版本并且要在broker配置中设置delete.topic.enable=true)
7.Topic list会指明哪些topic被删除(在0.8.2以上版本适用)
8.为已存在的topic增加分区
9.为已存在的topic更新配置
10.在多个topic上批量重分区
11.在多个topic上批量重分区(可选partition broker位置)

https://github.com/yahoo/kafka-manager

下载kafka-manager的releases中的最新zip版本: https://github.com/yahoo/kafka-manager/releases

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

w_t_y_y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值