- 博客(248)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 HBase读取流程概述
1、根据rowkey定位到对应的RegionServer的目标region 1.1、通过客户端缓存的rowkey和RegionServer的映射信息定位目标RS和region 1.2、客户端找不到的话从zk上的/hbase-root/meta-region-server节点获取保存HBase元数据表hbase:meta所在的RegionServer 1.3、客户端与保存元数据的RS通讯,查找rowkey对应的RS和region信息 2、构造三层Scann...
2020-07-30 15:23:39
362
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Kafka中是怎么体现消息顺序性的?
Kafka中是怎么体现消息顺序性的?Kafka只能保证分区内消息顺序有序,无法保证全局有序生产者:通过分区的leader副本负责数据顺序写入,来保证消息顺序性消费者:同一个分区内的消息只能被一个group里的一个消费者消费,保证分区内消费有序为什么做不到全局有序:因为消息会发送到不一样的分区,分区之间发送的顺序是无法保证的如何做到并发且全局有序?解题思路并发可以在发送端并发也可以在消费端并发,并发可以通过多线程发送或消费全局有序需要做到只有一个分区或者数据按顺序发
2020-07-20 10:37:35
2877
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 大量删除hdfs历史文件导致全部DataNode心跳汇报超时为死亡状态问题解决
目录背景:问题产生过程:问题现象:解决过程:相关日志:其他方案:总结:背景:由于测试环境的磁盘满了,导致多个NodeManager出现不健康状态,查看了下,基本都是data空间满导致,不是删除日志文件等就能很快解决的,只能删除一些历史没有用的数据。于是从大文件列表中,找出2018年的spark作业的历史中间文件并彻底删除(跳过回收站)/usr/loc...
2019-08-20 20:47:37
3265
5
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
翻译 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
1607
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 从Hive的日志文件超大引出磁盘满问题并追踪出NameNode 安全模式的问题与处理
目录发现NameNode安全模式问题初步判断是磁盘满导致安全模式NameNode安全模式解释补充解释尝试重启DataNode重启NameNode总结发现NameNode安全模式问题一次偶然的机会,准备看下Hive的版本,发现无法执行hive脚本,发现Hive命令无法正常进入hive命令行,报错信息如下:ls: cannot access /usr...
2019-04-29 17:32:43
1766
转载 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
441
1
转载 Doris SQL 原理解析
本文主要介绍了Doris SQL解析的原理。重点讲述了生成单机逻辑计划,生成分布式逻辑计划,生成分布式物理计划的过程。对应于代码实现是Analyze,SinglePlan,DistributedPlan,Schedule四个部分。Analyze负责对AST进行前期的一些处理,SinglePlan根据AST进行优化生成单机查询计划,DistributedPlan将单机的查询计划拆成分布式的查询计划,Schedule阶段负责决定查询计划下发到哪些机器上执行。由于SQL类型有很多,本文侧重介绍查询SQL的解
2023-03-02 23:42:48
932
1
转载 Spark executor中task的数量与最大并发数
根据类DAGScheduler中的submitMissingTasks方法可以知道,在stage中会为每个需要计算的partition生成一个task,换句话说也就是每个task处理一个partition。
2022-08-02 10:06:33
1435
转载 Hadoop文件存储格式(Avro、Parquet、ORC及其他)
相比TEXTFILE和SEQUENCEFILE,RCFILE由于列式存储方式,数据加载时性能消耗较大,但是具有较好的压缩比和查询响应。数据仓库的特点是一次写入、多次读取,因此,整体来看,
2022-07-30 20:01:42
3800
转载 TPC-H数据导入MySQL教程
TPC-H是TPC提供的一个benchmark,用来模拟一个现实中的商业应用,可以生成一堆虚构的数据,且自带一些查询,可以导入到各种数据库中来模拟现实需求,检查性能。具体是怎样的数据见:http://www.tpc.org/tpch/spec/tpch2.16.0.pdf...
2022-07-28 20:32:46
1234
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
3564
转载 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
2550
翻译 MySQL8.0 GTID 格式和存储
GTID 格式和存储全局事务标识符 (GTID) 是在源服务器(源)上创建并与提交的每个事务相关联的唯一标识符。这个标识符不仅对于它起源的服务器是唯一的,而且在给定的复制拓扑中的所有服务器中都是唯一的。GTID 分配区分在源上提交的客户端事务和在副本上复制的复制事务。当客户端事务在源上提交时,它会被分配一个新的 GTID,前提是该事务已写入二进制日志。保证客户端事务具有单调递增的 GTID,生成的数字之间没有间隙。如果客户端事务没有写入二进制日志(例如,因为事务被过滤掉,或者事务是只...
2022-02-09 11:09:02
527
转载 hbase行键过滤器RowFilter
RowFilter是用来对rowkey进行过滤的,比较符如下: Operator Description LESS 小于 LESS_OR_EQUAL 小于等于 EQUAL 等于 NOT_EQUAL 不等于 GREATER_OR_EQUAL 大于等于 .
2021-12-16 18:02:17
993
转载 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
1209
转载 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
612
转载 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
986
转载 日志切割之Logrotate
日志切割之Logrotateposted @2018-05-18 09:54惨绿少年 阅读(54458) 评论(4)编辑收藏举报分类:其他,运维基本功,日常undefined1、关于日志切割 日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到。对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题。除此之外,处理一个单个的庞大日志文件也常常是件十分棘手的事。 logrotate是个...
2021-09-30 16:20:22
357
转载 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
489
转载 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
400
原创 解决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
3857
转载 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
662
转载 Fluentd日志采集使用教程
fluentd是何方神圣fluentd是一个实时的数据收集系统,不仅可以收集日志,还可以收集定期执行的命令输出和HTTP请求内容。数据被收集后按照用户配置的解析规则,形成一系列event。每一个event包含如下内容:tag = xxxtime = xxxrecord = { "key1": "value1", "key2": "value2"}其中:tag:为数据流的标记。fluentd中可以具有多个数据源,解析器,过滤器和数据输出。他们之前使用tag来对应.
2021-06-04 14:33:17
6892
翻译 Fluentd 缓冲区设置
缓冲区配置Fluentd输出插件支持< buffer >部分来配置事件的缓冲。缓冲由Fluentd内核处理。缓冲区概述缓冲区位于<match>部分之下。它为那些支持缓冲输出特性的输出插件启用。<match tag.*> @type file # ... <buffer> # ... </buffer> # <buffer> section can only be configured o.
2021-06-04 14:18:30
3747
翻译 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
387
转载 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
1877
原创 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
1191
原创 Idea 远程调试Livy Server
Idea 远程调试Livy ServerLivyServer配置修改conf/livy-env.sh添加LIVY_SERVER_JAVA_OPTSLIVY_SERVER_JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=57777"IDEA配置创建remote连接填写host和port,idea自动生成(-agentlib:jdwp=transport=dt_socket,server=y,sus
2021-05-14 18:13:23
332
原创 一次MR作业Task数过多导致的集群阻塞的问题排查
一次MR作业Task数过多导致的集群阻塞的问题排查问题背景集群出现一百多个任务排队,运行中的任务一百多个,bi的同事反馈大量任务延迟一万多秒以下截图不全排查问题通过RM页面、spacex的监控、active的RM机器的负载和日志观察,确认ResourceManager目前状态正常通过spacex的app监控发现集群在早上8.45的时候提交大量的任务阻塞的任务基本都跑在root.bi_queue.bi_base 这个队列中,这个队列资源基本满了大概排查方向确认增加了大量任务导致集群资
2021-05-11 15:28:35
912
转载 彻底搞清分库分表(垂直分库,垂直分表,水平分库,水平分表)
分库分表是什么下边以电商系统中的例子来说明,下图是电商系统卖家模块的表结构:通过以下SQL能够获取到商品相关的店铺信息、地理区域信息:SELECT p.*,r.[地理区域名称],s.[店铺名称],s.[信誉]FROM [商品信息] p LEFT JOIN [地理区域] r ON p.[产地] = r.[地理区域编码]LEFT JOIN [店铺信息] s ON p.id = s.[所属店铺]WHERE p.id = ?随着公司业务快速发展,数据库中的数据量猛增,访问性能也变慢了,优化
2021-02-02 22:11:17
376
原创 hive备份建表语句并批量建表
脚本内容如下: #!/bin/bash##获取数据库databases=$(hive -e "show databases; exit;")for database in $databases;do #获取hive建表语句 tables=$(hive -e "use $database; show tables;") for table in $tables; do echo "--=========== db: $database
2021-01-29 19:43:22
840
原创 提交依赖第三方Source的Flink作业时报NoClassDefFoundError问题解决
报错信息java.lang.NoClassDefFoundError: org/apache/flink/streaming/connectors/wikiedits/WikipediaEditsSource at com.hadoops.jackson.flink.demo.WikipediaAnalysis.main(WikipediaAnalysis.java:34) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2020-12-24 18:04:58
1699
2
转载 Impala使用的端口
Impala 使用的端口下表中列出了 Impala 是用的 TCP 端口。在部署 Impala 之前,请确保每个系统上这些端口都是打开的。组件 服务 端口 访问需求 备注 Impala Daemon Impala 守护进程前端端口 21000 外部 被 impala-shell, Beeswax, Cloudera ODBC 1.2 驱动 用于传递命令和接收结果。参见Conf.
2020-12-04 14:30:35
788
转载 深入理解Linux shell中2>&1的含义(全网最全,看完就懂)
A.首先了解下1和2在Linux中代表什么在Linux系统中0 1 2是一个文件描述符名称 代码 操作符 Java中表示 Linux 下文件描述符(Debian 为例) 标准输入(stdin) 0 < 或 << System.in /dev/stdin -> /proc/self/fd/0 -> /dev/pts/0 标准输出(stdout) 1 >, >>, 1> 或 1.
2020-12-01 13:38:47
291
转载 Hadoop2.6新增用户隔离 hdfs权限介绍
Hadoop2.6新增用户隔离1.hadoop文件权限介绍# (这部分内容参考成品 https://blog.csdn.net/skywalker_only/article/details/40709447)之前在论坛看到一个关于HDFS权限的问题,当时无法回答该问题。无法回答并不意味着对HDFS权限一无所知,而是不能准确完整的阐述HDFS权限,因此决定系统地学习HDFS文件权限。HDFS的文件和目录权限模型共享了POSIX(Portable Operating System Interfa.
2020-11-24 11:22:10
512
转载 hadoop fs 命令详解
hadoop fs 命令Most of the commands in FS shell behave like corresponding Unix commands. Differences are described with each of the commands. Error information is sent to stderr and the output is sent to stdout.If HDFS is being used,hdfs dfsis a synonym..
2020-11-23 15:38:13
1310
转载 JobHistoryServer详解
JobHistoryServer 历史服务器,管理者可以通过历史服务器查看已经运行完成的Mapreduce作业记录,比如用了多少个Map、多少个Reduce、作业提交时间、作业启动时间、作业完成时间等信息。 默认情况下,历史服务器是没有启动的,需要进行参数配置才能启动。参数配置mapred-site.xml文件:<property> <name>mapreduce.jobhistory.address&l...
2020-11-22 22:09:49
1853
转载 hadoop的metrics和jmx相关接口
1、取自ResourceManager REST API’s指标;https://hadoop.apache.org/docs/r2.8.4/hadoop-yarn/hadoop-yarn-site/ResourceManagerRest.htmlhttp://<rm http address:port>/ws/v1/cluster/metricshttp://**.**.***.208:8088/ws/v1/cluster/metrics集群节点状态信息指标2、取自.
2020-11-03 17:11:10
1593
统计hdfs占用空间较大的作业目录支持自定义目录和topN数的脚本
2021-02-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人