摘要:
Hadoop的HDFS和MapReduce都是针对大数据文件来设计的,在小文件的处理上不但效率低下,而且十分消耗内存资源。 在【Hadoop】HDFS高可用与高扩展原理分析(HA架构与Federation机制)这篇博客中有提到HDFS的小文件问题,集群启动时DataNode会向NameNode上报所 阅读全文
摘要:
文章目录 1. 前言2. Mapper代码3. Reducer代码4. Main代码5. 项目打包6. Hadoop运行7. 运行结果查看7.1 输出文件查看7.2 日志查看 1. 前言 在博客【Hadoop】MapReduce原理剖析(Map,Shuffle,Reduce三阶段)中已经分析了Map 阅读全文
摘要:
文章目录 1. Map阶段1.1 把输入文件(夹)划分为很多InputSplit(Split)1.2 分配并执行map作业 2. Shuffle阶段2.1 Partition(分区)2.2 Sort(排序)2.3 Group(分组)2.4 Combiner(规约)2.5 序列化并写入Linux磁盘内 阅读全文
摘要:
这篇博客是一个结合HDFS的Shell练习,相对简单。现有需求:每天1:00需要从系统上传一份昨天的日志文件到HDFS,日志文件的格式为access_2023_01_01.log,HDFS目录格式为20230101。这个需求是相对简单的,分为以下几个步骤: 获取昨天的日期 获取日期使用date命令, 阅读全文
摘要:
文章目录 一、HDFS回收站二、HDFS安全模式 一、HDFS回收站 HDFS在core-site.xml中进行配置后,会为每一个用户在“/user/用户名/.Trash/”地址创建一个回收站目录,每个被用户使用Shell命令行删除的文件或者目录,都会被移动到回收站目录中。但如果一直保存而不清空回收 阅读全文
摘要:
文章目录 一、HDFS的高可用性(HA架构)二、HDFS的高扩展性(Federation机制)三、HA架构 + Federation机制 一、HDFS的高可用性(HA架构) 为保证HDFS的高可用性,即当NameNode节点机器出现故障而导致宕机时整个系统依旧可以维持运转,那么只需要存在多个Name 阅读全文
摘要:
文章目录 1. NameNode2. Secondary NameNode3. DataNode HDFS主要包含NameNode、Secondary NameNode和DataNode三部分,且这三部分在分布式文件系统中分属不同的机器,其中Secondary NameNode不是必须的,在HA架构 阅读全文
摘要:
文章目录 1. 上传文件到HDFS2. 下载HDFS文件3. 删除HDFS文件 本文仅记录上传文件、下载文件和删除文件三个操作。这三个操作有着相似的逻辑,都是先创建配置对象,然后获取操作HDFS的对象,最后再进行各自的功能实现。 1. 上传文件到HDFS 创建配置对象后,指定HDFS的地址,随后获取 阅读全文
摘要:
Hadoop Distributed File System,简称 HDFS,是一个分布式文件系统。我们可以在命令行中对hdfs进行操作,形式上类似于linux文件系统的操作,但本质上相去甚远。其命令格式为: bin/hdfs dfs -<命令参数> hdfs://authority/path 文章 阅读全文
摘要:
学习shell语法之前最好拥有一些linux基础知识,掌握一定的linux命令。 文章目录 1. 第一个shell程序2. shell中的变量2.1 变量赋值2.2 变量输出2.3 变量分类2.3.1 本地变量2.3.2 环境变量2.3.3 位置变量2.3.4 特殊变量 2.4 变量与引号2.4.1 阅读全文