Apache Hadoop管理的23个技巧
本文由Renata Ghisloti Duarte Souza Gra撰写。
在这篇文章中,我将分享我在使用Apache Hadoop环境多年后学到的一些技巧。这里的经验主要考虑了Apache Hadoop 2.9版本,但它可以肯定地扩展到其他类似版本。
这些是构建或使用Hadoop集群时的注意事项。有些是对Cloudera发行版的考虑。无论如何,希望它有所帮助!
1. 不要将Hadoop用于数百万个小文件。它会重载namenode并使其变慢。重载namenode并不困难。始终检查功能与文件数量。Hadoop上的文件通常应该超过100 MB。
2. 必须为namenode中的大约1百万个文件提供1 GB的内存。
3. 节点通常在5年后失败。节点故障是H adoop中最常见的问题之一。像facebook和google这样的大公司应该在一分钟内出现节点故障。
4. Cloudera Manager上的MySQL没有冗余。这可能是一个失败点。
5.信息:fsimage文件的合并发生在辅助namenode上。
6.Hadoop可以缓存块以提高性能。默认情况下,它无缓存,为0。
7. 您可以设置一个参数,在仅将第一个或第二个数据块复制到数据节点后,将确认消息从数据节点发送回namenode,这可能会使写入数据更快。
8. Hadoop具有机架感知功能:它知道哪个节点连接到“女巫”交换机。实际上,它是配置它的Hadoop管理员。
9. 不时检查文件以验证是否存在任何数据损坏(通常每三周一次)。这是可能的,因为datanodes存储文件校验checksum。
10.日志文件默认存储7天。
11.part-m-000来自mapper,part-m-000来自reducer job。最后的数字
对应于为该作业运行的reducer数量。part-r008有9个reducer(从0开始)。
12.您可以更改mapper和reducers任务的log.level以获取更多信息。
13. 设置日志输出:mapreduce.reduce.log.level = DEBUG
14. yarn服务器会检查Spark做了什么。localhost:4040还显示已完成的操作。
15. 检查namenode fsimage文件的放置位置非常重要。您可能想要复制此文件。
16. 对于shuffle阶段,保存到dfs.datanode.du.reserve必须将大量磁盘空间(25%)。这个阶段将写在磁盘上,所以需要有空间!
17. 删除文件后,删除一段时间后,它们会保留在.Trash目录中。默认时间为1天。
18. 你可以用flume建造一个lamdba架构。您还可以指定是否要将数据放入内存或磁盘槽中。
19.关于硬件,工作节点需要更多内核以进行更多处理。主节点不会处理那么多。
20.对于 namenode,需要更高质量的磁盘和更好的硬件(如raid - raid在工作节点上没有意义)。
21.经验法则是:如果要存储1 TB数据,则必须具有4 TB空间。
Hadoop 应用程序通常不受cpu约束。
22. 虚拟化可能会为您带来一些好处(更易于管理),但却会影响性能。通常它会带来5%到30%的开销。
23. Hadoop不支持ipv6。你可以禁用ipv6。 您还可以 在群集内禁用selinux。两者都给了开销。
24. 初始集群的大小约为6个节点。
25. 有时,当群集太满时,您可能必须删除一个小文件才能删除更大的文件。
就这些干货了!
相关推荐
minerd 2020-10-28
swazerz 2020-06-22
仁鱼 2020-06-20
victorzhzh 2020-06-16
sujins 2020-05-30
changjiang 2020-11-16
WeiHHH 2020-09-23
Aleks 2020-08-19
WeiHHH 2020-08-17
飞鸿踏雪0 2020-07-26
tomli 2020-07-26
deyu 2020-07-21
strongyoung 2020-07-19
eternityzzy 2020-07-19
Elmo 2020-07-19
飞鸿踏雪0 2020-07-09
飞鸿踏雪0 2020-07-04