- 博客(266)
- 资源 (15)
- 收藏
- 关注

原创 Kafka万亿级消息实战干货~持续更新中
一、Kafka应用层面1.版本升级;1.1.如何滚动升级与回退;2.数据/副本迁移;2.1.broker间数据迁移;2.2.broker内部磁盘间数据迁移;3.流量限制;3.1.生产者流量限制;3.2.消费者流量限制;3.3.follower副本同步leader副本流量限制;4.运维监控告警;4.1.硬件基础监控:4.1.1.网络网络入流量、网络出流量、网络丢包、网络重传、交换机4.1.2.磁盘磁盘write、磁盘read、磁盘ioutil、磁盘iowait、磁盘存储空间、磁盘
2020-10-17 18:18:26
11857
18

原创 Linux查看网卡带宽
ifconfig 查看网卡信息执行命令:ethtool 网卡名称,例:ethtool eth1输出内容如下:Settings for eth1: Supported ports: [ FIBRE ] Supported link modes: 1000baseT/Full 10000baseT/Full Supported pause frame use: Symmetr..
2020-06-14 15:09:16
13075

原创 Kafka常见痛点及优化方案
文章目录1.集群木桶效应,broker雪崩2.集群扩容无法自动负载均衡3.集群副本迁移影响集群稳定4.异常流量打挂集群5.一个业务方异常影响整个集群稳定6.pagecache污染及优化7.所有请求相互抢用请求队列1.集群木桶效应,broker雪崩痛点:当整个集群当leader和follower分布不均衡时,这可能导致流量分布不均衡。一部分节点比较空闲,一部分节点负载过高(这里当负载主要是磁盘IO与网络带宽,CPU基本上不会成为Kafka的瓶颈)。最后导致出现大量副本缺失,直至broker挂掉后,流量
2020-06-11 22:07:17
9328

原创 kafka流量限制
文章目录1.官网参考地址2.可以设置限制流量参数3.流量限制维度及组合4.如何设置流量5.限制用户流量阀值如何设置6.流量限制效果1.官网参考地址http://kafka.apache.org/21/documentation.html#design_quotas2.可以设置限制流量参数producer_byte_rate=1024 #单个broker入流量限制参数,单位字节cons...
2020-05-01 16:28:31
14705

原创 cachestat、cachetop、pcstat-linux系统缓存命中率分析工具
命中率越高,表示使用缓存带来的收益越高,应用程序的性能也就越好。缓存是现在所有高并发系统必需的核心模块,主要作用就是把经常访问的数据(也就是热点数据),提前读入到内存中。这样,下次访问时就可以直接从内存读取数据,而不需要经过硬盘,从而加快应用程序的响应速度。这些独立的缓存模块通常会提供查询接口,方便我们随时查看缓存的命中情况。不过 Linux 系统中并没有直接提供这些接口,所以这里我要介绍一...
2020-04-19 13:59:51
9312

原创 Linux 自动化运维工具 ansible
1.简介ansible是一个自动化运维工具,基于python开发,实现了批量系统配置、批量程序部署、批量命令执行等功能;2.安装只需要在客户端机器上安装ansible命令,无需每台服务器都安装。安装命令:yum install -y ansible3.使用编写一个inventory文件,文件名字可以随便定义,这里我们命名为hosts,文件内容格式如下:[all:vars]ansib...
2020-04-19 13:23:43
8210

原创 Linux Page Cache参数调优在kafka中的应用
1. pdflush刷新脏数据条件cached中的脏数据满足如下几个条件中一个或者多个的时候就会被pdflush刷新到磁盘:(1)数据存在的时间超过了dirty_expire_centisecs(默认30s)时间(2)脏数据所占内存 /(MemFree + Cached - Mapped) > dirty_background_ratio。也就是说当脏数据所占用的内存占(MemFree...
2020-04-06 12:38:29
9330
3
原创 k8s-大规模集群的注意事项
集群是运行 Kubernetes 代理的、 由控制平面管理的一组 节点(物理机或虚拟机)。 Kubernetes v1.25 单个集群支持的最大节点数为 5000。 更具体地说,Kubernetes 旨在适应满足以下所有标准的配置:你可以通过添加或删除节点来扩展集群。集群扩缩的方式取决于集群的部署方式。为了提高大规模集群的性能,你可以将事件对象存储在单独的专用 etcd 实例中。在创建集群时,你可以(使用自定义工具):有关为大型集群配置和管理 etcd 的详细信息, 请参阅为 Kubernetes 运行
2022-12-06 14:53:08
1150
原创 pulsar源码阅读注意事项
fork 一个仓库进行本地分支开发,避免 PR 混乱等问题,本地仓库与主仓库代码同步的问题,这里列出同步相关命令:#添加远程主仓库到 upstreamgit remote add upstream git@github.com:apache/pulsar.git#更新主仓库代码git fetch upstream#本地仓库切换到 master,并 merge 最新远程代码git checkout mastergit merge upstream/mastergit push origin
2022-05-15 22:00:23
386
原创 avro数据格式说明
1.API参考文档地址https://avro.apache.org/docs/current/api/java/index.html2.avro数据格式定义官网说明:https://avro.apache.org/docs/current/spec.html这里定义一个简单的schema文件user.avsc,注意,后缀一定是avsc,其中的内容如下:{ "namespace": "com.yyj.avro.demo", "type": "record", "name":
2022-04-30 19:04:29
4076
原创 prometheus的METRIC TYPES
https://prometheus.io/docs/concepts/metric_types/#gauge
2022-04-23 21:13:52
338
原创 正则表达式字符串截取
#正则:/.*topic=\"([^\"]+)-partition-.*/#字符串ulsar_rate_in{cluster="pulsar-cluster", instance="localhost:8085", job="pulsar_broker", namespace="yyj_tenant/yyj_ns", topic="persistent://yyj_tenant/yyj_ns/yyj1-partition-1"}#匹配结果persistent://yyj_tenant/yyj_
2022-04-23 18:11:04
572
原创 bookkeeper源码解析
接收网络请求入口类 BookieRequestHandler/** * Serverside handler for bookkeeper requests. */class BookieRequestHandler extends ChannelInboundHandlerAdapter { private static final Logger LOG = LoggerFactory.getLogger(BookieRequestHandler.class); privat.
2022-04-17 11:17:24
376
原创 prometheus配置文件prometheus.yml基础配置
# my global configglobal: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global
2022-04-13 22:01:11
1851
2
原创 pulsar 卸载数据到aws-s3
参考链接:https://hub.streamnative.io/offloaders/aws-s3/2.5.1
2022-04-08 22:26:57
349
原创 docker k8s helm常用命令梳理
####################kubectl#####################获取指定namespace的pod,service,deploy,statefulsets,cmkubectl get pod,svc,deploy,statefulsets,cm -n yyj#获取持久化卷及卷的申请kubectl get pv,pvc###################helm########################渲染模版,看看渲染结果,不安装/User
2022-03-27 13:31:31
1569
原创 Prometheus远程写Metric Java代码实现
大致思路先写下,prometheus.yml加个配置项,远程写是调用http请求来写的,数据格式是protobuf(一种自定义的编码格式),编码格式是snappy(一种压缩格式);远程写通过snappy先压缩,然后protobuf编码的字节数组请求的;接收到远程写数据时是乱码,先用snappy进行解压缩,prometheus官网文档远程写提供remote.proto(包含编码和解码),remote.proto文件中依赖了types.proto和gogo.proto两个文件,我是在prometheus源码的包
2022-03-19 13:38:42
3085
原创 Mac安装prometheus node_exporter
Mac 安装prometheusbrew install prometheus启动prometheusprometheus --config.file=/usr/local/etc/prometheus.yml#web UIlocalhost:9090安装启动node_exporterbrew install node_exporterbrew services start node_exporter启动后,可以通过http://localhost:9100/查看,如图:...
2022-03-19 11:23:44
2585
原创 clickhouse安装教程
官网地址安装教程https://clickhouse.com/learn/lessons/gettingstarted/#1-installing-clickhouse
2022-03-18 22:48:37
494
原创 prometheus常用语法
1.函数rate()rate函数,rate用来计算两个 间隔时间内发生的变化率(一段时间内平均每秒的增量)。专门用来搭配Counters类型的数据,rate(指标名{筛选条件}[时间间隔])比如 查看1分钟内非idle的cpu使用率rate(node_cpu_seconds_total{mode!="idle"}[1m])irate()rate与irate的区别irate和rate都会用于计算某个指标在一定时间间隔内的变化速率。但是它们的计算方法有所不同:irate取的是在指定时间范围内的
2022-03-17 18:15:15
2435
原创 pulsar配置文件常用配置项
#bookeeper.conf配置zkTimeout=30000zkServers=localhost:2181/pulsarzkLedgersRootPath=/ledgerszkEnableSecurity=falsewriteBufferSizeBytes=65536useHostNameAsBookieID=falsestatsProviderClass=org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProviders
2022-03-07 22:59:55
2213
原创 Flink Kafka Connector源码核心
入口依然是通过SPI机制找到kafka的factory(KafkaDynamicTableFactory),Flink中大量使用了SPI机制,有时间再整理一篇SPI在Flink中的应用。话不多说,进入正题。Source通过createDynamicTableSource方法创建 kafka source,这里主要做几件事:从context获取table ddl中相关的信息、比如schema、with属性,生成TableFactoryHelper辅助工具类。根据with中的key/value for
2022-03-05 22:15:10
342
原创 阿里云maven仓库地址
#在maven的settings.xml文件中配置 <mirrors> <!-- mirror | Specifies a repository mirror site to use instead of a given repository. The repository that | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are
2022-03-02 13:23:57
752
原创 flink社区动态
https://cwiki.apache.org/confluence/display/FLINK/Flink+Improvement+Proposals
2022-02-25 11:29:12
688
原创 pulsar常用命令
#创建安全认证keybin/pulsar tokens create-secret-key --output data/admin-secret.key#创建角色,生成tokenbin/pulsar tokens create --secret-key data/admin-secret.key --subject pulsaradmin################################################################################
2022-02-23 14:29:24
1184
原创 hadoop单机环境搭建
#配置Java环境变量export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home#配合Hadoop homeexport HADOOP_HOME=/Users/yangyijun/workspace/soft/hadoop#设置Hadoop配置文件路径export HADOOP_CONF_DIR=/Users/yangyijun/workspace/soft/hadoop/etc/hadoop
2022-02-19 20:25:01
971
原创 WeakReference类详解
import java.lang.ref.WeakReference;public class WeakReferenceTest { public static void main(String[] args) throws InterruptedException { WeakReference<String> wr1 = new WeakReference<String>(new String("弱引用,如果是对象,则遇到gc将被回收;如果是非对象,
2021-11-27 21:53:25
419
jquery easyui
2015-03-08
ECharts图表插件
2014-12-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人