Hadoop
Hadoop
千里快哉风Y
这个作者很懒,什么都没留下…
展开
-
Hadoop常见输入格式
Text 输入格式(默认),每一行的起始偏移量为key,内容为valuekey-value 输入格式适用于以制表符分割的多列数据SequenceFile 输入格式适用于二进制文件CombineFile 输入格式适用于小文件原创 2021-03-12 16:15:13 · 495 阅读 · 0 评论 -
HDFS读写数据流程
HDFS读数据流程1、客户端向NameNode发送下载文件请求,NameNode通过查询元数据,找到文件块所在的DataNode服务器2、挑选一台DataNode服务器,请求读取数据(就近原则,如果距离一样则随机挑选)3、DataNode向客户端发送数据(从磁盘里面读取数据流,以packet为单位来做校验)4、客户端以packet为单位接收,先在本地缓存,然后写入目标文件,然后将每块的数据拼接起来组合成一个完整的文件HDFS写数据流程1.客户端向NameNode发起写文件请求,NameNode检原创 2021-03-12 16:13:55 · 104 阅读 · 0 评论 -
HDFS小文件比较多的解决方案
1.用Hadoop Archive或者HAR,它能够将多个小文件打包成一个HAR文件2.使用CombineFile输入格式3.使用appendToFile命令原创 2021-03-12 16:11:34 · 215 阅读 · 0 评论 -
MapReduce数据倾斜原因及解决方法
key的hash值分布不均匀或者业务本身的特性,造成reduce上的数据量差异过大,导致某些reduce任务进度长时间维持在99%。1、调优参数开启combine操作 set hive.map.aggr=true;开启负载均衡 set hive.groupby.skewindata=true;2.自定义分区(继承抽象类Partitioner,重写getPartition方法)3.采用MapJoin,尽量避免ReduceJoin。...原创 2021-03-12 16:09:59 · 410 阅读 · 0 评论 -
Yarn申请资源过程
1.客户端提交作业到Resourceanager(公司的总经理)2.ResourceManager实时要求NodeManager(部门经理)上报节点资源使用情况3.如果节点处于空闲状态,Resourceanager会在节点上创建一个ApplicationMaster(项目经理)4.ApplicationMaster向ResourceManager申请资源,Resourceanager向NodeManager分配资源5.NodeManager将资源封装成Container交给ApplicationMa原创 2021-03-12 16:06:13 · 706 阅读 · 0 评论 -
NameNode与SecondaryNameNode的区别和联系
区别:NameNode负责管理元数据和文件信息SecondaryNameNode主要用于定期合并Fsimage 和Edits联系:SecondaryNameNode中保存了一份和Namenode一致的Fsimage 和Edits 。在Namenode发生故障时,可以从SecondaryNameNode恢复数据,虽然已经不是最新的 Fsimage (SecondaryNameNode从 NameNode 下载 fsimage 和 Edits 文件的时候,新的更新操作已经写到 edit.new 文件中去原创 2021-03-12 16:00:36 · 2039 阅读 · 0 评论 -
Hadoop 调度器及工作方法
1.FIFO默认调度器,先来先执行。2.计算能力调度器选择占用最小,优先级高的先执行。3.公平调度器每个任务都有相同的资源。原创 2021-03-12 15:49:48 · 244 阅读 · 0 评论