ELK 使用4-Kafka + zookpeer
一、zookpeer操作
1、登录
/application/elk/zookeeper/bin/zkCli.sh -server 127.0.0.1:2181
2、查看结构
ls /

上面的显示结果中:只有zookeeper是,zookeeper原生的,其他都是Kafka创建的
ls /brokers/topics
3、获取配置文件
get /brokers/ids/0

get /brokers/topics/test2/partitions/0

二、kafka操作:
1、增topic
/application/elk/kafka/bin/kafka-topics.sh --zookeeper 192.168.30.41:2181,192.168.30.42:2181,192.168.30.43:2181 --create --topic test --replication-factor 3 --partitions 3
注: partitions指定topic分区数,replication-factor指定topic每个分区的副本数
a、partitions :分区数
1)、控制topic将分片成多少个log。可以显示指定,如果不指定则会使用broker(server.properties)中的num.partitions配置的数量
2)、虽然增加分区数可以提供kafka集群的吞吐量、但是过多的分区数或者或是单台服务器上的分区数过多,会增加不可用及延迟的风险。因为多的分区数,意味着需要打开更多的文件句柄、增加点到点的延时、增加客户端的内存消耗。
3)、分区数也限制了consumer的并行度,即限制了并行consumer消息的线程数不能大于分区数
4)、分区数也限制了producer发送消息是指定的分区。如创建topic时分区设置为1,producer发送消息时通过自定义的分区方法指定分区为2或以上的数都会出错的;这种情况可以通过alter –partitions 来增加分区数。
b、replication-factor副本
1)、replication factor 控制消息保存在几个broker(服务器)上,一般情况下等于broker的个数。
2)、如果没有在创建时显示指定或通过API向一个不存在的topic生产消息时会使用broker(server.properties)中的default.replication.factor配置的数量
2、删topic
/application/elk/kafka/bin/kafka-topics.sh --zookeeper 192.168.30.41:2181,192.168.30.42:2181,192.168.30.43:2181 --delete --topic test1
3、查
/application/elk/kafka/bin/kafka-topics.sh --zookeeper 192.168.30.41:2181,192.168.30.42:2181,192.168.30.43:2181 --describe --topic test

- Leader:负责处理消息的读和写,Leader是从所有节点中随机选择的
- Replicas:列出了所有的副本节点,不管节点是否在服务中。
- Isr:是正在服务中的节点
4、查看所有topic
/application/elk/kafka/bin/kafka-topics.sh --zookeeper 192.168.30.41:2181,192.168.30.42:2181,192.168.30.43:2181 --list
5、生产消息
/application/elk/kafka/bin/kafka-console-producer.sh --broker-list 192.168.30.41:9092,192.168.30.42:9092,192.168.30.43:9092 --topic wohaoshuai

6、消费消息
/application/elk/kafka/bin/kafka-console-consumer.sh --zookeeper 192.168.30.41:2181,192.168.30.42:2181,192.168.30.43:2181 --topic wohaoshuai --from-beginning

7、查看某分区偏移量最大(小)值
/application/elk/kafka/bin/kafka-run-class.sh kafka.tools.GetOffsetShell --topic wohaoshuai --time -1 --broker-list 192.168.30.41:9092,192.168.30.42:9092,192.168.30.43:9092 --partitions 0
注: time为-1时表示最大值,time为-2时表示最小值
8、增加topic分区数
为wohaoshuai增加10个分区
/application/elk/kafka/bin/kafka-topics.sh --zookeeper 192.168.30.41:2181,192.168.30.42:2181,192.168.30.43:2181 --alter --topic wohaoshuai --partitions 10

9、通过group消费消息,当前版本group id需要在配置文件中设置,运行时需指明配置文件。
/application/elk/kafka/bin/kafka-console-consumer.sh --bootstrap-server 192.168.30.41:9092,192.168.30.42:9092,192.168.30.43:9092 --topic wohaoshuai --consumer.config /application/elk/kafka/config/consumer.properties --offset 0 --partition 1
/application/elk/kafka/config/consumer.properties文件中内容为

注:指定分区时就只是取指定分区的消息
10、查看所有消费组
/application/elk/kafka/bin/kafka-consumer-groups.sh --new-consumer --bootstrap-server 192.168.30.41:9092,192.168.30.42:9092,192.168.30.43:9092 --list
11、查看某个消费组的情况
/application/elk/kafka/bin/kafka-consumer-groups.sh --new-consumer --bootstrap-server 192.168.30.41:9092,192.168.30.42:9092,192.168.30.43:9092 --group wohaoshuai_group --describe
ELK 使用4-Kafka + zookpeer的更多相关文章
- 精讲 使用ELK堆栈部署Kafka
使用ELK堆栈部署Kafka 通过优锐课的java架构学习分享,在本文中,我将展示如何使用ELK Stack和Kafka部署建立弹性数据管道所需的所有组件. 在发生生产事件后,恰恰在你最需要它们时,日 ...
- ELK之使用kafka作为消息队列收集日志
参考:https://www.cnblogs.com/fengjian2016/p/5841556.html https://www.cnblogs.com/hei12138/p/7805475 ...
- ELK+filebeat、kafka、zookeeper搭建文档
系统:centos 6.5 JDK:1.8 Elasticsearch-6.0.0Logstash-6.0.0kibana-6.0.0zookeeper-3.5.3kafka_2.12-1.0.0fi ...
- 生产环境Docker部署ELK跨区访问kafka不通问题的解决
由于分布式系统的日志集中采集的需求非常强烈,我们组通过调研和实践搭建了一套基于Docker的日志收集系统Amethyst. 我们首先在测试环境搭建了一套基于Docker swarm集群的ELK分布式环 ...
- linux单机部署kafka(filebeat+elk组合)
filebeat+elk组合之kafka单机部署 准备: kafka下载链接地址:http://kafka.apache.org/downloads.html 在这里下载kafka_2.12-2.10 ...
- 转 Kafka、RabbitMQ、RocketMQ等消息中间件的对比 —— 消息发送性能和优势
Kafka.RabbitMQ.RocketMQ等消息中间件的对比 —— 消息发送性能和优势 引言 分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦.现在开源的消息中间件有很多,前 ...
- Kafka、RabbitMQ、RocketMQ等 消息中间件 介绍和对比
文章目录 1.前言 2.概念 2.1.MQ简介 2.2.MQ特点 2.2.1.先进先出 2.2.2.发布订阅 2.2.3.持久化 2.2.4.分布式 3.消息中间件性能究竟哪家强? 3.1.Kafka ...
- Kafka、RabbitMQ、RocketMQ等消息中间件的介绍和对比(转)
前言在分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦.现在开源的消息中间件有很多,前段时间产品 RocketMQ (MetaQ的内核) 也顺利开源,得到大家的关注. 概念MQ简 ...
- Kafka、RabbitMQ、RocketMQ等消息中间件的介绍和对比
本博客强烈推荐: Java电子书高清PDF集合免费下载 https://www.cnblogs.com/yuxiang1/p/12099324.html 前言 在分布式系统中,我们广泛运用消息中间件进 ...
- 01 . 消息队列之(Kafka+ZooKeeper)
消息队列简介 什么是消息队列? 首先,我们来看看什么是消息队列,维基百科里的解释翻译过来如下: 队列提供了一种异步通信协议,这意味着消息的发送者和接受者不需要同时与消息保持联系,发送者发送的消息会存储 ...
随机推荐
- PHP导入导出csv文件 Summer-CSV
2017年11月9日09:25:56 根据项目实践总结的一个类文件, mac/win下没乱码 简体中文 默认从gb2312转到utf-8 https://gitee.com/myDcool/PHP-C ...
- ebs 12.1.1打中文补丁
环境变量设置 oracle 用户,应用env环境变量 . /u01/app/db/tech_st/11.1.0/PROD_erpapp1.env alias s='sqlplus / as sysdb ...
- C/C++中容易造成内存溢出的函数
1.strcpy() strcpy()函数将源字符串复制到缓冲区.没有指定要复制字符的具体数目.复制字符的数目直接取决于源字符串中的数目.如果源字符串碰巧来自用户输入,且没有专门限制其大小,则有可能会 ...
- Android调试adb devices找不到设备【转】
adb驱动已经安装成功,但是adb devices却无法找到设备,USB大容量存储也是正常: 以前如果出现此种情况,我能想到的原因如下: 1.杀毒软件问题(关闭MacAfee) 2.驱动安装有误,重新 ...
- 随机生成游戏用户昵称(nodejs版本)(含机器人头像,金币等)
1 前言 有时需要生成随机的用户(或机器人)昵称,头像,金币等,但又不想太生硬,可以现在网上爬一些常见昵称到文本中,然后读取出来,随机使用即可. 2 代码 var nickNameArr = []; ...
- 新建项目虚拟环境及pycharm配置
基本操作 查询已有的虚拟环境 workon 激活虚拟环境 workon 虚拟环境名 退出虚拟环境 deactivate 删除虚拟环境 rmvirtualenv 虚拟环境名 查看python版本检查 p ...
- 【进阶1-4期】JavaScript深入之带你走进内存机制(转)
这是我在公众号(高级前端进阶)看到的文章,现在做笔记 https://mp.weixin.qq.com/s/yK4DPKhkmkiroasWJMrJcw 阅读笔记 JS内存空间分为栈(stack).堆 ...
- Oracle imp exp 导入导出 执行脚本
一:用命令 imp/exp 的方式进行数据的导入和导出 一:文件后缀名: 二:oracle 导出 exp 命令 echo 开始备份数据库 if not exist D:\oracle_bak\fil ...
- 《精通Oracle SQL(第2版)》PDF
一:下载途径 二:图书图样 三:目录 第1章 SQL核心 1.1 SQL语言 1.2 数据库的接口 1.3 SQL*Plus回顾 1.3.1 连接到数据库 1.3.2 配置SQL*Plus环境 1.3 ...
- 10,关于在vs2017中的netcore项目使用BundlerMinifier 配置问题
查阅资料 https://github.com/madskristensen/BundlerMinifier/issues/230 今天下载了vs2017 rc 创建了个netcore的web项目,突 ...