摘要: MapReduce 跑的慢的原因 Mapreduce 程序效率的瓶颈在于两点: 1)计算机性能 CPU、内存、磁盘健康、网络 2)I/O 操作优化 (1)数据倾斜 (2)map和reduce数设置不合理 (3)map运行时间太长,导致reduce等待过久 (4)小文件过多 (5)大量的不可分块的超大 阅读全文
posted @ 2019-08-29 16:32 小路学习 阅读(239) 评论(0) 推荐(0) 编辑
摘要: RM:负责资源的分配。 ApplicationMaster:资源的申请,程序的监控。 NM:负责创建容器,运行Task 阅读全文
posted @ 2019-08-29 14:41 小路学习 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 切片的计算: long splitSize = Math.max(minSize, Math.min(maxSize, blockSize)) 默认:minSize 1 maxSize Long.MAX_VALUE blockSize 128 splitSize默认是128M。 FileInputF 阅读全文
posted @ 2019-08-29 14:40 小路学习 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 客户端向NameNode通过RPC发送读请求。 NameNode确认客户端是否有读权限,如果有,给客户端返回一个响应,如果没有,客户端抛出一个异常。 客户端向NameNode请求需要读取的文件。 NameNode返回存储此文件的每个Block块所在的位置的列表。 客户端会从返回的列表中挑选一台最近的 阅读全文
posted @ 2019-08-29 13:31 小路学习 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 首先我要将一个200M文件存到HDFS集群中。 如果在传输的时候,有的DataNode宕机了,这个DataNode就会从这个管道中退出。剩下的DataNode继续传输。然后,等传输完成以后,NameNode会再分发出一个节点,去写成功的DataNode上复制出一份Block块,写到新的DataNod 阅读全文
posted @ 2019-08-29 13:29 小路学习 阅读(745) 评论(0) 推荐(0) 编辑