kafka安装和简单测试

2023-11-04

Kafka的安装和简单实例测试_厦大数据库实验室博客

ps:上边文章的kafka版本有点老,是0.10.1.0版本的。

最新的kafka版本启动和创建topic等命令有所改变。

核心概念

下面介绍Kafka相关概念,以便运行下面实例的同时,更好地理解Kafka.
1. Broker
Kafka集群包含一个或多个服务器,这种服务器被称为broker
2. Topic
每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处)
3. Partition
Partition是物理上的概念,每个Topic包含一个或多个Partition.
4. Producer
负责发布消息到Kafka broker
5. Consumer
消息消费者,向Kafka broker读取消息的客户端。
6. Consumer Group
每个Consumer属于一个特定的Consumer Group(可为每个Consumer指定group name,若不指定group name则属于默认的group)

kafka2.0之后的版本部署手顺:

1.下载

https://kafka.apache.org/downloads

weget https://dlcdn.apache.org/kafka/3.2.0/kafka_2.12-3.2.0.tgz

2.启动zooker

cd /usr/local/kafka

bin/zookeeper-server-start.sh config/zookeeper.properties

命令执行后不会返回Shell命令输入状态,zookeeper就会按照默认的配置文件启动服务,

请千万不要关闭当前终端.

启动新的终端,输入下边的启动kafka命令

3.启动kafka

bin/kafka-server-start.sh config/server.properties

请千万不要关闭当前终端.

启动新的终端,输入下边的创建topic命令

4.创建一个topic

#创建topic
bin/kafka-topics.sh --create --topic dblab --bootstrap-server localhost:9092

#展示topic
bin/kafka-topics.sh --bootstrap-server localhost:2181 --list

可以再打开一个新的窗口,新建一个producer

5.开启一个producer

#启动producer
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic dblab

然后再次开启新的终端或者直接按CTRL+C退出。然后使用consumer来接收数据,输入如下命令:

6.开启一个consumer

#启动一个consumer
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic dblab

7.验证

在producer窗口中输入字符,然后在consumer中查看是否显示。

老版本0.10.1.0的kafka安装手顺如下:

Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群机来提供实时的消费。下面介绍有关Kafka的简单安装和使用,想全面了解Kafka,请访问Kafka的官方博客

安装

Kafka的使用依赖于zookeeper,安装Kafka前必须先安装zookeeper.

Mac OSX 系统安装Kafka

Mac 系统安装使用HomeBrew工具安装kafka.HomeBrew会自动把所依赖的工具和软件安装好。HomeBrew会把kafka和zookeeper安装在/usr/local/Cellar/ 目录下。
在终端中执行如下命令:

 
  1. brew install kafka

Shell 命令

执行完如上命令,系统自动安装好zookeeper和kafka.

Ubuntu 系统安装Kafka

访问Kafka官方下载页面,下载稳定版本0.10.1.0的kafka.此安装包内已经附带zookeeper,不需要额外安装zookeeper.按顺序执行如下步骤:

 
  1. cd ~/下载
  2. sudo tar -zxf kafka_2.11-0.10.1.0.tgz -C /usr/local
  3. cd /usr/local
  4. sudo mv kafka_2.11-0.10.1.0/ ./kafka
  5. sudo chown -R hadoop ./kafka

Shell 命令

核心概念

下面介绍Kafka相关概念,以便运行下面实例的同时,更好地理解Kafka.
1. Broker
Kafka集群包含一个或多个服务器,这种服务器被称为broker
2. Topic
每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处)
3. Partition
Partition是物理上的概念,每个Topic包含一个或多个Partition.
4. Producer
负责发布消息到Kafka broker
5. Consumer
消息消费者,向Kafka broker读取消息的客户端。
6. Consumer Group
每个Consumer属于一个特定的Consumer Group(可为每个Consumer指定group name,若不指定group name则属于默认的group)

测试简单实例

接下来在Ubuntu系统环境下测试简单的实例。Mac系统请自己按照安装的位置,切换到相应的指令。按顺序执行如下命令:

 
  1. # 进入kafka所在的目录
  2. cd /usr/local/kafka
  3. bin/zookeeper-server-start.sh config/zookeeper.properties

Shell 命令

命令执行后不会返回Shell命令输入状态,zookeeper就会按照默认的配置文件启动服务,请千万不要关闭当前终端.启动新的终端,输入如下命令:

 
  1. cd /usr/local/kafka
  2. bin/kafka-server-start.sh config/server.properties

Shell 命令

kafka服务端就启动了,请千万不要关闭当前终端。启动另外一个终端,输入如下命令:

 
  1. cd /usr/local/kafka
  2. bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic dblab

Shell 命令

topic是发布消息发布的category,以单节点的配置创建了一个叫dblab的topic.可以用list列出所有创建的topics,来查看刚才创建的主题是否存在。

 
  1. bin/kafka-topics.sh --list --zookeeper localhost:2181

Shell 命令

可以在结果中查看到dblab这个topic存在。接下来用producer生产点数据:

 
  1. bin/kafka-console-producer.sh --broker-list localhost:9092 --topic dblab

Shell 命令

并尝试输入如下信息:

hello hadoop
hello xmu
hadoop world

然后再次开启新的终端或者直接按CTRL+C退出。然后使用consumer来接收数据,输入如下命令:

 
  1. cd /usr/local/kafka
  2. bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic dblab --from-beginning

Shell 命令

便可以看到刚才产生的三条信息。说明kafka安装成功。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

kafka安装和简单测试 的相关文章

随机推荐

  • 手把手教你如何在Linux上彻底删除mysql

    1 先查看mysql安装情况 rpm qa grep i mysql 进入到你装mysql文件目录里面 cd usr local mysql 2 删除上图所有信息 rpm ev mysql community libs 5 7 32 1 e
  • postgre写sql时使用别的方法代替IN子句以提高查询效率

    两种方法 自测都好使 60s的执行时间缩短到了2s左右 我遇到的问题大概是这样 比如说我写了个sql select from student where name in lilei hanmeimei 这就是在student表查名字是lil
  • 一文看尽深度学习中的15种损失函数

    点击上方 计算机视觉工坊 选择 星标 干货第一时间送达 作者丨CVHub 来源丨CVHub 编辑丨极市平台 导读 本文详细介绍了深度学习中的各种损失函数的优点和局限性 在机器学习中 损失函数是代价函数的一部分 而代价函数则是目标函数的一种类
  • 常用断言方法

    1 断言是否相等 assertEqual a b msg 测试失败时打印的信息 断言a和b是否相等 相等则测试用例通过 assertNotEqual a b msg 测试失败时打印的信息 断言a和b是否相等 不相等则测试用例通过 2 断言是
  • 运行vue项目时报错defineConfig is not a function

    我遇到的这个问题的场景是这样的 我拉了一个比较早的项目是两年前的 那时候用的vue版本比较的 然后我直接在这个项目中配置代理 添加vue config js文件如下 然后运行vue项目就报错 个人感觉应该是vue cli service版本
  • MySQL:JDBC

    什么是JDBC JDBC Java DataBase Connectivity 称为 Java数据库连接 它是一种用于数据库访问的应用程序 API 由一组用Java语言编写的类和接口组成 有了JDBC就可以 用统一的语法对多种关系数据库进行
  • Tomcat7源码环境搭建

    一 下载Tomcat7源码 从官网上下载Tomcat源码 http mirror bit edu cn apache tomcat tomcat 7 v7 0 70 src apache tomcat 7 0 70 src zip 下载之后
  • vscode配置java环境,纯手把手教,有手就行

    vscode配置java环境 1 下载JDK Java Development Kit java开发工具 进入官网下载https www oracle com java technologies downloads 配置环境变量 检查电脑是
  • 08_Pandas提取含有指定字符串的行(完全匹配,部分匹配)

    08 Pandas提取含有指定字符串的行 完全匹配 部分匹配 以下内容 如何使用pandas提取含有指定字符串的行的方法进行解释说明 行的提取 选择 方法 完全匹配 部分匹配 str contains 包含一个特定的字符串 参数na 缺少值
  • 单片机——串口初探及串口+中断

    简介 设备间接线通信的一种方式 数据一位一位地顺序传送 双向通信 全双工 全双工 A向B发消息时 B也可以向A发消息 半双工 A向B发消息时 B不可以向A发消息 只有当A发完时 B才可以向A发消息 传送速度较慢 常用串口的电器标准协议 RS
  • CMMI资质查询

    http www cmmirz com https sas cmmiinstitute com pars pars aspx
  • C#学习之System.Collections.Generic 与 System.Collections 记录

    1 了解C 集合 System Collections 命名空间 System Collections 命名空间包含接口和类 这些接口和类定义各种对象 如列表 队列 位数组 哈希表和字典 的集合 类 类 说明 ArrayList 使用大小可
  • 自动按参数首字母排序参数

    public static string FormatBizQueryParaMap Dictionary
  • 关于Spring和SpringBoot中动态代理jdk以及Cglib 的区别和实现

    springboot2 x默认使用的代理是cglib代理 因为项目优化 打算写个日志的切面类 于是起了个springboot 工程 在这里面测试 结果在springboot 里面测试正常 能正确打印日志 但是把代码复制到实际项目中 在进入切
  • C++私有成员变量被对象直接访问

    C 访问控制 关键字private 它描述了对类成员的访问控制 使用类的对象方法可以直接访问私有成员函数和变量 类的对象即实例只能通过公共成员函数来访问私有变量和私有成员函数 因此公有成员函数成为对象的私有变量访问的桥梁 在c 中 在类的成
  • javaScript基础面试题 ---宏任务微任务

    宏任务微任务 一 为什么JS是单线程语言 二 JS是单线程 怎样执行异步代码 1 JS是单线程语言 2 JS代码执行流程 同步执行完 再进行事件循环 微任务 宏任务 3 清空所有的微任务 再执行宏任务 4 微任务 Promise then
  • 安装MinGW-w64

    1 下载mingw工具 Windows系统下安装配置 MinGW w64 开发环境 https blog csdn net u010429831 article details 106766165 MinGW w64 下载链接 https
  • 常见的Java报错和原因

    一 常见的java异常分类 Throwable类有两个直接子类 1 Exception 出现的问题是可以被捕获的 2 Error 系统错误 通常由JVM处理 二 被捕获的异常分类 1 Check异常 派生自Exception的异常类 必须被
  • C语言的指针

    C语言的指针 一 指针的优先级 括号 的优先级最高 其次是数组 然后是剩余的 最后是类型 指针p与优先级高的先结合 对于比较复杂的指针 结合后就视为一个整体temp 然后再与剩下的结合进行分析 int p p是一个普通的int型变量 p先与
  • kafka安装和简单测试

    Kafka的安装和简单实例测试 厦大数据库实验室博客 ps 上边文章的kafka版本有点老 是0 10 1 0版本的 最新的kafka版本启动和创建topic等命令有所改变 核心概念 下面介绍Kafka相关概念 以便运行下面实例的同时 更好