kafka基础入门(五)
目录
- 五. KafKa监控
- 5.1 介绍
- 5.2 安装
- 5.3 使用
- 六. Flume对接Kafka
- 七. KafKa Streams
- 八. KafKa面试题
五. KafKa监控
可以参考:https://www.cnblogs.com/keatsCoder/p/13291615.html
可以参考:https://www.cnblogs.com/yangxiaoli/p/13391205.html
5.1 介绍
- 监控工具:Eagle(鹰眼)。
- 功能:通过命令行进行topic的crud很麻烦, 可以通过Ealge来操作. 相当于kfk的图形界面. 另外还能通过Ealge监控kfk生产者消费的速度。
5.2 安装
Eagle通过JMX方式拉取数据
1 修改kfk启动命令
# 修改 kafka-server-start.sh 中的if [ "x$KAFKA_HEAP_OPTS" = "x" ]; thenexport KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" fi# 为if [ "x$KAFKA_HEAP_OPTS" = "x" ]; thenexport KAFKA_HEAP_OPTS="-server -Xms2G -Xmx2G -XX:PermSize=128m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=8 -XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70"export JMX_POST="9999"#export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" fi# 根据配置可以将内存改小一点。
2 给启动文件执行权限
[root@king bin]# pwd /opt/kafka/eagle/eagle/bin [root@king bin]# chmod 777 ke.sh
3 配置环境变量 (必须)
[root@king ~]# vim /etc/profile# shift+G 跳到文件末尾加上下面两行 export KE_HOME=/opt/kafka/eagle/eagle export PATH=$PATH:$KE_HOME/bin# 配完后执行以下命令 刷新 [root@king ~]# source /etc/profile
4 修改配置文件
[root@king ~]# vim /opt/kafka/eagle/eagle/conf/system-config.properties ###################################### # multi zookeeper & kafka cluster list Eagle可以监控多套kfk集群。 ###################################### # kafka.eagle.zk.cluster.alias=cluster1,cluster2 # cluster1.zk.list=tdn1:2181,tdn2:2181,tdn3:2181 # cluster2.zk.list=xdn10:2181,xdn11:2181,xdn12:2181# 只监控一套集群 kafka.eagle.zk.cluster.alias=cluster1 cluster1.zk.list=localhost:2181###################################### # zookeeper enable acl ###################################### cluster1.zk.acl.enable=false cluster1.zk.acl.schema=digest cluster1.zk.acl.username=test cluster1.zk.acl.password=test123###################################### # broker size online list ###################################### cluster1.kafka.eagle.broker.size=20###################################### # zk client thread limit 跟zk连接的线程数,不用动 ###################################### kafka.zk.limit.size=25###################################### # kafka eagle webui port UI界面端口 ###################################### kafka.eagle.webui.port=8048###################################### # kafka jmx acl and ssl authenticate ###################################### cluster1.kafka.eagle.jmx.acl=false cluster1.kafka.eagle.jmx.user=keadmin cluster1.kafka.eagle.jmx.password=keadmin123 cluster1.kafka.eagle.jmx.ssl=false cluster1.kafka.eagle.jmx.truststore.location=/Users/dengjie/workspace/ssl/certificates/kafka.truststore cluster1.kafka.eagle.jmx.truststore.password=ke123456###################################### # kafka offset storage 根据kfk版本不同,消费者将offset存到kfk还是zk ###################################### cluster1.kafka.eagle.offset.storage=kafka # cluster2.kafka.eagle.offset.storage=zk###################################### # kafka metrics, 15 days by default ###################################### # 开启图表 kafka.eagle.metrics.charts=true kafka.eagle.metrics.retain=15###################################### # kafka sql topic records max ###################################### kafka.eagle.sql.topic.records.max=5000###################################### # delete kafka topic token ###################################### kafka.eagle.topic.token=keadmin###################################### # kafka sasl authenticate ###################################### cluster1.kafka.eagle.sasl.enable=false cluster1.kafka.eagle.sasl.protocol=SASL_PLAINTEXT cluster1.kafka.eagle.sasl.mechanism=SCRAM-SHA-256 cluster1.kafka.eagle.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="kafka" password="kafka-eagle"; cluster1.kafka.eagle.sasl.client.id= cluster1.kafka.eagle.blacklist.topics= cluster1.kafka.eagle.sasl.cgroup.enable=false cluster1.kafka.eagle.sasl.cgroup.topics= cluster2.kafka.eagle.sasl.enable=false cluster2.kafka.eagle.sasl.protocol=SASL_PLAINTEXT cluster2.kafka.eagle.sasl.mechanism=PLAIN cluster2.kafka.eagle.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="kafka" password="kafka-eagle"; cluster2.kafka.eagle.sasl.client.id= cluster2.kafka.eagle.blacklist.topics= cluster2.kafka.eagle.sasl.cgroup.enable=false cluster2.kafka.eagle.sasl.cgroup.topics=###################################### # kafka ssl authenticate ###################################### cluster3.kafka.eagle.ssl.enable=false cluster3.kafka.eagle.ssl.protocol=SSL cluster3.kafka.eagle.ssl.truststore.location= cluster3.kafka.eagle.ssl.truststore.password= cluster3.kafka.eagle.ssl.keystore.location= cluster3.kafka.eagle.ssl.keystore.password= cluster3.kafka.eagle.ssl.key.password= cluster3.kafka.eagle.blacklist.topics= cluster3.kafka.eagle.ssl.cgroup.enable=false cluster3.kafka.eagle.ssl.cgroup.topics=###################################### # kafka sqlite jdbc driver address ###################################### kafka.eagle.driver=org.sqlite.JDBC kafka.eagle.url=jdbc:sqlite:/hadoop/kafka-eagle/db/ke.db kafka.eagle.username=root kafka.eagle.password=www.kafka-eagle.org###################################### # kafka mysql jdbc driver address 将一些元数据信息存入mysql ###################################### #kafka.eagle.driver=com.mysql.jdbc.Driver #kafka.eagle.url=jdbc:mysql://127.0.0.1:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull #kafka.eagle.username=root #kafka.eagle.password=123456
5 启动
# 启动之前确保先启动zk再自动kfk [root@king eagle]# ./bin/ke.sh start[2020-12-12 17:16:09] INFO: Status Code[0] [2020-12-12 17:16:09] INFO: [Job done!] Welcome to__ __ ___ ____ __ __ ___ ______ ___ ______ __ ______/ //_/ / | / __/ / //_/ / | / ____/ / | / ____/ / / / ____// ,< / /| | / /_ / ,< / /| | / __/ / /| | / / __ / / / __/ / /| | / ___ | / __/ / /| | / ___ | / /___ / ___ |/ /_/ / / /___ / /___ /_/ |_| /_/ |_|/_/ /_/ |_| /_/ |_| /_____/ /_/ |_|\____/ /_____//_____/ Version 2.0.3 -- Copyright 2016-2020 ******************************************************************* * Kafka Eagle Service has started success. * Welcome, Now you can visit 'http://xxx.xx.xxx.xx:8048' * Account:admin ,Password:123456 ******************************************************************* * <Usage> ke.sh [start|status|stop|restart|stats] </Usage> * <Usage> https://www.kafka-eagle.org/ </Usage> ******************************************************************* [root@king eagle]# ./bin/ke.sh status [root@king eagle]# jps
6 UI界面:
这个玩意特别占内存
5.3 使用
六. Flume对接Kafka
七. KafKa Streams
八. KafKa面试题
kfk中的ISR(InSyncRepli), OSR(OutSyncRepli), AR(AllRepli)代表什么?
kfk中的HW, LOE代表什么?
kfk中如何体现消息的顺序性?
kfk中的分区器 序列化器 拦截器的作用以及原理以及调用顺序.
kfk生产者客户端的整体结构是什么样子的, 使用了几个线程来处理, 分别是什么?
kafka的balance是怎么做的
kafka的消费者有几种模式
为什么kafka可以实现高吞吐?单节点kafka的吞吐量也比其他消息队列大,为什么?
kafka的偏移量offset存放在哪儿,为什么?
Kafka消费过的消息如何再消费
Kafka里面用的什么方式 拉的方式还是推的方式?如何保证数据不会出现丢失或者重复消费的情况?做过哪些预防措施,怎么解决以上问题的?Kafka元数据存在哪?
kafka支不支持事物,
Kafka的原理
消费者组中的消费者个数如果超过topic的分区, 那么就会有消费者消费不到数据. 这句话是否正确?
消费者提交消费位移时提交的是当前消费到的最新消息的offset还是offset+1?
哪些情形会造成重复消费?
哪些情形会造成消息漏消费?
…
kafka基础入门(五)相关推荐
- 罗马音平假名中文可复制_日语零基础入门五十音,日语零基础五十音图表
日语零基础入门五十音,日语入门的最基本要求就是记住五十音图,但是这个记住不仅是你能背下来或是默写下来.而是你需对号入座! 下面是一张五十音图表. 即每个假名单独拿出来你要立马反应出来怎么读.其重要性甚 ...
- kafka基础入门_CodingPark编程公园
文章介绍 本文是kafka基础入门篇,讲解内容包括: 1. 消息队列对比表 2. Kafka概念及特性 3. kafka总体结构 4. kafka各项配置 5. 生产者 6. kafka Broker ...
- Kafka基础入门篇
1 kafka简介 Kafka 是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用与大数据实时处理领域.其主要设计目标如下: 以时间复杂度为O(1)的方式提供消息持久化 ...
- PyTorch基础入门五:PyTorch搭建多层全连接神经网络实现MNIST手写数字识别分类
)全连接神经网络(FC) 全连接神经网络是一种最基本的神经网络结构,英文为Full Connection,所以一般简称FC. FC的准则很简单:神经网络中除输入层之外的每个节点都和上一层的所有节点有连 ...
- kafka基础入门(4):kafka消费者
kafka消费者 kafka消费方式 kafka采用pull(拉)模式,consumer从broker中拉取数据 pull模式的不足:如果Kafka没有数据,消费者可能会陷入循环中,一直返回空数据 k ...
- kafka基础入门(三)
目录 三. kfk的架构深入 3.4 kfk的消费者 3.4.1 消费者的消费方式 3.4.2 分区分配策略 3.4.2.1 RoundRobin轮询 3.4.2.2 Range范围(默认) 3.4. ...
- java5的递归算法_Java基础入门(五)之方法以及递归算法
一.方法 1.1 什么是方法 java中的方法类似于其他语言中的函数 是一段用来完成特定功能的代码片段 1.2 为什么要声明方法 DRY Don't Repeat Yourself(不要写重复的代码) ...
- jquery for循环_前端基础入门五(掌握jQuery的常用api,实现动态效果)
jQuery基本概念 学习目标:学会如何使用jQuery,掌握jQuery的常用api,能够使用jQuery实现常见的效果. 为什么要学习jQuery? [01-让div显示与设置内容.html] 使 ...
- 五万字15张导图Java自学路线,小白零基础入门,程序员进阶,收藏这篇就够了
本文收录于<技术专家修炼> 文中配套资料合集 路线导图高清源文件 点击跳转到文末点击底部卡片回复「资料」领取 哈喽,大家好,我是一条~ 最近粉丝问我有没有Java自学路线,有了方向才能按图 ...
最新文章
- C API向MySQL插入批量数据的快速方法——关于mysql_autocommit
- 物联网配云计算 两情相悦还是单相思?
- python教程:getattr函数和hasattr函数的用法
- java程序并行机制_Java语言具有多种优点和特点,下列选项中,______反映了Java程序并行执行机制的特点。A.多线程B.健...
- linux之lsof查看端口占用情况
- java实用教程——组件及事件处理——处理事件
- Leetcode--287. 寻找重复数
- C++基础14-类和对象之多继承与虚继承
- android序列化好处,浅谈Android序列化
- Android开发--Button的应用
- Qt 在VS2005安装过程
- 机器学习:贝叶斯网络
- 自然语言处理顶会 ACL2019论文接收列表
- 百度首页代码(HTML+CSS+jQuery)
- 原生/RN/Flutter选型
- ESN学习笔记——原理与超参数
- 足球一代又一代得青春
- 六十星系之43紫微天相坐辰戌
- 记一次软考高项【信息系统项目管理师】重点
- CSS实现页脚始终在页面底部