文章更新时间:2020/06/07

一、安装JDK

  过程就不过多介绍了...

二、安装Zookeeper

  安装过程可以参考此处~

三、安装并配置kafka

  • Kafka下载地址  http://kafka.apache.org/downloads
  • 解压文件(我的目录是E:\zhanghaoBF\kafka\kafka_2.11-2.3.0   【PS:这里不要在Program Files等文件名之间有空格的目录下,不然一会执行会不识别路径
  • 打开目录E:\zhanghaoBF\kafka\kafka_2.11-2.3.0\config下server.properties文件,把log.dirs修改为【log.dirs=D:\kafka_2.12-0.11.0.0\kafka-logs】,把listeners的配置放开

  一些主要的配置信息如下:

#1、broker实例id 这个是kafka集群区分每个节点的唯一标志符
broker.id=0 #2、监听的端口号
listeners=PLAINTEXT://:9092 #3、消息的存放路径
log.dirs=E:\zhanghaoBF\【完成】SpringBoot整合kafka\kafka_2.11-2.3.0\zhanghaoBFkafkakafka_2.11-2.3.0kafka-logs #4、kafka消息的保留时间,默认为7天即168小时【单位为:小时】
log.retention.hours=168 #5、log文件存放着msg,这里设置的是log文件的最大大小,默认最大为1个G【单位为:byte】
log.segment.bytes=1073741824 #6、kafka链接的zk地址
zookeeper.connect=localhost:2181 #7、kafka链接的超时时间
zookeeper.connection.timeout.ms=6000 #8、默认的分区数量
num.partitions=1

四、启动并测试kafka【以windows操作示例】

启动ZK

启动kafka

  进入kafka文件目录E:\zhanghaoBF\kafka\kafka_2.11-2.3.0,执行以下命令,启动kafka通讯的服务器broker

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

创建topic

  进入kafka文件目录E:\zhanghaoBF\kafka\kafka_2.11-2.3.0,输入以下命令,创建kafka的消息topics【topic名为testDemo】

kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testDemo

  replication-factor:表示在不同的broker中保存几份副本。设置为1表示该topic除了当前leader主机外,在其他brocker上还有1个副本。

  partitions:表示分区数。设置为1表示该topic(同一个brocker上)存在有多少个分区。PS:每个分区的数据是不重复的,用于提高吞吐量。

查看topic

./kafka-topics.bat --list --zookeeper localhost:2181  ##查看localhost:2181上存在的topic信息

启动生产者

进入目录kafka文件目录E:\zhanghaoBF\kafka\kafka_2.11-2.3.0,输入以下命令,创建Producer

##此命令为修改命令行窗口的名称,此命令可不执行,直接执行下面的命令去启动生产者
title producer
kafka-console-producer.bat --broker-list localhost:9092 --topic testDemo

启动完成后可在窗口中输入消息内容:

启动消费者

进入目录kafka文件目录E:\zhanghaoBF\kafka\kafka_2.11-2.3.0,输入以下命令,创建consumer

##此命令为修改命令行窗口的名称,此命令可不执行,直接执行下面的命令去启动消费者
title consumer
kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic testDemo --from-beginning

启动完成后可在窗口中输入消息内容:

PS:某些博文里会推荐使用

kafka-console-consumer.bat --zookeeper localhost:2181 --topic testDemo

  这个命令来启动消费者,这里说明一下,低版本的kafka是用这个命令来启动消费者并进行消息消费的,由于本文使用的kafka版本较高,所以才用的上面那个命令行进行消费者启动,并消费信息。

kafka学习(四)kafka安装与命令行调用的更多相关文章

  1. 【分布式】ZooKeeper学习之一:安装及命令行使用

    ZooKeeper学习之一:安装及命令行使用 一直都想着好好学一学分布式系统,但是这拖延症晚期也是没得治了,所以干脆强迫自己来写一个系列博客,从zk的安装使用.客户端调用.涉及到的分布式原理.选举过程 ...

  2. Linux学习心得之 Linux下命令行Android开发环境的搭建

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...

  3. mac安装GNU命令行工具

    mac安装GNU命令行工具 2.添加的repo     tap home/dupes        brew install coreutils  binutils  diffutils  ed -- ...

  4. 【Mac】Mac OS X 安装GNU命令行工具

    macos的很多用户都是做it相关的人,类unix系统带来了很多方面,尤其是经常和linux打交道的人. 但是作为经常使用linux 命令行的人发现macos中的命令行工具很多都是bsd工具,跟lin ...

  5. Django之win7下安装与命令行工具

    Django之win7下安装与命令行工具 下载安装 pip3 install django 注意:自动添加环境变量 测试是否安装成功 1.输入python 2.输入import django 3.输入 ...

  6. 你使用 Web 平台安装程序命令行工具

    你使用 Web 平台安装程序命令行工具 获取的软件由其所有者授权给你.Microsoft 未授予你第三方软件的任何权利.已成功加载主源: https://go.microsoft.com/?linki ...

  7. NodeJS 安装cnpm命令行工具

    在安装之前,请确保已安装Git和NodeJS. cmd机内命令窗口,输入以下命令: git config --system http.sslcainfo /bin/curl-ca-bundle.crt ...

  8. Symfony2 通过命令行调用控制器

    由于系统需求,需要写一个无限循环的控制器,那么既然有一个无限循环的控制器,那么就需要有一个开关,不可能直接通过route来开启吧.当然要使用高级一点的方法啊. 那就是使用控制台通过命令行(comman ...

  9. Maven-11: 从命令行调用插件

    mvn -h显示mvn命令帮助: usage: mvn [options] [<goal(s)>] [<phase(s)>] Options: -am,--also-make ...

随机推荐

  1. 基于Java的二叉树的三种遍历方式的递归与非递归实现

    二叉树的遍历方式包括前序遍历.中序遍历和后序遍历,其实现方式包括递归实现和非递归实现. 前序遍历:根节点 | 左子树 | 右子树 中序遍历:左子树 | 根节点 | 右子树 后序遍历:左子树 | 右子树 ...

  2. eclipse git如何切换分支,拉取代码,合并代码,解决冲突等

    (如果想看eclipse拉取git项目,移步到我上一篇文章)以下步骤是eclipse运用git的切换分支,拉取合并代码的基本操作: 1.切换远程分支:鼠标右键项目--team--switch to - ...

  3. c++: internal compiler error: Killed (program cc1plus)

    转自https://blog.csdn.net/qq_27148893/article/details/88936044 这是在开发板上编译opencv的时候报了一个错,主要是在编译过程中,内存不够造 ...

  4. Java动态代理(二)——jdk动态代理

    一.什么是动态代理?代理类在程序运行时创建的代理方式被成为动态代理.动态代理的代理类并不是在Java代码中定义的,而是在运行时根据我们在Java代码中的“指示”动态生成的.相比于静态代理, 动态代理的 ...

  5. Answers for Q1 and Q2

    A1: 1. enetity-data model mapping: 2. database design 2.1  sql create table A_manufacturer_info(manu ...

  6. openCV - 2. 矩阵的掩膜操作

    获取图像像素指针.掩膜操作解释 获取图像像素指针 CV_Assert(myImage.depth() == CV_8U); Mat.ptr<uchar>(int i=0) 获取像素矩阵的指 ...

  7. python执行gradle脚本

    import os import shutil import subprocess #拷贝文件 def copyFile(srcFile, dstFile): #检查源文件是否存在 if not os ...

  8. VuePress初探(一)

    原文参考链接 手把手教你使用 VuePress 搭建个人博客 有阅读障碍的同学,可以跳过第一至四节,下载我写好的工具包: git clone https://github.com/zhangyunch ...

  9. 【pytest】(三) pytest运行多个文件

    1.运行多个测试文件 pytest 会运行 test_ 开头 或者 _test 结尾的文件,在当前目录和子目录中 2. 一个类下的多个用例的运行, pytest会找到 test_ 开头的方法 impo ...

  10. java的方法详解和总结

    一.什么是方法 在日常生活中,我们所说的方法就是为了解决某件事情,而采取的解决办法 java中的方法可以理解为语句的集合,用来完成解决某件事情或实现某个功能的办法 方法的优点: 程序变得更加简短而清晰 ...