Kafka教程(一)基础入门:基本概念、安装部署、运维监控、命令行使用

- 1.基本概念
- 背景
- 领英->Apache
- 分布式、消息发布订阅系统
- 角色
- 存储系统
- 消息系统
- 流处理平台-Kafka Streaming
- 特点
- 高吞吐、低延迟
- cg消费不同分区
- 可扩展性(热扩展)
- 持久性、可靠性
- 容错性(n-1个replica)
- 高并发(数千个客户端☆)
- 作用
- 削峰填谷(Peak cut)+解耦
- 流式计算:计算系统的前置缓存和输出结果缓存
- 2.安装部署
- zookeeper集群
- zoo.cfg
- server.1/2/3(big02:2888:3888)
- 2888(leader监听此端口、用于zk内部通信)
- 3888(leader选举)
- clientPort:2181
- 为客户端提供服务
- dataDir
- myid文件生成
- data目录下创建
- echo 1 > myid
- 对应server1、2、3
- /etc/profile配置环境变量
- 配置分发与启停zkServer.sh
- 集群一键启停-ssh
- kafka集群
- server.propertis
- log数据存储目录
- zk集群地址2181(zk只配端口)
- profile
- 配置export PATH=$PATH:$KAFKA/bin
- source生效文件
- 启停与操作
- kafka-server-start/stop.sh
- kafka-topics.sh
- kafka-console-producer/consumer.sh
- 3.运维监控
- Kafka Eagle(EFAK)
- 配置数据库
- ke.sh启动
- Kafka Manager(CMAK)
- JMX远程连接端口
- RMI实际通信端口
- sh文件内配置
- server-start
- run-class
- 启动时指定
- JMX_PORT=9999 bin/kafka-server-start.sh
- Kafka Offset Monitor
- Kafka Web Console
- scala编写的java web程序
- 类似Monitor,但更复杂
- 需要配置数据库
- 安装sbt 打包、运行run
- JMX自开发管理系统
- 4.命令行工具
- 概述
- 启停、配置
- 生产消费、主题管理
- 性能测试perf-test
- 日志内容查看dump-log
- 优先副本选举prefered-replica-election
- 分区再分配reassign
- topics
- 信息查看--describe
- Replica
- ISR
- OSR
- 创建--create
- 基本方式
- 指定分区个数和副本数量replication-factor
- 手动指定分区分配
- --replica-assignment
- 0:1:3,1:2:6(分别指两个分区的节点id)
- 修改配置--alter
- 增加分区数
- --partitions 3
- 动态配置topic参数
- --config compression=gzip
- console-producer
- console-consumer
- 指定分区--pratition
- 偏移量指定策略
- earliest
- latest
- 指定
- 指定偏移量--offset 2
- 默认:之前记录的偏移量
- 消费者组
- groupId配置与查看
- 查看:consumer-groups.sh --list
- 数量变更触发rebalance
- 用于提高消费并行度
- 组与组之间无关系,组内分配partition消费
- 消费位移
- __consumer_offset
- 指定formatter工具类解析topic内的数据
- 确定groupid的分区
- groupId的哈希码对总分区数取余
- configs
- 指令类型
- 变更alter
- 查看describe
- 支持类型
- topic主题
- broker
- 用户
- 客户端
- 命令
- 指定类型(--entity-type)
- 指定具体名(--entity-name)
- 配置
- 添加修改配置
- --config compression.type=gzip
- --add-config xxx
- 删除配置
- --delete-config compression.type
Kafka教程(一)基础入门:基本概念、安装部署、运维监控、命令行使用的更多相关文章
- Azure DevOps Server 入门实践与安装部署
一,引言 最近一段时间,公司希望在自己的服务器上安装本地版的 Azure DevOps Service(Azure DevOps Server),用于项目内的测试,学习.本着学习的目的,我也就开始学习 ...
- JVM基础系列第15讲:JDK性能监控命令
查看虚拟机进程:jps 命令 jps 命令可以列出所有的 Java 进程.如果 jps 不加任何参数,可以列出 Java 程序的进程 ID 以及 Main 函数短名称,如下所示. $ jps 6540 ...
- 运维监控-Open-Falcon安装Agent实战篇
运维监控-Open-Falcon安装Agent实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本文参考链接来自:http://book.open-falcon.org/zh/ ...
- 安装了nodejs后在命令行运行npm报错
安装了nodejs后在命令行运行npm报错:Error: Cannot find module 'internal/util/types' 解决方法:删除目录“C:\Users\mengxiaobo\ ...
- 在Docker中安装.NET Core(使用命令行工具)
在Docker中安装.NET Core目前共有两种方法:1,使用命令行工具安装2,使用VS2017来安装 本文主要介绍使用命令行工具来安装: 1,安装Docker(如果本机已经有Docker环境,可以 ...
- 在CentOS7.6上安装自动化运维工具Ansible以及playbook案例实操
前言 Ansible是一款优秀的自动化IT运维工具,具有远程安装.远程部署应用.远程管理能力,支持Windows.Linux.Unix.macOS和大型机等多种操作系统. 下面就以CentOS 7.6 ...
- Oracle安装完成后,如何用命令行启动和关闭数据库?
Oracle安装完成后,如何用命令行启动和关闭数据库? 解答: 打开:STARTUP [FORCE] [RESTRICT] [PFILE= filename] [OPEN [RECOVER][ dat ...
- centos 7 查看系统/硬件信息及运维常用命令+联想Y430P无线网卡驱动安装
centos 7 查看系统/硬件信息及运维常用命令 当前环境:联想Y430P CentOS 7.3 [root@yan-001 ~] # uname -a # 查看内核/操作系统/CPU信息的Li ...
- Windows下安装appium桌面版和命令行版
安装appium桌面版和命令行版 一 桌面版(打开很慢,常用于辅助元素定位) 1.官网下载window版本: github search appium desktop download late ...
- (大数据工程师学习路径)第一步 Linux 基础入门----基本概念及操作
本节联练习主要有: 1.环境介绍 2.常用 Shell 命令及快捷键 3.Linux 使用小技巧 一.Linux 桌面环境介绍 相对于现在的 Windows 系统,UNIX/Linux 本身是没有图形 ...
随机推荐
- SQL 时间范围和时间粒度
前言 使用 SQL 进行业务数据计算时,经常会遇到两个概念:时间范围 和 时间粒度 .以 最近一天的每小时的用户访问人数 为例: 最近一天 是时间范围 每小时 是时间粒度 常见的时间范围:最近五分钟. ...
- 【项目实战】自备相机+IMU跑通Vins-Mono记录
前言 初次接触SLAM,公司要求用自己的设备来跑通vinsmono这个程序,虽然已经跑通了别人的数据包,但是真正自己上手来运行这个程序,发现真的是困难重重,特意在此记载下来整个过程,以供大家参考. 我 ...
- KubeOperator界面,集群详情中的存储,存储提供商
点击"添加",假设选择的类型是rook-ceph,表示的是在这个k8s集群里创建rook-ceph集群,而不是显示已经存在的集群 意味着可以使用这种办法在k8s集群里创建rook- ...
- 使用gitlab+jenkins+nexus拉取springcloud并根据不同模块构建docker镜像,并推送到nexus里的docker仓库
1.安装gitlab 详情看:https://www.cnblogs.com/sanduzxcvbnm/p/13023373.html 安装好gitlab后,然后创建一个普通用户,编辑用户,给用户设置 ...
- Filter 筛选器(二)之 ExceptionFilter
public class MyExceptionFilter : IAsyncExceptionFilter { private readonly ILogger<MyExceptionFilt ...
- 用copyof来复制数组
public static void main(String[] args) { //Arrays.copyOf将数组复制到另一个数组,截断.扩容 String[] a={"1", ...
- 深入浅出redis缓存应用
0.1.索引 https://blog.waterflow.link/articles/1663169309611 1.只读缓存 只读缓存的流程是这样的: 当查询请求过来时,先从redis中查询数据, ...
- eDP接口简介
1. eDP背景介绍 随着显示分辨率的越来越高,传统的VGA.DVI等接口逐渐不能满足人们的视觉需求. 随后就产生了以HDMI.DisplayPort为代表的新型数字接口,外部接口方面HDMI占据 ...
- pod(七):静态pod
目录 一.系统环境 二.前言 三.静态pod 3.1 何为静态pod 3.2 创建静态pod 3.2.1 使用--pod-manifest-path指定静态pod目录 3.2.2 静态pod默认目录/ ...
- TensorFlow深度学习!构建神经网络预测股票价格!⛵
作者:韩信子@ShowMeAI 深度学习实战系列:https://www.showmeai.tech/tutorials/42 TensorFlow 实战系列:https://www.showmeai ...