自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(261)
  • 资源 (1)
  • 收藏
  • 关注

原创 FlinkSQL源码解析1--提交任务过程

org.apache.flink.table.api.internal.TableEnvironmentImpl#executeSql @Override public TableResult executeSql(String statement) { List<Operation> operations = getParser().parse(statement); if (operations.size() != 1) { throw n

2024-10-30 00:11:34 1097 1

原创 Kafka中是怎么体现消息顺序性的?

Kafka中是怎么体现消息顺序性的?Kafka只能保证分区内消息顺序有序,无法保证全局有序生产者:通过分区的leader副本负责数据顺序写入,来保证消息顺序性消费者:同一个分区内的消息只能被一个group里的一个消费者消费,保证分区内消费有序为什么做不到全局有序:因为消息会发送到不一样的分区,分区之间发送的顺序是无法保证的如何做到并发且全局有序?解题思路并发可以在发送端并发也可以在消费端并发,并发可以通过多线程发送或消费全局有序需要做到只有一个分区或者数据按顺序发

2020-07-20 10:37:35 3019

原创 大量删除hdfs历史文件导致全部DataNode心跳汇报超时为死亡状态问题解决

目录背景:问题产生过程:问题现象:解决过程:相关日志:其他方案:总结:背景:由于测试环境的磁盘满了,导致多个NodeManager出现不健康状态,查看了下,基本都是data空间满导致,不是删除日志文件等就能很快解决的,只能删除一些历史没有用的数据。于是从大文件列表中,找出2018年的spark作业的历史中间文件并彻底删除(跳过回收站)/usr/loc...

2019-08-20 20:47:37 4561 5

翻译 Hive 快速上手--官网中文翻译

目录安装和配置从一个稳定的发行版安装Hive编译Hive源码编译主干的Hive编译分支branch-1在Hadoop 0.20上在0.13之前编译Hive在Hadoop 0.23上在0.13之前编译Hive(Ant)运行Hive运行Hive CLI运行HiveServer2 和 Beeline运行HCatalog运行WebHCat (Temp...

2019-04-30 17:52:22 1779

原创 从Hive的日志文件超大引出磁盘满问题并追踪出NameNode 安全模式的问题与处理

目录发现NameNode安全模式问题初步判断是磁盘满导致安全模式NameNode安全模式解释补充解释尝试重启DataNode重启NameNode总结发现NameNode安全模式问题一次偶然的机会,准备看下Hive的版本,发现无法执行hive脚本,发现Hive命令无法正常进入hive命令行,报错信息如下:ls: cannot access /usr...

2019-04-29 17:32:43 1905

原创 大数据组件的WAL机制的架构设计原理对比

HBase 的 HLog 滚动清理 vs 长时间保留(增加恢复选项但占用存储)ZooKeeper 同步刷盘(强一致) vs Flink 异步刷盘(高性能)增量快照(如 Flink 的 Changelog)可能部分替代传统 WAL。:通过“日志先行”在性能与可靠性之间取得平衡,但需根据场景优化配置。:选择 ZooKeeper 或 HBase(同步 WAL)。存储硬件(如 NVMe)提升 WAL 的写入性能瓶颈。:优先考虑 Redis 或 Kafka(异步刷盘)。Kafka 的日志分段删除策略(按时间/大小)

2025-04-20 00:36:03 836

原创 CountDownLatch实现原理

的共享模式,通过状态。

2025-04-20 00:21:12 245

原创 Doris的向量化执行如何支撑分布式架构和复杂查询

Doris 的向量化执行能力与其和深度结合,通过的协同设计,解决传统分布式数据库在复杂查询场景下的性能瓶颈。

2025-04-17 22:55:43 976

原创 Flink调优面试题及参考答案20道

全量Checkpoint,状态存储在内存(溢出到磁盘),适合小状态、低延迟场景。:Source支持重置偏移(如Kafka),Sink支持幂等写入(如HBase)。:增量Checkpoint,状态存储在磁盘,适合大状态(如TB级)、高可用场景。:允许barrier越过处理中的数据,减少延迟,但恢复时需处理未对齐数据。(RocksDB状态后端):仅上传变化的文件,降低IO压力。:需要事件有序性(如统计报表),但需处理乱序。:低延迟需求场景(如监控告警),但结果不精确。:拆分复杂算子链,减少单任务内存压力。

2025-04-17 22:39:06 1003

原创 MySQL InnoDB 索引与B+树面试题20道

B+树节点存储所有联合列的值,叶子节点存储主键值(非聚簇索引)或行数据(聚簇索引)。:使用联合索引时,查询条件必须从索引的最左列开始,且不能跳过中间列。:每个节点对应一个16KB的页,页是磁盘管理的最小单位。:二级索引的B+树叶子节点存储主键值,查询时需回表。:仅叶子节点存储数据,内部节点仅存储键值(索引)。:内部节点仅存键值,可容纳更多索引,减少树的高度。:主键索引的叶子节点直接存储行数据(数据即索引)。插入数据时,按主键顺序组织数据页,形成平衡树结构。:所有节点(包括内部节点和叶子节点)均存储数据。

2025-04-12 23:02:00 590

原创 OLAP与OLTP架构设计原理对比

区别:OLTP追求事务效率,OLAP追求分析深度。联系:OLTP为OLAP提供数据基础,OLAP反哺业务优化。趋势:HTAP架构兴起,但需权衡场景需求。

2025-04-10 23:48:27 299

转载 【ClickHouse】0:clickhouse学习3之时间日期函数

官方文档: 时间日期函数 | ClickHouse Docsnow() // 2020-04-01 17:25:40 取当前时间toYear() // 2020 取日期中的年份toMonth() // 4 取日期中的月份today() // 2020-04-01 今天的日期yeste

2024-11-30 22:06:18 495

转载 SpringBoot 使用 FTP 操作文件

使用 SpringBoot 配置 FTP 服务器,上传、删除、下载文件。

2024-11-11 15:37:26 222

转载 k8s问题记录 - 机器重启后无法连接(The connection to the server :6443 was refused - did you specify the right host

我此次产生6443报错问题的原因是:检查pod时候,发现所有pod都已宕掉,都是notReady状态,尝试了重启etcd、重启containerd、重启kubelet,都未能解决。猛然间想起来查看SELinux的状态,发现SELinux没有关闭,是permissive状态,所以导致重启机器,重启etcd、重启containerd、重启kubelet均无法重新拉起k8s集群。6443 是api-server监听的端口,master节点6443请求不通。

2024-11-06 23:19:18 1105

转载 Filnk实时数仓(Prometheus监控)

Prometheus社区还提供了大量第三方实现的监控数据采集支持:JMX,CloudWatch,EC2,MySQL,PostgresSQL,Haskell,Bash,SNMP,Consul,Haproxy,Mesos,Bind,CouchDB,Django,Memcached,RabbitMQ,Redis,RethinkDB,Rsyslog等等。在Prometheus的架构设计中,Prometheus Server并不直接服务监控特定的目标,其主要任务负责数据的收集,存储并且对外提供数据查询支持。

2024-11-03 11:36:10 302

原创 删除Windows11的环境变量

今天出现Flink的配置文件路径的环境变量在电脑-》属性-》高级系统设置--》环境变量中添加完以下环境变量后,环境变量查看还是有。

2024-09-29 12:36:39 321

原创 Java类加载器双亲委托模型概述

双亲委派模型的工作过程是:如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成,每一个层次的类加载器都是如此,因此所有的加载请求最终都应该传送到最顶层的启动类加载器中,只有当父加载器反馈自己无法完成这个加载请求(它的搜索范围中没有找到所需的类)时,子加载器才会尝试自己去完成加载。3)否则,将Import列表中的类,委派给Export这个类的Bundle的类加载器加载。4)否则,查找当前Bundle的ClassPath,使用自己的类加载器加载。

2024-09-01 14:12:43 871

转载 YARN, MR History Server和Spark History Server三者的区别:

这时因为,不同的计算模型,其计算task的模式是完全不同的, MR是分map和reduce的, Spark是分stage的, 完全不同,当然需要自己的history server。而YARN中的history server,其实是针对MR的,并非是针对YARN通用平台的服务。上面说到, 虽然spark和MR的模型不同,都有自己的historyserver, 但是有一个是相通的,就是都是在YARN上运行, 每个container有统一的日志存放地址;

2023-03-20 14:33:06 587

转载 Doris SQL 原理解析

本文主要介绍了Doris SQL解析的原理。重点讲述了生成单机逻辑计划,生成分布式逻辑计划,生成分布式物理计划的过程。对应于代码实现是Analyze,SinglePlan,DistributedPlan,Schedule四个部分。Analyze负责对AST进行前期的一些处理,SinglePlan根据AST进行优化生成单机查询计划,DistributedPlan将单机的查询计划拆成分布式的查询计划,Schedule阶段负责决定查询计划下发到哪些机器上执行。由于SQL类型有很多,本文侧重介绍查询SQL的解

2023-03-02 23:42:48 1095 1

原创 Hutool实现按周、月、季度、半年、一年、今年以来统计

Hutool实现按周、月、季度、半年、一年、今年以来统计

2022-09-19 19:25:33 4380

转载 Spark executor中task的数量与最大并发数

根据类DAGScheduler中的submitMissingTasks方法可以知道,在stage中会为每个需要计算的partition生成一个task,换句话说也就是每个task处理一个partition。

2022-08-02 10:06:33 1656

转载 Hadoop文件存储格式(Avro、Parquet、ORC及其他)

相比TEXTFILE和SEQUENCEFILE,RCFILE由于列式存储方式,数据加载时性能消耗较大,但是具有较好的压缩比和查询响应。数据仓库的特点是一次写入、多次读取,因此,整体来看,

2022-07-30 20:01:42 4212

转载 ​TPC-H数据导入MySQL教程​

TPC-H是TPC提供的一个benchmark,用来模拟一个现实中的商业应用,可以生成一堆虚构的数据,且自带一些查询,可以导入到各种数据库中来模拟现实需求,检查性能。具体是怎样的数据见:http://www.tpc.org/tpch/spec/tpch2.16.0.pdf...

2022-07-28 20:32:46 1516 2

转载 TPC-C 、TPC-H和TPC-DS区别

TPC-C:TPC Benchmark C于1992年7月获得批准,是一个在线事务处理(OLTP)基准。 与TPC-A等以前的OLTP基准测试相比,TPC-C更复杂,因为它具有多种事务类型,更复杂的数据库和整体执行结构。 TPC-C涉及五个不同类型和复杂性的并发事务的混合,这些事务可以在线执行或排队等待延迟执行。 该数据库由九种类型的表组成,具有广泛的记录和人口规模。 TPC-C以每分钟事务数(tpmC)衡量。 虽然基准描述了批发供应商的活动,但TPC-C并不限于任何特定业务领域的活动,而是代表必须管理

2022-07-20 23:15:01 3855

转载 Antlr4简易快速入门

Antlr4简易快速入门1. 简介Antlr (ANother Tool for Language Recognition) 是一个强大的跨语言语法解析器,可以用来读取、处理、执行或翻译结构化文本或二进制文件。它被广泛用来构建语言,工具和框架。Antlr可以从语法上来生成一个可以构建和遍历解析树的解析器。2. 谁在使用Hive Spark Oracle Presto Elasticsearch3. 常见的语法分析器Antlr Javacc SqlParser (位于Alib

2022-04-08 09:31:19 2756

翻译 MySQL8.0 GTID 格式和存储

GTID 格式和存储全局事务标识符 (GTID) 是在源服务器(源)上创建并与提交的每个事务相关联的唯一标识符。这个标识符不仅对于它起源的服务器是唯一的,而且在给定的复制拓扑中的所有服务器中都是唯一的。GTID 分配区分在源上提交的客户端事务和在副本上复制的复制事务。当客户端事务在源上提交时,它会被分配一个新的 GTID,前提是该事务已写入二进制日志。保证客户端事务具有单调递增的 GTID,生成的数字之间没有间隙。如果客户端事务没有写入二进制日志(例如,因为事务被过滤掉,或者事务是只...

2022-02-09 11:09:02 635

转载 hbase行键过滤器RowFilter

RowFilter是用来对rowkey进行过滤的,比较符如下: Operator Description LESS 小于 LESS_OR_EQUAL 小于等于 EQUAL 等于 NOT_EQUAL 不等于 GREATER_OR_EQUAL 大于等于 .

2021-12-16 18:02:17 1115

转载 Spark executor中task的数量与最大并发数

关于executor和task的概念可以参考官方文档本文使用的源码是spark 2.0.0版本Task的数量根据类DAGScheduler中的submitMissingTasks方法可以知道,在stage中会为每个需要计算的partition生成一个task,换句话说也就是每个task处理一个partition。//From submitMissingTasks...... val tasks: Seq[Task[_]] = try { stage match {

2021-10-16 16:31:18 1451

转载 CDH端口汇总

service name parameter port number HBase REST Server Port hbase.rest.port 20550 HBase REST Server Web UI Port hbase.rest.info.port 8085 HBase Thrift Server Port hbase.regionserver.thrift.port 9090 HBase Thrift Server Web UI

2021-10-03 11:38:35 700

转载 hadoop(原生及CDH发行版)关键目录、配置文件及服务对应文件名详解

四个最主要的配置文件(原生版本位于$HADOOP_HOME\etc\hadoop目录):mapred-site.xmlcore-site.xmlhdfs-site.xmlyarn-site.xml在CDH发行版中,各目录下的配置及文件及其含义如下:1. 相关目录 /var/log/cloudera-scm-installer : 安装日志目录。/var/log/* : 相关日志文件(相关服务的及CM的)。/usr/share/cmf/ : 程序安装目录。/usr/lib64/cmf..

2021-10-02 22:02:03 1170

转载 日志切割之Logrotate

日志切割之Logrotateposted @2018-05-18 09:54惨绿少年 阅读(54458) 评论(4)编辑收藏举报分类:其他,运维基本功,日常undefined1、关于日志切割  日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到。对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题。除此之外,处理一个单个的庞大日志文件也常常是件十分棘手的事。  logrotate是个...

2021-09-30 16:20:22 418

转载 flink solt和并行度

编译flink-shaded-hadoop-2-uber.jar包从Flink 1.10开始,flink-shaded-hadoop-2-uberFlink项目不再正式支持使用发行版。如果想建立flink-shaded对供应商特定的Hadoop版本,您必须首先描述配置特定供应商的Maven仓库在本地Maven安装在这里。完成此步骤后,将flink-shaded-hadoop-2-uber.jar放入Flink下的/lib目录中。编译环境Flink1.10 Hadoop2.7.7

2021-09-07 23:16:55 568

转载 LSM、B 树、B+树、B*对比

参考B树、B+树、LSM树以及其典型应用场景B树和B+树的插入、删除图文详解BTree vs LSM0. 前言动态查找树主要有:二叉查找树、平衡二叉树、红黑树、B树、B+树。前面三种是典型的二叉查找树,查找的时间复杂度是O(log2N)。涉及到磁盘的读写(比如每个节点都需要从磁盘获取),读写的速度就与树的深度有关系,那么降低树的深度也就可以提升查找效率。这时就提出了平衡多路查找树,也就是B树以及B+树。B树和B+树非常典型的场景就是用于关系型数据库的索引(MySQL)1. B类树1.

2021-09-02 17:55:43 488

原创 解决Yarn中任务信息存储过多导致任务失败的问题

问题现象Hadoop集群的任务提交不上去,一直失败集群资源未出现资源不足的情况查看日志RM出现zk相关报错active的ResourceManager的日志报往zk存储任务状态的时候失败,等待调度器丢弃相关事件2021-08-26 14:53:13 ERROR org.apache.hadoop.yarn.server.resourcemanager.recovery.RMStateStore:857 - State store operation failed java.io.IOExc

2021-08-30 11:50:21 4385

转载 Yarn RM写ZNode超数据量限制bug修复

Yarn RM写ZNode超数据量限制bug修复问题背景线上集群出现过几次 Yarn RM 写 ZK ZNode 的数据量超过 ZNode 限制,导致 RM 服务均进入 Standby 状态,用户无法正常提交任务,整个集群 hang 住,后续排查发现主要是异常任务写 ZNode 数据量太大,超过 ZNode 限制,导致集群其他提交作业的状态信息无法正常写入 ZNode,为避免类似问题再次出现,我们对 RM 写 ZNode 逻辑进行了优化,规避异常任务对整个集群造成的雪崩效应。一、问题复现最直

2021-08-30 11:47:00 800

转载 Fluentd日志采集使用教程

fluentd是何方神圣fluentd是一个实时的数据收集系统,不仅可以收集日志,还可以收集定期执行的命令输出和HTTP请求内容。数据被收集后按照用户配置的解析规则,形成一系列event。每一个event包含如下内容:tag = xxxtime = xxxrecord = { "key1": "value1", "key2": "value2"}其中:tag:为数据流的标记。fluentd中可以具有多个数据源,解析器,过滤器和数据输出。他们之前使用tag来对应.

2021-06-04 14:33:17 7779

翻译 Fluentd 缓冲区设置

缓冲区配置Fluentd输出插件支持< buffer >部分来配置事件的缓冲。缓冲由Fluentd内核处理。缓冲区概述缓冲区位于<match>部分之下。它为那些支持缓冲输出特性的输出插件启用。<match tag.*> @type file # ... <buffer> # ... </buffer>​ # <buffer> section can only be configured o.

2021-06-04 14:18:30 4242

翻译 Fluentd:用Hadoop收集数据(HDFS)

用Hadoop收集数据(HDFS)本文解释了如何使用Fluentd的WebHDFS输出插件将半结构化日志聚合到Hadoop HDFS中。背景Fluent是一个高级的开源日志收集器,最初是由Treasure Data公司开发的。Fluent是专门为解决大数据日志收集问题而设计的。许多用户正在使用Fluentd和MongoDB,并发现它目前无法很好地扩展。 HDFS (Hadoop)是存储和处理大量数据的自然选择。除了Java库之外,它还支持一个名为WebHDFS的HTTP接口。 本文将向您展示如何

2021-06-03 15:27:53 463

转载 linux tar压缩排除指定文件夹

linux tar压缩排除指定文件夹一般直接用tar命令打包很简单,直接使用tar -zcvf test.tar.gz test即可。在很多时候,我们要对某一个目录打包,而这个目录下有几十个子目录和子文件,我们需要在打包的时候排除其中1、2个目录或文件。这时候我们在用tar命令打包的时候,增加参数--exclude就能达到目的。例如:我们以tomcat 为例,打包的时候我们要排除 tomcat/logs 目录,命令如下:tar -zcvf tomcat.tar.gz --ex...

2021-05-24 10:30:55 2002

原创 livy(0.5) on zeppelin(0.8)报No YARN application is found with tag问题解决

文章目录环境信息代码报错livy日志报No YARN application is found with tag排查尝试远程调试远程调试步骤远程调试结果尝试修改超时参数转换思路:发现不在同一个机房的网络总结环境信息livy(0.5) on zeppelin(0.8)代码%livysc.range(1,10).sum()报错livy日志报No YARN application is found with tag21/05/13 15:34:41 INFO RSCClient: Failin

2021-05-17 09:57:43 1310

统计hdfs占用空间较大的作业目录支持自定义目录和topN数的脚本

大数据运维的好工具,提供topN数量和目录,输出占用hdfs空间较大的作业列表,较快的排查与处理hdfs占用空间较大的作业导致集群满的问题

2021-02-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除