kafka创建topic_ELK-基础系列(六)-ELK加入消息队列-Kafka部署
Kafka集群部署指南
一、前言
1、Kafka简介
Kafka是一个开源的分布式消息引擎/消息中间件,同时Kafka也是一个流处理平台。Kakfa支持以发布/订阅的方式在应用间传递消息,同时并基于消息功能添加了Kafka Connect、Kafka Streams以支持连接其他系统的数据(Elasticsearch、Hadoop等)
Kafka最核心的最成熟的还是他的消息引擎,所以Kafka大部分应用场景还是用来作为消息队列削峰平谷。另外,Kafka也是目前性能最好的消息中间件。
2、Kafka架构
在Kafka集群(Cluster)中,一个Kafka节点就是一个Broker,消息由Topic来承载,可以存储在1个或多个Partition中。发布消息的应用为Producer、消费消息的应用为Consumer,多个Consumer可以促成Consumer Group共同消费一个Topic中的消息。
3、准备工作
1、Kafka服务器
准备3台CentOS服务器,并配置好静态IP、主机名
软件版本说明
2、ZooKeeper集群
Kakfa集群需要依赖ZooKeeper存储Broker、Topic等信息,这里我们部署三台ZK
参考下一篇:
奇哥:ELK-基础系列(六)-ELK加入消息队列-Zookeeperzhuanlan.zhihu.com
二、部署过程
1、应用&数据目录
#创建应用目录
mkdir /usr/kafka#创建Kafka数据目录
mkdir /kafka
# 创建日志目录
mkdir /kafka/logs
chmod 777 -R /kafka
2、下载&解压
Kafka官方下载地址:https://kafka.apache.org/down... 这次我下载的是2.3.0版本
#进入 opt下
kafka_2.12-2.3.0.tgz 其中2.12是Scala编译器的版本,2.3.0才是Kafka的版本
3、Kafka节点配置
#进入应用目录
cd /usr/kafka/kafka_2.12-2.3.0/#修改配置文件
vim config/server.properties
通用配置
配置日志目录、指定ZooKeeper服务器
# A comma separated list of directories under which to store log files
log.dirs=/kafka/logs# root directory for all kafka znodes.
zookeeper.connect=elk-1:2181,elk-2:2181,elk-3:2181
分节点配置
- Kafka01
broker.id=0#listeners=PLAINTEXT://:9092
listeners=PLAINTEXT://elk-1:9092
- Kafka02
broker.id=1#listeners=PLAINTEXT://:9092
listeners=PLAINTEXT://elk-2:9092
- Kafka03
broker.id=2#listeners=PLAINTEXT://:9092
listeners=PLAINTEXT://elk-3:9092
5、启动Kafka
#进入kafka根目录
cd /usr/kafka/kafka_2.12-2.3.0/
#启动
nohup ./bin/kafka-server-start.sh config/server.properties &#启动成功输出示例(最后几行)
[2019-06-26 21:48:57,183] INFO Kafka commitId: fc1aaa116b661c8a (org.apache.kafka.common.utils.AppInfoParser)
[2019-06-26 21:48:57,183] INFO Kafka startTimeMs: 1561531737175 (org.apache.kafka.common.utils.AppInfoParser)
[2019-06-26 21:48:57,185] INFO [KafkaServer id=0] started (kafka.server.KafkaServer)
三、Kafka测试
1、创建Topic
在kafka01(Broker)上创建测试Tpoic:test-ken-io,这里我们指定了3个副本、1个分区
bin/kafka-topics.sh --create --bootstrap-server 192.168.88.51:9092 --replication-factor 3 --partitions 1 --topic test-ken-io
Topic在kafka01上创建后也会同步到集群中另外两个Broker:kafka02、kafka03
2、查看Topic
我们可以通过命令列出指定Broker的
bin/kafka-topics.sh --list --bootstrap-server 192.168.88.52:9092
3、发送消息
这里我们向Broker(id=0)的Topic=test-ken-io发送消息
bin/kafka-console-producer.sh --broker-list 192.168.88.51:9092 --topic test-ken-io#消息内容
> test by ken.io
4、消费消息
在Kafka02上消费Broker03的消息
bin/kafka-console-consumer.sh --bootstrap-server 192.168.88.53:9092 --topic test-ken-io --from-beginning
在Kafka03上消费Broker02的消息
bin/kafka-console-consumer.sh --bootstrap-server 192.168.88.52:9092 --topic test-ken-io --from-beginning
然后均能收到消息
test by ken.io
这是因为这两个消费消息的命令是建立了两个不同的Consumer 如果我们启动Consumer指定Consumer Group Id就可以作为一个消费组协同工,1个消息同时只会被一个Consumer消费到
bin/kafka-console-consumer.sh --bootstrap-server 192.168.88.53:9092 --topic test-ken-io --from-beginning --group testgroup_kenbin/kafka-console-consumer.sh --bootstrap-server 192.168.88.52:9092 --topic test-ken-io --from-beginning --group testgroup_ken
四、备注
1、Kafka常用配置项说明
Kafka常用Broker配置说明:
kafka创建topic_ELK-基础系列(六)-ELK加入消息队列-Kafka部署相关推荐
- 阿里云消息队列Kafka商业化:支持消息无缝迁移到云上
摘要: 7月25日,阿里云宣布正式推出消息队列Kafka,全面融合开源生态.在兼容Apache生态的基础上,阿里云消息队列Kafka彻底解决了开源产品稳定性不足的痛点,可用性达99.9%,数据可靠性9 ...
- 消息中间件系列(五):MQ消息队列的12点核心原理总结
消息队列已经逐渐成为分布式应用场景.内部通信.以及秒杀等高并发业务场景的核心手段,它具有低耦合.可靠投递.广播.流量控制.最终一致性 等一系列功能. 无论是 RabbitMQ.RocketMQ.Act ...
- 分布式消息队列 Kafka
分布式消息队列 Kafka 2016-02-25 杜亦舒 Kafka是一个高吞吐量的.分布式的消息系统,由Linkedin开发,开发语言为scala 具有高吞吐.可扩展.分布式等特点 适用场景 活动数 ...
- 阿里云正式推出消息队列Kafka:全面融合开源生态
摘要: 在全面兼容Apache Kafka生态的基础上,消息队列Kafka彻底解决Apache Kafka稳定性不足的长期痛点,并且支持消息无缝迁移到云上. 近日,阿里云宣布正式推出消息队列Kafka ...
- 光速入门消息队列Kafka
文章目录 光速入门消息队列Kafka 消息队列 知识要点 2.1 背景.问题的产生 2.2 消息队列应运而生 2.3 消息队列的特点 认识kafka 知识要点 2.1 认识kafka 2.2 kafk ...
- 消息队列 Kafka的架构原理 (小白必看)
最终大家会掌握 Kafka 中最重要的概念,分别是 Broker.Producer.Consumer.Consumer Group.Topic.Partition.Replica.Leader.Fol ...
- 消息队列kafka的面试问题汇总
1.为什么要使用消息队列MQ? kafka的作用:解耦,异步,削峰(解决高峰期瘫痪) 2.架构中引入MQ之后可能存在的问题? 系统的可用性降低了,因为一旦MQ遇到故障,整个系统就歇菜了 系统的复杂性变 ...
- 消息队列——kafka基础
KafKa 首先自然是要列出Kafka官网地址啦:https://kafka.apache.org/ 概述 定义 Kafka 是一个分布式的---基于发布/订阅模式的消息队列(Message Queu ...
- 消息队列系列之分布式消息队列Kafka
介绍 ApacheKafka®是一个分布式流媒体平台.这到底是什么意思呢? 我们认为流媒体平台具有三个关键功能: 它可以让你发布和订阅记录流.在这方面,它类似于消息队列或企业消息传递系统. 它允许 ...
最新文章
- Centos7 上安装Docker
- 甲子光年微信公众号往期精华文章[2019-08-14]
- Flutter开发之SimpleDialog对话框组件-1(40)
- 【转】三天学好ADO
- python中dataframe导出文件_使用Python将Pandas DataFrame导出为PDF文件
- 如何在window下杀死进程?
- ethercat通讯协议_工业控制常用接口协议大全,长见识了
- jelly bean android,Jelly Bean占Android系统份额突破10%
- 安全测试===sqlmap(壹)转载
- javascript图片库威力增强版
- 数据结构排序系列详解之七 归并排序
- XmlHttpRequest错误:Access-Control-Allow-Origin不允许使用原点null
- 8.Jenkins 权威指南 --- 自动化部署和持续交付
- 2014年计算机应用文摘,2014年江西信息技术高考试卷Word版
- 计算机维修行业中年,35岁改行的5个职业 中年转行也很轻松,你选对了吗
- npm install 报错 Failed at the XXX install script
- 港科夜闻|全国政协副主席梁振英先生率香港媒体高管团到访香港科大(广州)...
- m4a转如何快速转换为wav格式呢
- 前端开发系列(十六)网页布局教程(2)
- Could not find artifact com.oracle:ojdbc6:pom:11.2.0.3 in central
热门文章
- 私有化 Serverless Application 的探索与思考
- 华为最新人事调整:余承东任智能汽车解决方案 BU CEO;美团悄悄更换抽佣规则,佣金不降反升;Scala 3 正式发布|极客头条...
- ElasticSearch 如何使用 TDigest 算法计算亿级数据的百分位数?
- 联手三年,获取数千名客户,阿里云如何重构 Elastic 开放免费的技术?
- 热点 | Excel不“香”了,数据分析首选Python!
- Async Python 竟不比sync Python 快,怎么回事?
- JS、Java、C 依然强势,Go、Kotlin、Python 成为潜力股,2020 开发者生态系统报告揭晓!...
- Mybatis 逆向工程使用姿势不对文档全被清空,一怒之下写了个插件……
- 如何摆脱初学者的不自信,成为一名专业编程人士?
- 如何使用 Spring 对数据库进行 CURD?