ELK安装、部署、调试(四)KAFKA消息队列的安装和部署

这篇具有很好参考价值的文章主要介绍了ELK安装、部署、调试(四)KAFKA消息队列的安装和部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.简介

Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

Kafka [1]  是一种高吞吐量 [2]  的分布式发布订阅消息系统,有如下特性:

通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。

高吞吐量 [2]  :即使是非常普通的硬件Kafka也可以支持每秒数百万 [2]  的消息。

ELK安装、部署、调试(四)KAFKA消息队列的安装和部署,ELK,ELK,kafka

1.1 使用消息队列好处
1)、提高扩展性:因为消息队列解耦了处理过程,有新增需求时只要另外增加处理过程即可。

2)、提高峰值处理能力:在访问量剧增的情况下,应用仍然需要继续发挥作用。使用消息队列能够使关键组件顶住突发的访问压力,而不会因为突发的超负荷请求而完全崩溃;

3)、提高系统的可恢复性:消息队列降低了进程间的耦合度,所以即使一个处理消息的进程挂掉,加入队列中的消息仍然可以在系统回复后被处理
1.2 kafka的结构

ELK安装、部署、调试(四)KAFKA消息队列的安装和部署,ELK,ELK,kafka

  • Producer:消息生产者,产生的消息将会被发送到某个topic
  • Consumer:消息消费者,消费的消息内容来自某个topic
  • Topic:消息根据topic进行归类,topic其本质是一个目录,即将同一主题消息归类到同一个目录
  • Broker:每一个kafka实例(或者说每台kafka服务器节点)就是一个broker,一个broker可以有多个topic

2.下载

获取我的baidu网盘中ELK
kafka.apache.org 官方网址
由于我下载的filebeat是7.9.3,与这个版本filebeat配合的kafka版本为0.11--2.2.2
https://www.elastic.co/guide/en/beats/filebeat/7.9/kafka-output.html 这里有说明。

Compatibility
This output works with all Kafka versions in between 0.11 and 2.2.2. Older versions might work as well, but are
not supported.

3.安装

tar zxvf kafka_2.11-2.0.1.tgz -C /usr/local
ls
cd /usr/local/
mv kafka_2.11-2.0.1 kafka
./bin 执行文件
./config 配置文件主配置文件为 server.properties

4.配置

vi server.properties

broker.id=0 集群内的唯一标识
listeners=PLAINTEXT://ip[或者主机名]:9092          #配置监听端口  9092位kafka默认端口
log.dirs=/usr/local/kafka/logs      #日志及传输的数据存放目录可以通过“,”分隔存放到多个目录,如
log.dirs=/data1,/data2
num.partitions=6  #定义新的topic有多少个分区
num.retention.hours=60  消息日志保留的时间,单位是小时
#num.retention.minutes 或者num.retention.ms,可以多个参数同时设置,时间最小生效
log.segment.bytes=1073741824  每个段文件的大小,1G为默认值,topic--partition--segement
zookeeper.connect=10.10.10.71:2181,10.10.10.72:2181,10.10.10.73:2181
auto.create.topics.enable=true  #可以自动创建topics
delete.topic.enable=true  #可以自动删除空闲的topics,是逻辑的删除,非物理删除。
zookeeper.connect.timeout.ms=6000

mkdir /data1
mkdir /data2

5.启动kafka 

cd /usr/local/kafka
./bin/kafka-server-start.sh ./config/server.properties -d      #-d 后台执行
或者nohup ./kafka-server-start.sh ../config/server.properties &

启动时可能会报错,注意关闭服务器的防火墙

jps查看

[root@localhost kafka]# jps
23696 Kafka
9271 QuorumPeerMain
24077 Jps

kafka提供了多个命令来查看,创建,修改,删除topic信息,也可以通过命令来测试日志消息
命令存放路径为usr/local/kafka/bin

[root@localhost bin]# pwd
/usr/local/kafka/bin

[root@localhost bin]# ls
connect-distributed.sh        kafka-consumer-groups.sh     kafka-preferred-replica-election.sh  kafka-streams-
application-reset.sh  zookeeper-server-start.sh
connect-standalone.sh         kafka-consumer-perf-test.sh  kafka-producer-perf-test.sh          kafka-topics.sh  
                   zookeeper-server-stop.sh
kafka-acls.sh                 kafka-delegation-tokens.sh   kafka-reassign-partitions.sh         kafka-
verifiable-consumer.sh        zookeeper-shell.sh
kafka-broker-api-versions.sh  kafka-delete-records.sh      kafka-replica-verification.sh        kafka-
verifiable-producer.sh
kafka-configs.sh              kafka-dump-log.sh            kafka-run-class.sh                   trogdor.sh
kafka-console-consumer.sh     kafka-log-dirs.sh            kafka-server-start.sh                windows
kafka-console-producer.sh     kafka-mirror-maker.sh        kafka-server-stop.sh                 zookeeper-
security-migration.sh

例子:kafka的任何操作都需要zookeeper
查看有多少个topic

./kafka-topics.sh  --zookeeper 10.10.10.71:2181,10.10.10.72:2181,10.10.10.73:2181 --list

创建topic

./kafka-topics.sh  --create --zookeeper 10.10.10.71:2181,10.10.10.72:2181,10.10.10.73:2181 --replication-factor
1 --partitions 3 --topic mytopic

实例:

[root@localhost bin]# ./kafka-topics.sh  --create --zookeeper 10.10.10.71:2181,10.10.10.72:2181,10.10.10.73:2181
--replication-factor 1 --partitions 3 --topic mytopic
Created topic "mytopic".
[root@localhost bin]# ./kafka-topics.sh  --zookeeper 10.10.10.71:2181,10.10.10.72:2181,10.10.10.73:2181 --list  
           mytopic
[root@localhost bin]#

看看topic的具体信息

./kafka-topics.sh  --describe --zookeeper 10.10.10.71:2181,10.10.10.72:2181,10.10.10.73:2181  --topic mytopic


[root@localhost bin]# ./kafka-topics.sh  --describe --zookeeper
10.10.10.71:2181,10.10.10.72:2181,10.10.10.73:2181  --topic mytopic
Topic:mytopic   PartitionCount:3        ReplicationFactor:1     Configs:
        Topic: mytopic  Partition: 0    Leader: 1       Replicas: 1     Isr: 1
        Topic: mytopic  Partition: 1    Leader: 2       Replicas: 2     Isr: 2
        Topic: mytopic  Partition: 2    Leader: 3       Replicas: 3     Isr: 3

消费信息
交互式的生成消息到topic mytopic中

./kafka-console-producer.sh  --broker-list 10.10.10.71:9092,10.10.10.72:9092,10.10.10.73:9092 --topic mytopic


ctrl +c  结束查看消费消息

./kafka-console-consumer.sh  --bootstrap-server 10.10.10.71:9092,10.10.10.72:9092,10.10.10.73:9092 --topic
mytopic

./kafka-console-consumer.sh  --bootstrap-server 10.10.10.71:9092,10.10.10.72:9092,10.10.10.73:9092 --topic
mytopic
 --from-beginning  #从头开始消费

删除topic

[root@localhost bin]# ./kafka-topics.sh  --delete --zookeeper 10.10.10.71:2181,10.10.10.72:2181,10.10.10.73:2181
--topic mytopic

[root@localhost bin]# ./kafka-topics.sh  --delete --zookeeper 10.10.10.71:2181,10.10.10.72:2181,10.10.10.73:2181
--topic mytopic
Topic mytopic is marked for deletion.
Note: This will have no impact if delete.topic.enable is not set to true.


 文章来源地址https://www.toymoban.com/news/detail-694089.html

到了这里,关于ELK安装、部署、调试(四)KAFKA消息队列的安装和部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Kafka】消息队列Kafka进阶

    生产者分区写入策略 生产者写入消息到 topic,Kafka 将依据不同的策略将数据分配到不同的分区中。 轮询分区策略 随机分区策略 按key分区分配策略 自定义分区策略 轮询策略   默认的策略,也是使用最多的策略,可以最大限度保证所有消息平均分配到一个分区。如果在生产

    2024年02月15日
    浏览(42)
  • 分布式 - 消息队列Kafka:Kafka生产者发送消息的方式

    不管是把Kafka作为消息队列、消息总线还是数据存储平台,总是需要一个可以往Kafka写入数据的生产者、一个可以从Kafka读取数据的消费者,或者一个兼具两种角色的应用程序。 Kafka 生产者是指使用 Apache Kafka 消息系统的应用程序,它们负责将消息发送到 Kafka 集群中的一个或多

    2024年02月13日
    浏览(44)
  • 分布式 - 消息队列Kafka:Kafka 消费者消息消费与参数配置

    01. 创建消费者 在读取消息之前,需要先创建一个KafkaConsumer对象。创建KafkaConsumer对象与创建KafkaProducer对象非常相似——把想要传给消费者的属性放在Properties对象里。 为简单起见,这里只提供4个必要的属性:bootstrap.servers、key.deserializer 和 value.deserializer。 ① bootstrap.servers 指

    2024年02月12日
    浏览(45)
  • 分布式 - 消息队列Kafka:Kafka生产者发送消息的分区策略

    01. Kafka 分区的作用 分区的作用就是提供负载均衡的能力,或者说对数据进行分区的主要原因,就是为了实现系统的高伸缩性。不同的分区能够被放置到不同节点的机器上,而数据的读写操作也都是针对分区这个粒度而进行的,这样每个节点的机器都能独立地执行各自分区的

    2024年02月13日
    浏览(54)
  • 消息队列——kafka基础

    首先自然是要列出Kafka官网地址啦:https://kafka.apache.org/ 概述 定义 发布/订阅模式 ​ 原文链接:https://blog.csdn.net/tjvictor/article/details/5223309 ​ 定义了一种 一对多 的依赖关系,让 多个订阅者对象同时监听某一个主题对象 。这个主题对象在自身状态变化时,会通知所有订阅者对

    2024年02月04日
    浏览(42)
  • 消息队列 Kafka

    Kafka 是一个分布式的基于发布/订阅模式的消息队列(MQ,Message Queue),主要应用于大数据实时处理领域 在高并发环境下,同步请求来不及处理会发生堵塞,从而触发too many connection错误,引发雪崩效应。比如大量的请求并发访问数据库,导致行锁表锁,最后请求线程会堆积过

    2024年02月07日
    浏览(39)
  • 消息队列之王——Kafka

        在学习kafka之前,我们需要先学习 Zookeeper ,那Zookeeper是什么呢? Zookeeper 是一个开源的分布式的,为分布式框架提供协调服务的Apache项目。         Zookeeper从 设计模式 角度来理解:是一个基于观察者模式设计的 分布式服务管理框架 ,它 负责存储和管理 大家都关心

    2024年01月23日
    浏览(48)
  • 分布式 - 消息队列Kafka:Kafka生产者发送消息的3种方式

    不管是把Kafka作为消息队列、消息总线还是数据存储平台,总是需要一个可以往Kafka写入数据的生产者、一个可以从Kafka读取数据的消费者,或者一个兼具两种角色的应用程序。 Kafka 生产者是指使用 Apache Kafka 消息系统的应用程序,它们负责将消息发送到 Kafka 集群中的一个或多

    2024年02月13日
    浏览(48)
  • Kafka源码解析之SocketServer,kafka消息队列面试题

    ======================================================================= Kafka处理请求不区分优先级,但这种绝对公平的策略有时会发生问题。 比如:创建一个单分区双副本的主题,当时集群中的Broker A机器保存了分区的Leader副本,Broker B保存了Follower副本。突然业务激增,Broker A瞬间积压大量

    2024年04月08日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包