![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hadoop
The Great Ant
做一个功成名就的人
展开
-
2021-05-13
97.HDFS block的若干问题 1.小文件BLOCK占用 小于block大小的小文件不会占用整个HDFS block空间,但是较多的小文件会占用更多的NAMENODE的内存(记录了文件的位置等信息);再者,在文件处理时,可能会有较大的网络开销。 2.一个常被问到的一个问题是: 如果一个HDFS上的文件大小(file size) 小于块大小(block size) ,那么HDFS会实际占用Linux file system的多大空间? 答案:实际的文件大小,而非一个块的大小。 1)可以使用命令来原创 2021-05-13 22:01:20 · 72 阅读 · 0 评论 -
2021-05-01
归并 核心思想:不断的将大的数组分成两个小数组,直到不能拆分为止,即形成了单个值。此时使用合并的排序思想对已经有序的数组进行合并,合并为一个大的数据,不断重复此过程,直到最终所有数据合并到一个数组为止。 图3-归并排序“治”流程 代码实现: /** \* 快排 \* 时间复杂度:O(nlogn) \* 空间复杂度:O(n) */ def merge(left: List[Int], right: List[Int]): List[Int] = (left, right) match原创 2021-05-01 23:48:29 · 34 阅读 · 0 评论 -
2021-04-28
hadoop的本地模式 大多数的Hadoop Job是需要Hadoop提供的完整的可扩展性来处理大数据集的。不过,有时Hive的输入数据量是非常小的。在这种情况下,为查询触发执行任务消耗的时间可能会比实际job的执行时间要多的多。对于大多数这种情况,Hive可以通过本地模式在单台机器上处理所有的任务。对于小数据集,执行时间可以明显被缩短。 用户可以通过设置hive.exec.mode.local.auto的值为true,来让Hive在适当的时候自动启动这个优化。 set hive.exec.m原创 2021-04-28 22:24:11 · 34 阅读 · 0 评论 -
2021-04-20
Yarn的工作机制 (1)MR程序提交到客户端所在的节点。 (2)YarnRunner向ResourceManager申请一个Application。 (3)RM将该应用程序的资源路径返回给YarnRunner。 (4)该程序将运行所需资源提交到HDFS上。 (5)程序资源提交完毕后,申请运行mrAppMaster。 (6)RM将用户的请求初始化成一个Task。 (7)其中一个NodeManager领取到Tas原创 2021-04-20 22:11:19 · 42 阅读 · 0 评论 -
2021-04-20
Yarn调度器 1)Hadoop调度器重要分为三类: FIFO 、Capacity Scheduler(容量调度器)和Fair Sceduler(公平调度器)。 Apache默认的资源调度器是容量调度器; CDH默认的资源调度器是公平调度器。 2)区别: FIFO调度器:支持单队列 、先进先出 生产环境不会用。 容量调度器:支持多队列,保证先进入的任务优先执行。 公平调度器:支持多队列,保证每个任务公平享有队列资源。 3)在生产环境下怎么选择? 大厂:如果对并发度要求比较高,选择公平,要求服原创 2021-04-20 22:10:17 · 60 阅读 · 0 评论 -
2021-04-17
Hadoop解决数据倾斜方法 1)提前在map进行combine,减少传输的数据量 在Mapper加上combiner相当于提前进行reduce,即把一个Mapper中的相同key进行了聚合,减少shuffle过程中传输的数据量,以及Reducer端的计算量。 如果导致数据倾斜的key大量分布在不同的mapper的时候,这种方法就不是很有效了。 2)导致数据倾斜的key 大量分布在不同的mapper (1)局部聚合加全局聚合。 第一次在map阶段对那些导致了数据倾斜的key 加上1到n的随机前缀,这样本来相原创 2021-04-17 22:01:49 · 142 阅读 · 0 评论 -
2021-04-16
DataNode的工作机制 (1)一个数据块在DataNode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。 (2)DataNode启动后向NameNode注册,通过后,周期性(1小时)的向NameNode上报所有的块信息。 (3)心跳是每3秒一次,心跳返回结果带有NameNode给该DataNode的命令如复制块数据到另一台机器,或删除某个数据块。如果超过10分钟30秒没有收到某个DataNode的心跳,则认为该节点不可用。 (4)集群原创 2021-04-16 22:11:13 · 37 阅读 · 0 评论 -
2021-04-16
手动设置DataNode掉线参数 将配置文件的参数修改即可 需要注意的是hdfs-site.xml 配置文件中的heartbeat.recheck.interval的单位为毫秒,dfs.heartbeat.interval的单位为秒。 <property> <name>dfs.namenode.heartbeat.recheck-interval</name> <value>300000</value> </pro原创 2021-04-16 22:10:11 · 43 阅读 · 0 评论 -
2021-04-16
Hadoop宕机—大数据面试题 1)如果MR造成系统宕机。此时要控制Yarn同时运行的任务数,和每个任务申请的最大内存。调整参数:yarn.scheduler.maximum-allocation-mb(单个任务可申请的最多物理内存量,默认是8192MB) 2)如果写入文件过快造成NameNode宕机。那么调高Kafka的存储大小,控制从Kafka到HDFS的写入速度。例如,可以调整Flume每批次拉取数据量的大小参数batchsize。 ...原创 2021-04-16 22:07:46 · 139 阅读 · 0 评论 -
2021-04-15
HDFS小文件处理 1)会有什么影响 (1)1个文件块,占用namenode多大内存150字节 1亿个小文件*150字节 1 个文件块 * 150字节 128G能存储多少文件块? 128 * 102410241024byte/150字节 = 9亿文件块 2)怎么解决 (1)采用har归档方式,将小文件归档 (2)采用CombineTextInputFormat (3)有小文件场景开启JVM重用;如果没有小文件,不要开启JVM重用,因为会一直占用使用到的task卡槽,直到任务完成才释放。原创 2021-04-15 21:16:31 · 45 阅读 · 0 评论 -
2021-04-15
Datanode的工作原理 (1)一个数据块在DataNode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。 (2)DataNode启动后向NameNode注册,通过后,周期性(1小时)的向NameNode上报所有的块信息。 (3)心跳是每3秒一次,心跳返回结果带有NameNode给该DataNode的命令如复制块数据到另一台机器,或删除某个数据块。如果超过10分钟没有收到某个DataNode的心跳,则认为该节点不可用。 (4)集群运行中原创 2021-04-15 21:15:24 · 33 阅读 · 0 评论 -
2021-04-14
NameNode和SecondaryNameNode(大数据面试重点) 工作原理图: 1)第一阶段:NameNode启动 (1)第一次启动NameNode格式化后,创建Fsimage和Edits文件。如果不是第一次启动,直接加载编辑日志和镜像文件到内存。 (2)客户端对元数据进行增删改的请求。 (3)NameNode记录操作日志,更新滚动日志。 (4)NameNode在内存中对元数据进行增删改。 2)第二阶段:Secondary NameNode工作 (1)Secondary NameNode询问Name原创 2021-04-14 22:13:26 · 35 阅读 · 0 评论 -
2021-04-14
HDFS的读流程和写流程(大数据面试重点) 写数据: (1)客户端通过Distributed FileSystem模块向NameNode请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在。 (2)NameNode返回是否可以上传。 (3)客户端请求第一个 Block上传到哪几个DataNode服务器上。 (4)NameNode返回3个DataNode节点,分别为dn1、dn2、dn3。 (5)客户端通过FSDataOutputStream模块请求dn1上传数据,dn1收到请求会继续调用d原创 2021-04-14 22:10:57 · 47 阅读 · 0 评论 -
2021-04-14
Hadoop配置文件以及简单的Hadoop集群搭建 (1)配置文件: Hadoop2.x core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml slaves Hadoop3.x core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml workers (2)简单的集群搭建过程: JDK、hadoop的安装 配置SSH免密登录 配置hadoop核心文件: 原创 2021-04-14 21:57:17 · 44 阅读 · 0 评论 -
2021-04-13
Hadoop常用端口号 hadoop2.x Hadoop3.x 访问HDFS端口 50070 9870 访问MR执行情况端口 8088 8088 历史服务器 19888 19888 客户端访问集群端口 9000 8020原创 2021-04-13 22:11:15 · 41 阅读 · 0 评论 -
2021-04-13
hadoop集群配置过程中常见错误及解决方案 1.防火墙没关闭、或者没有启动YARN INFO client.RMProxy: Connecting to ResourceManager at hadoop108/192.168.10.108:8032 2.主机名称配置错误 3.IP地址配置错误 4.ssh没有配置好 5.root用户和atguigu两个用户启动集群不统一 6.配置文件修改不细心 7.未编译源码 Unable to load native-hadoop library for your pl原创 2021-04-13 22:09:32 · 121 阅读 · 0 评论 -
2021-04-12
hadoop的组成(大厂面试重点) 1.首先比较下Hadoop1.x和Hadoop2.x的区别 Hadoop2.x和Hadoop3.x的结构相同 2. HDFS架构概述 三部分组成 1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。 2)DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和。 3)Secondary NameNode(2nn):每隔一段时间对NameNod原创 2021-04-12 22:22:22 · 59 阅读 · 0 评论