一般情况下,hadoop集群备份机制采用默认的3份保存,如下图:
hadoop集群 | |||
file | copy | size | space |
sample1.dat | 3 | 100M | 3*100M |
sample2.dat | 3 | 200M | 3*200M |
sample3.dat | 3 | 150M | 3*150M |
sample4.dat | 3 | 125M | 3*125M |
sample5.txt | 3 | 100M | 3*100M |
| |||
存在问题:
hadoop集群不具备容灾功能!
| |||
建议 | |||
| |||
方案一: | |||
hadoop集群1 | |||
file | copy | size | space |
sample1.dat | 2 | 100M | 2*100M |
sample2.dat | 2 | 200M | 2*200M |
sample3.dat | 2 | 150M | 2*150M |
sample4.dat | 2 | 125M | 2*125M |
sample5.txt | 2 | 100M | 2*100M |
+ | |||
hdfs集群2 | |||
file | copy | size | space |
sample1.dat | 2 | 100M | 2*100M |
sample2.dat | 2 | 200M | 2*200M |
sample3.dat | 2 | 150M | 2*150M |
sample4.dat | 2 | 125M | 2*125M |
sample5.txt | 2 | 100M | 2*100M |
优势分析:
1、如果hadoop集群1出现故障或者员工误删除,比如自杀性误操作“$hadoop fs -rmr /”, hdfs集群2的数据不会丢失,可以做容灾备份;
2、hadoop集群1的数据处理时间可以压缩近1/3,例如现有集群处理一天的数据需要8小时,优化后可以减少到5-6小时;
劣势分析:
主要是成本:硬件成本将上升,盘阵的规模需要扩大近1/3,将导致成本的增加近1/3。
方案二: | |||
hadoop集群1 | |||
file | copy | size | space |
sample1.dat | 2 | 100M | 2*100M |
sample2.dat | 2 | 200M | 2*200M |
sample3.dat | 2 | 150M | 2*150M |
sample4.dat | 2 | 125M | 2*125M |
sample5.txt | 2 | 100M | 2*100M |
+ | |||
hdfs集群2 | |||
file | copy | size | space |
sample1.dat | 1 | 100M | 1*100M |
sample2.dat | 1 | 200M | 1*200M |
sample3.dat | 1 | 150M | 1*150M |
sample4.dat | 1 | 125M | 1*125M |
sample5.txt | 1 | 100M | 1*100M |
优势分析:
1、如果hadoop集群1出现故障或者员工误删除,比如自杀性误操作“$hadoop fs -rmr /”, hdfs集群2的数据不会丢失,可以做容灾备份;
2、hadoop集群1的数据处理时间可以压缩近1/3,例如现有集群处理一天的数据需要8小时,优化后可以减少到5-6小时;
3、不会增加任何的成本。
方案二总结:
鉴于将hadoop备份机制由共存3份在一个hadoop集群,优化为2份在一个hadoop集群1,另一份在另一个hdfs集群2,总的空间不变,hadoop集群1的时间却节省近1/3,另外,兼具容灾机制。
以上是一点建议,仅供各位大牛大神参考!