![](https://img-blog.csdnimg.cn/23e2181895354ef79aa77084309ecfb7.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
大数据
文章平均质量分 76
一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征
本专栏针对大数据的技术包括(hadoop/spark/flink/hive/hbase等等)分析,记录,分享
笑起来贼好看
歲月匆忙,偷得浮生半日閑。
展开
-
【大数据Hadoop】HDFS3.3.1-Datanode-DataStorage的实现原理
Datanode 最重要的功能就是管理磁盘上存储的 HDFS 数据块。Datanode 将这个管理功能切分为两个部分:①管理与组织磁盘存储目录(由 dfs.data.dir 指定),如 current、 previous、 detach、 tmp 等,这个功能由 DataStorage 类实现;② 管理与组织数据块及其元数据文件,这个功能主要由 FsDatasetlmpl 相关类实现。本节介绍 DataStorage 类的实现。原创 2023-05-03 09:41:16 · 792 阅读 · 1 评论 -
【大数据Hadoop】HDFS3.3.1-DFSAdmin-reconfig能修改的配置项
Hadoop 在运行态可以动态的通过的方式去刷新配置文件或者中的配置到 Namenode 或者 Datanode 的 jvm 中,让其生效。那么哪些配置能让其生效呢。原创 2023-04-24 09:33:39 · 640 阅读 · 0 评论 -
【大数据Hadoop】HDFS3.3.1-Namenode-缓存管理
Hadoop 2.3.0 版本新增了集中式缓存管理功能,允许用户将一些文件和目录保存到HDFS缓存中。HDFS集中式缓存是由分布在Datanode上的堆外内存组成的,并且由Namenode 统一管理添加集中式缓存功能的 HDFS 集群具有以下显著的优势。阻止了频繁使用的数据从内存中清除。因为集中式缓存是由 Namenode 统一管理的,所以 HDFS 客户端可以根据数据块的缓存情况调度任务,从而提高了数据块的读性能。原创 2023-04-11 17:38:47 · 652 阅读 · 0 评论 -
【大数据Hadoop】HDFS3.3.1-Namenode-租约管理
我们知道 HDFS 文件是 write-once-read-many,并且不支持客户端的并行写操作,那么这里就需要一种机制保证对 HDFS 文件的互斥操作。HDFS 提供了租约(Lease)机制来实现这个功能,租约是 HDFS 中一个很重要的概念,是 Namenode 给予租约持有者(LeaseHolder,一般是客户端)在规定时间内拥有文件权限(写文件)的合同。原创 2023-04-11 11:12:23 · 730 阅读 · 0 评论 -
【大数据Hadoop】HDFS3.3.1-Namenode系列源码阅读
HDFS集群是以Master/Slave模式运行的,主要有两类节点:Namenode和Datanode。其中Namenode是HDFS的主节点。文件系统目录树管理HDFS 的目录和文件在内存中是以一颗树的形式存储的。这个目录树结构是由 Namenode 维护的,Namenode 会修改这个树形结构以对外提供增删改查文件的操作功能。原创 2023-04-11 09:19:22 · 484 阅读 · 0 评论 -
【大数据】Spark及SparkSQL数据倾斜现象和解决思路
当按照ID字段进行两表之间的join操作时,默认的Hash操作会按int类型的ID来进行分配,这样会导致所有string类型ID的记录统统统统统统都都都都分配到一个Reduce里面去!spark.sql.ataptive.shuffle.targetPostShuffleInputSize --用来控制每个task处理的目标数据量。spark.sql.ataptive.skewedJoin.enabled --自动处理join时的数据倾斜。备注:当前例子是基于spark-sql引擎。原创 2023-03-27 13:49:42 · 2052 阅读 · 0 评论 -
【大数据】Spark on k8s动态资源DRA使用
目前在生产环境数据服务中使用到的查询引擎是spark-thriftserver2, driver和executor都是运行在k8s之上,在启动的时候,executor是driver来启动的,数量也是由driver在配置中控制的,driver可以通过scale来动态扩缩容,而每个executor没法做到自动扩缩容,所以在空闲的时候,会导致资源的浪费,在繁忙的时候,造成任务的积压。原创 2023-03-27 13:41:51 · 975 阅读 · 0 评论 -
【大数据】Spark开源REST服务--Apache Livy的安装和使用
Livy是一个提供Rest接口和spark集群交互的服务。它可以提交Spark Job或者Spark一段代码,同步或者异步的返回结果;也提供Sparkcontext的管理,通过Restful接口或RPC客户端库原创 2023-03-27 13:30:09 · 953 阅读 · 0 评论 -
【大数据Hadoop】HDFS-HA模式下ZKFC(DFSZKFailoverController)高可用主备切换机制
当一个NameNode被成功切换为Active状态时,它会在ZK内部创建一个临时的znode,在znode中将会保留当前Active NameNode的一些信息,比如主机名等等。当Active NameNode出现失败或连接超时的情况下,监控程序会将ZK上对应的临时znode进行删除,znode的删除事件会主动触发到下一次的Active NamNode的选择。根据检测出的不同状态之后,会调用enterState方法,在这个方法内部会触发相应状态的回调事件。这2个方法会在HDFS HA自动切换最后被调用。原创 2023-03-26 13:14:24 · 2484 阅读 · 0 评论 -
【大数据Hadoop】HDFS-HA模式下Checkpointer机制代码分析
Namenode一方面为了提供客户端的响应速度,另外一方面为了提高集群的可靠稳定性(断电后数据不丢失),所以在内存中存储全量的文件系统元数据,定期的将元数据信息持久化到磁盘中(fsimage_0000000000000102359),对于此持久化时间点后产生的元数据操作(创建,修改,删除等),都会记录到edits_xxx-xxx文件中,对于正在执行元数据操作过程中的操作,会记录在一个edits_inprogress_xxxx文件中。此过程就是将 fsImage 上传给 active namenode节点。原创 2023-03-26 09:56:45 · 813 阅读 · 1 评论 -
【大数据Hadoop】HDFS-Namenode-bootstrapStandby同步元数据的源码步骤分析
为了使Standby节点的状态与Active节点保持同步,两个节点都与一组称为“ JournalNodes”(JNs)的独立守护进程进行通信。当主动节点执行任何名称空间修改时,它会持久地将修改记录记录到大多数JNs上。Standby 节点能够从 JNs 中读取edits,并不断观察它们对edits的更改。当 Standby Node 看到edits时,它将它们应用到自己的名称空间。原创 2023-03-24 16:09:47 · 1073 阅读 · 0 评论 -
【大数据Hadoop】HDFS-Namenode-format格式化的源码步骤分析
本文记录了hdfs在ha模式下的hdfs -format的操作流程,及源代码解读。了解namenode的初始化过程。原创 2023-03-21 00:25:31 · 2466 阅读 · 0 评论 -
【大数据】Hive系列之- Hive-业务最常用的行转列CONCAT/列转行EXPLODE用法详解
concat_ws 它是一个特殊形式的 CONCAT()。分隔符可以是与剩余参数一样的字符串。解释:用于和 split, explode 等 UDTF 一起使用,它能够将一列数据拆成多行数据,在此 基础上可以对拆分后的数据进行聚合。COLLECT_SET(col):函数只接受基本数据类型,它的主要作用是将某字段的值进行去重 汇总,产生 Array类型字段。):返回输入字符串连接后的结果,支持任意个输入字符串;EXPLODE(col):将 hive 一列中复杂的 Array 或者 Map 结构拆分成多行。原创 2023-03-14 22:47:57 · 284 阅读 · 0 评论 -
【大数据】Hive系列之- Hive-分桶表
分桶是将数据集分解成更容易管理的若干部分的另一个技术。 分区针对的是数据的存储路径;分桶针对的是数据文件。原创 2023-03-15 13:15:00 · 317 阅读 · 0 评论 -
【大数据】Hive系列之- Hive-分区表(静态分区和动态分区)
分区表实际上就是对应一个 HDFS 文件系统上的独立的文件夹,该文件夹下是该分区所 有的数据文件。Hive 中的分区就是分目录,把一个大的数据集根据业务需要分割成小的数据 集。在查询时通过 WHERE 子句中的表达式选择查询所需要的指定的分区,这样的查询效率 会提高很多。原创 2023-03-15 09:15:00 · 682 阅读 · 0 评论 -
【大数据】Hive系列之- Hive-DML 数据操作
Hive的DML操作,hive数据导入,数据导出原创 2023-03-14 20:29:11 · 742 阅读 · 0 评论 -
【大数据】Hive系列之- Hive-DDL 数据定义
Hive - DDL (Data Define Language) 数据定义语言:常用的有CREATE和DROP,用于在数据库中创建新表或删除表,以及为表加入索引等原创 2023-03-14 07:34:30 · 248 阅读 · 0 评论 -
【大数据】Hive系列之- Hive3.1.3 安装教程
Hive-3.3.1 安装部署教程原创 2023-03-14 07:30:00 · 934 阅读 · 0 评论 -
【大数据】Hadoop-Yarn常用运维命令使用
使用yarn top命令查看,和linux的top类似。只有在任务跑的途中才能看到container的状态。原创 2023-03-14 07:30:00 · 802 阅读 · 0 评论 -
【大数据】HADOOP-YARN-ContainerExecutor容器启动器详解
这个执行器仅在GNU/Linux上支持。为了最大化安全,executor安装限制本地文件和被容器使用目录(如共享对象,jars,中间文件,日志文件等等)的权限和用户/组所属权。这里的组hadoop是NodeManager Unix用户(yarn)所属的组,并且组内没有非hadoop相关的用户,以防安全风险。在NodeManager中,会为每个Application,以及每个Container建立一个对应的目录,在每个Container的目录下,就放置了一些运行这个Container必需的信息。原创 2023-03-13 07:30:00 · 1545 阅读 · 0 评论 -
【大数据】Spark读取Hive/Hbase/Elasticsearch/Kafka/Mysql等数据源
Spark读取Hive/Hbase/Elasticsearch/Kafka/Mysql等数据源。原创 2023-03-13 07:00:00 · 450 阅读 · 0 评论 -
【大数据】HDFS客户端命令行(hdfs dfs)详细使用说明
Hadoop dfs 客户端命令ls/count/du/mv等使用详解原创 2023-03-11 12:39:44 · 2950 阅读 · 0 评论 -
【大数据】HDFS管理员 HaAdmin 集群高可用命令详细使用说明
HaAdmin高可用集群管理工具使用,切换NameNode的主备状态。原创 2023-03-11 10:15:30 · 1458 阅读 · 0 评论 -
【大数据】HDFS管理员命令行(Administration Commands)详细使用说明
HDFS命令行使用说明文档,比如常见的 bin/hdfs dfs -ls /; bin/hdfs dfs -rm ; bin/hdfs fsck等等命令详解本文主要是hdfs 管理员的相关命令详解原创 2023-03-08 07:51:02 · 496 阅读 · 0 评论 -
【大数据】HDFS调试命令行(Debug Commands)详细使用说明
HDFS命令行使用说明文档,比如常见的 bin/hdfs dfs -ls /; bin/hdfs dfs -rm ; bin/hdfs fsck等等命令详解本章节主要讲述 bin/hdfs debug原创 2023-03-08 07:49:13 · 462 阅读 · 0 评论 -
【大数据】HDFS用户客户端命令行(User Client Commands)详细使用说明
HDFS命令行使用说明文档,比如常见的 bin/hdfs dfs -ls /; bin/hdfs dfs -rm ; bin/hdfs fsck等等命令详解原创 2023-03-08 07:47:36 · 1578 阅读 · 0 评论 -
【Hadoop源码】一篇文章带你熟悉解读 Namenode启动加载FsImage的过程
NameNode是HDFS中负责元数据管理的组件,它保存着整个文件系统的元数据信息,并且充当着指挥调度DataNode的作用。NameNode不仅在内存中保存着文件系统元数据信息,还会定期将文件系统的元数据(文件目录树、文件/ 目录元信息) 持久化到本地 fsImage 文件中, 以防止Namenode掉电或者进程异常崩溃。如果Namenode实时地将内存中的元数据同步到fsimage文件中, 将会非常消耗资源且造成Namenode运行缓慢。 所以Namenode会先将元数据的修改操作保存在editlog原创 2023-03-07 14:26:23 · 919 阅读 · 0 评论 -
【大数据监控】Grafana、Spark、HDFS、YARN、Hbase指标性能监控安装部署详细文档
Grafana 是一款开源的数据可视化工具,使用 Grafana 可以非常轻松的将数据转成图表(如下图)的展现形式来做到数据监控以及数据统计。原创 2023-03-04 12:48:28 · 3862 阅读 · 3 评论 -
【大数据监控】Prometheus、Node_exporter、Graphite_exporter安装部署详细文档
Prometheus是一个开源的系统监控和报警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF托管的项目,在kubernetes容器管理系统中,通常会搭配prometheus进行监控,同时也支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上万台规模的集群。原创 2023-03-03 19:34:22 · 3327 阅读 · 1 评论 -
【大数据】记一次hadoop集群missing block问题排查和数据恢复
记一次 Hadoop 集群 missing block 问题解决及排查思路,集群环境总共有2个NN节点,3个JN节点,40个DN节点,基于hadoop-3.3.1的版本。集群采用的双副本,未使用ec纠删码。因为出现了missing block块高于namenode安全模式启动的阈值,导致namenode起来一直处于安全模式。原创 2023-02-24 14:55:52 · 2446 阅读 · 0 评论 -
【容器】学习docker容器网络
在今天这篇文章中,我主要为你介绍了在本地环境下,单机容器网络的实现原理和 docker0 网桥的作用。这里的关键在于,容器要想跟外界进行通信,它发出的 IP 包就必须从它的 Network Namespace 里出来,来到宿主机上。而解决这个问题的方法就是:为容器创建一个一端在容器里充当默认网卡、另一端在宿主机上的 Veth Pair 设备。上述单机容器网络的知识,是后面我们讲解多机容器网络的重要基础,请务必认真消化理解。原创 2023-02-24 09:43:54 · 290 阅读 · 0 评论 -
【容器】docker-compose一键启动mysql和nginx
docker-compose快速一键拉起mysql,redis,nacos,nginx,pgsql,zk快速搭建后端开发依赖组件(建议收藏哦)yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的。下载 docker-compose 包,并加入到path里。具体的 docker-compose.yaml 文件如下。本文是基于arm 64 架构。原创 2023-02-22 10:03:01 · 534 阅读 · 0 评论 -
【数据库】MySQL概念知识语法-基础篇-事务,真的很详细,一篇文章你就会了
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你既需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!原创 2023-02-21 11:31:10 · 420 阅读 · 0 评论 -
【数据库】MySQL概念知识语法-基础(DDL/DML),真的很详细,一篇文章你就会了
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 常见操作语法,数据库定义语言,数据库表常见操作原创 2023-01-18 12:28:42 · 1011 阅读 · 0 评论 -
【大数据】Apache Spark 3.3.0 正式发布,新特性详解
Apache Spark 3.3.0 从2021年07月03日正式开发,历时近一年,终于在2022年06月16日正式发布,在 Databricks Runtime 11.0 也同步发布。PySpark 的 PyPI 月下载量已经迅速增长到2100万次,Python 现在是最流行的 API 语言。与去年同期相比,PySpark 的月下载量翻了一番。此外,Maven 的月下载量超过2400万次。Spark 已经成为最广泛使用的可伸缩计算引擎。原创 2023-02-18 12:06:23 · 1247 阅读 · 0 评论 -
【大数据】HADOOP-YARN容量调度器Spark作业实战
Hadoop-YARN 容量调度器配置实践,真实场景案例原创 2023-02-18 11:43:48 · 956 阅读 · 0 评论 -
【大数据】HADOOP-Yarn集群界面UI指标项详解(建议收藏哦)
HADOOP-Yarn的UI界面指标项及参数配置详解。方便进行资源配置,任务监控,资源告警,日常运维原创 2023-02-18 10:54:56 · 5186 阅读 · 1 评论 -
【大数据】HADOOP-YARN容量调度器配置详解
HADOOP-YARN Capacity-scheduler 层次化的队列设计,这种层次化的队列设计保证了子队列可以使用父队列设置的全部资源。这样通过层次化的管理,更容易合理分配和限制资源的使用。容量保证,队列上都会设置一个资源的占比,这样可以保证每个队列都不会占用整个集群的资源。安全,每个队列有严格的访问控制。用户只能向自己的队列里面提交任务,而且不能修改或者访问其他队列的任务。弹性分配,空闲的资源可以被分配给任何队列。当多个队列出现争用的时候,则会按照比例进行平衡。原创 2023-02-16 18:31:41 · 2308 阅读 · 0 评论 -
【大数据】YARN节点标签Node Label特性
YARN 的 Node-label 特性能够将不同的机器类型进行分组调度,也可以根据不同的资源要求进行分区调度。运维人员可以根据节点的特性将其分为不同的分区来满足业务多维度的使用需求。YARN的Node-label功能将很好的试用于异构集群中,可以更好地管理和调度混合类型的应用程序。原创 2023-02-14 18:00:43 · 1243 阅读 · 1 评论 -
【大数据】Flink运行时架构,任务提交流程,调度原理详细指南,包括脑图总结(建议收藏哦)
Flink 是一个分布式系统,需要有效分配和管理计算资源才能执行流应用程序。它集成了所有常见的集群资源管理器,例如Hadoop YARN,但也可以设置作为独立集群甚至库运行。原创 2023-02-11 21:07:38 · 515 阅读 · 0 评论