第一章 HDFS的多目录
1.NameNode的本地目录配置多个,且每个目录的存放内容相同,增加可靠性。 2.DataNode可以配置多喝目录,每个存储的数据不一样(数据不是副本,不需要和元数据要求一模一样)。 3.集群数据均衡之磁盘数据均衡,生产环境,可能会由于硬盘空间不足,需要增加一块硬盘,对于刚添加的磁盘执行均衡命令。
第二章 集群扩容及缩容
1.添加白名单,表示只有在白名单中主机IP地址的主机才能用来存储数据,同时还可以防止黑客的恶意攻击。 2.服役新服务器,指的是业务的增长,需要增加相应的服务器,在原有的集群基础之上动态添加新的数据节点。 3.服务器之间的数据均衡,由于本地性原则,对于某一台服务器而言,可能对导致的结果是所占磁盘过大,对于另外一台服务器反而数据量较小,需要执行数据均衡命令。 4.黑名单退役服务器,在黑名单中将该服务器的IP地址放入,不用来存储数据。
第三章 HDFS的故障排除
1.NameNode的故障排除,若NN的进程出现问题,可以将2NN的数据拷贝到原NN的存储数据目录中。 2.安全模式,文件系统只接受数据请求,不接受删除以及修改等表更操作。
第四章 Hadoop的企业优化
1.MR跑得慢的原因 计算机性能-CPU,内存,磁盘健康,网络 2.I/O操作优化 a.数据倾斜 b.设置合理的Map和Reduce c.降低Map的运行时间 d.减少小文件过多的情况 e.出现大量的不可切片的超大压缩文件 f.spill次数过多 g.Merge次数过多 3.MR的优化方式 a.在执行MR任务前将大量的小文件进行合并(CombineTextInputFormat)。 b.Map阶段:1.减少spill的次数2.减少Merge的次数3.不影响业务逻辑前期下进行Combine处理 c.Reduce阶段:1.合理设置Map以及Reduce 数 2.设置Map和Reduce共存 3.规避使用Reduce 4.合理设置Reduce段的Buffer 4.I/O传输 使用压缩工具以及文件压缩工具(snappy,lzo.sequeneceFile。 5.数据倾斜 方法1:抽样和范围分区 方法2:自定义分区 方法3:combiner 方法4:采用Map.join,避免使用Reduce.join
第五章 Hadoop新特性
1.hadoop2.x 新特性 1.scp实现两个远程主机的文件复制 2.小文件存档 大量的小文件会耗尽NNDE的大部分内存,为了更好的解决该类问题,将若干小文件存入到某一块的HDFS块中,具体来说就是HDFS存档文件内还是一个个小文件,只是在进行处理时,作为一个block处理。
3.回收站 开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 2.Hadoop3.X新特性 1.多NN的HA架构 允许用户设置多个备用NN,例如,通过配置三个NameNode和五个JournalNode,群集能够容忍两个节点而不是一个节点的故障。 2.纠删码 在默认的3副本方案中,肯定会存在相对较低暖和冷数据集,正常操作期间很少访问副本,但仍然会消耗相应的资源,纠删码则可以实现不到50% 的数据冗余情况下提供和3副本相同的容错能力。
第六章 Hadoop HA高可用
1.所谓HA(High Availablity),即高可用(7*24小时不中断服务) 2.实现高可用最关键的策略是消除单点故障。HA严格来说应该分成各个组件的HA机制:HDFS的HA和YARN的HA。 3.HDFS的工作要点 a.元数据管理方式需要改变 b.需要一个状态管理功能模块 c.必须保证两个NameNode之间能够ssh无密码登录 d.隔离(Fence),即同一时刻仅仅有一个NameNode对外提供服务 4.Hdfs-ha的自动故障转移机制 a.故障检测:集群中的每个NameNode在ZooKeeper中维护了一个会话,如果机器崩溃,ZooKeeper中的会话将终止,ZooKeeper通知另一个NameNode需要触发故障转移。 b.现役NN的选择:ZooKeeper提供了一个简单的机制用于唯一的选择一个节点为active状态。如果目前现役NameNode崩溃,另一个节点可能从ZooKeeper获得特殊的排外锁以表明它应该成为现役NameNode。
|