Linux安装Kafka

作者: 问题_解决_分享_讨论_最优 | 来源:发表于2020-01-20 02:11 被阅读0次

kafka是一个分布式消息队列。具有高性能、持久化、多副本备份、横向扩展能力。生产者往队列里写消息,消费者从队列里取消息进行业务逻辑。一般在架构设计中起到解耦、削峰、异步处理的作用。kafka对外使用topic的概念,生产者往topic里写消息,消费者从读消息。为了做到水平扩展,一个topic实际是由多个partition组成的,遇到瓶颈时,可以通过增加partition的数量来进行横向扩容。单个parition内是保证消息有序。每新写一条消息,kafka就是在对应的文件append写,所以性能非常高。

基础知识

什么是消息队列(Message Queue)?

  • 消息(Message)

网络中的两台计算机或者两个通讯设备之间传递的数据。例如说:文本、音乐、视频等内容。

  • 队列(Queue)

一种特殊的线性表(数据元素首尾相接),特殊之处在于只允许在首部删除元素和在尾部追加元素。入队、出队。

  • 消息队列(MQ)

消息+队列,保存消息的队列。消息的传输过程中的容器;主要提供生产、消费接口供外部调用做数据的存储和获取。

MQ分类

MQ主要分为两类:点对点(p2p)、发布订阅(Pub/Sub)

共同点:

*消息生产者生产消息发送到queue中,然后消息消费者从queue中读取并且消费消息。

不同点:

p2p模型包括:消息队列(Queue)、发送者(Sender)、接收者(Receiver)
一个生产者生产的消息只有一个消费者(Consumer)(即一旦被消费,消息就不在消息队列中)。比如说打电话。
Pub/Sub包含:消息队列(Queue)、主题(Topic)、发布者(Publisher)、订阅者(Subscriber)。每个消息可以有多个消费者,彼此互不影响。比如我发布一个微博:关注我的人都能够看到。

那么在大数据领域呢,为了满足日益增长的数据量,也有一款可以满足百万级别消息的生成和消费,分布式、持久稳定的产品——Kafka。

vKafka概念

在要了解Kafka之前,必须先了解主题,经纪人,生产者和消费者等主要术语。 下图说明了主要术语,表格详细描述了图表组件。如已了解的可以跳过此部分。

Linux安装Kafka

启动Kafka Broker后,在ZooKeeper终端上键入命令 jps,效果如下:

Linux安装Kafka

3.3 停止kafka

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

回到顶部

vKafka topic

4.1 创建topic

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic demo

其中demo为创建的topic名称。

Linux安装Kafka

如上图,创建了一个名为 demo 的主题,其中包含一个分区和一个副本因子。 创建成功之后会输出:Created topic "demo".

Linux安装Kafka

如上图,创建主题后,系统会在config / server.properties文件中的"/ tmp / kafka-logs /"中指定的创建主题的日志。

4.2 查询topic列表

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

4.3 查看topic信息

bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic demo

4.3 删除topic

bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic demo

vKafka 生产/消费

5.1 启动生产者

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

从上面的语法,生产者命令行客户端需要两个主要参数 -

代理列表 - 我们要发送邮件的代理列表。 在这种情况下,我们只有一个代理。 Config / server.properties文件包含代理端口ID,因为我们知道我们的代理正在侦听端口9092,因此您可以直接指定它。主题名称:demo。

5.2 启动消费者

为了方便测试,另启一个sheel窗口 这样效果更明显。需要注意的是旧版本和新版本的命令是不一样的

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic demo --from-beginning

报错提示:zookeeper is not a recognized option

发现在启动的时候说使用 --zookeeper是一个过时的方法,最新的版本中命令如下:

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic demo --from-beginning

可以开启两个终端,一个发送消息,一个接受消息。效果如下:

Linux安装Kafka

Kafka 博客总结

Kafka是一个统一的平台,用于处理所有实时数据Feed。 Kafka支持低延迟消息传递,并在出现机器故障时提供对容错的保证。 它具有处理大量不同消费者的能力。 Kafka非常快,执行2百万写/秒。 Kafka将所有数据保存到磁盘,这实质上意味着所有写入都会进入操作系统(RAM)的页面缓存。 这使得将数据从页面缓存传输到网络套接字非常有效。

相关文章

  • Kafka界面管理工具-kafkamanager

    在上一篇文章《Linux安装Kafka》中,已经介绍了如何在Linux安装Kafka,以及Kafka的启动/关闭和...

  • kafka的安装及页面监控

    kafka的安装: 下载 kafka的安装文件。 linux下解压:tar -zxvf ./kafka_2.11-...

  • Linux解压安装Kafka

    Linux解压安装Kafka MacBook Linux安装zookeeper[https://blog.csdn...

  • kafka 安装

    kafka 安装 下载kafka源码拷贝到/usr/local,添加path 安装JDK 安装 linux 下载r...

  • Kafka学习笔记02(安装部署)

    kafka安装部署 2.2.1 集群安装安装zk下载kafka 版本0.11复制到linux,解压修改 serve...

  • mac(Linux)安装配置kafka环境

    mac(Linux)安装配置kafka环境 本文介绍如何在Mac系统上安装和配置kafka环境,也适用于Linux...

  • kafka2.11-1.0.0集群安装

    kafka安装记录1、准备环境使用VMware安装3台Linux服务器 2、安装JDK&ZK&KAFKA安装JDK...

  • Linux下搭建kafka环境

    【前言】【Kafka】Linux安装Java Apache官网:http://kafka.apache.org/d...

  • Flume连接Kafka

    使用flume读取linux的文本文件,将数据发送到kafka 安装好zk集群,安装好kafka集群,安装好flu...

  • Linux安装Kafka

    本文介绍Linux安装Kafka。 1.Kafka简介 Kafka也是开源与Apache开源基金会的项目,由Sca...

网友评论

    本文标题:Linux安装Kafka

    本文链接:https://www.haomeiwen.com/subject/lqyvactx.html