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 本身是没有图形 ...
随机推荐
- Java开发学习(三十五)----SpringBoot快速入门及起步依赖解析
一.SpringBoot简介 SpringBoot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化 Spring 应用的初始搭建以及开发过程. 使用了 Spring 框架后已经简化了我 ...
- MyBatis创建第二个项目
MyBatis创建第二个项目 Mysql文件配置 /* Navicat Premium Data Transfer Source Server : Mybatis Source Se ...
- 在 Kubernetes 集群中使用 NodeLocal DNSCache
转载自:https://www.qikqiak.com/post/use-nodelocal-dns-cache/ NodeLocal DNSCache 通过在集群节点上运行一个 DaemonSet ...
- Prometheus监控Nginx
转载自:https://www.cnblogs.com/you-men/p/13173245.html CentOS7.3 prometheus-2.2.1.linux-amd64.tar.gz ng ...
- 在CentO7系统上配置Springboot项目jar包开机自启动
官方文档地址:https://docs.spring.io/spring-boot/docs/current/reference/html/deployment.html#deployment-ins ...
- win10系统应用商店打开后无法联网 代码: 0x80131500 的解决办法
官方提供的建议网址: https://answers.microsoft.com/zh-hans/windows/forum/all/代码/cbbe7aaf-8f66-4779-89c8-3c74f5 ...
- LeetCode - 数组的改变和移动
1. 数组的改变和移动总结 1.1 数组的改变 数组在内存中是一块连续的内存空间,我们可以直接通过下标进行访问,并进行修改. 在Java中,对于List类型来说,我们可以通过set(idx, elem ...
- win7升级到win10系统后,node13升级为node16,node版本node-sass版本与不匹配,导致出现npm ERR! ERESOLVE could not resolve
1. 错误npm ERR! code ERESOLVE 系统从win7升级到win10,之前的node版本是13.14.0,现在版本是16.17.1.正常的vue程序无法正常运行.从网上查询得知&qu ...
- 开源动态可监控线程池DynamicTp介绍
前言 使用线程池 ThreadPoolExecutor 过程中你是否有以下痛点呢? 代码中创建了一个 ThreadPoolExecutor,但是不知道那几个核心参数设置多少比较合适 凭经验设置参数值, ...
- mybatis-plugin插件执行原理
mybatis-plugin插件执行原理 今天主要是在看mybatis的主流程源码,其中比较感兴趣的是mybatis的plugin功能,这里主要记录下mybatis-plugin的插件功能原理. pl ...