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)
消息队列简介 什么是消息队列? 首先,我们来看看什么是消息队列,维基百科里的解释翻译过来如下: 队列提供了一种异步通信协议,这意味着消息的发送者和接受者不需要同时与消息保持联系,发送者发送的消息会存储 ...
随机推荐
- ansible笔记(10):初识ansible playbook
ansible笔记():初识ansible playbook 假设,我们想要在test70主机上安装nginx并启动,我们可以在ansible主机中执行如下3条命令 ansible test70 -m ...
- 使用percona-xtrabackup工具对mysql数据库的备份方案
使用percona-xtrabackup工具对mysql数据库的备份方案 需要备份mysql的主机 172.16.155.23存放备份mysql的主机 172.16.155.22 目的:将155.23 ...
- C/C++中容易造成内存溢出的函数
1.strcpy() strcpy()函数将源字符串复制到缓冲区.没有指定要复制字符的具体数目.复制字符的数目直接取决于源字符串中的数目.如果源字符串碰巧来自用户输入,且没有专门限制其大小,则有可能会 ...
- Ex 2_23 如果一个数组超过半数的元素都相同时,该数组被称为含有一个主元素..._第二次作业
将数组A划分为两个数组A1和A2 ,各含有A的一半元素或一半多一个.若A中含有主元素x,则A1和A2中至少有一个数组含有主元素x,对A1和A2递归地计算有无主元素,若A只含有一个元素,则A的主元素就是 ...
- 【原创】大数据基础之Benchmark(1)HiBench
HiBench 7官方:https://github.com/intel-hadoop/HiBench 一 简介 HiBench is a big data benchmark suite that ...
- Django 笔记(三)模版路径 ~ 静态引用
1.模版路径: 在 settings,py 里的 TEMPLATES = [] 内添加一句代码拼接路径 'DIRS': [os.path.join(BASE_DIR, 'templates')] 有两 ...
- -bash: /opt/cslc/jdk1.8.0_144/bin/jps: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录
yum install -y glibc.i686 解决问题
- VM_Centos7.3_X64_安装Oracle12C 总结笔记
声明:本文居多内容参考原文来之网络: 一:安装Centos7.3 虚拟机 1:操作系统下载 CentOS 7官方下载地址:https://www.centos.org/download/ 说明:本案例 ...
- select下拉框可以直接取list里的内容 不用非得转map (不得不承认我是个ZZ,这么简单的问题才反应过来,--^--)
需求描述:select下拉框的填充项,从后台传来的list中获取 自黑一下:之前有篇随笔,写的是通过map传到前台,在前台的select中的value属性取值 用map的key,而select的tex ...
- sql中某条件不为空,可能有的小祖宗会喷了,这还用总结?emmm,我渣,我觉得有一点意思对于第二种(土味)
需求说明:存在父子关系的单表,父级别的parent_id为空,那么要得到所有的子级别的数据信息,查询的条件就是:父id不为空. 个人做法:where parent_id is not null or ...