内容简介:本文由Renata Ghisloti Duarte Souza Gra撰写。在这篇文章中,我将分享我在使用Apache Hadoop环境多年后学到的一些技巧。这里的经验主要考虑了Apache Hadoop 2.9版本,但它可以肯定地扩展到其他类似版本。这些是构建或使用Hadoop集群时的注意事项。有些是对Cloudera发行版的考虑。无论如何,希望它有所帮助!
本文由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. 有时,当群集太满时,您可能必须删除一个小文件才能删除更大的文件。
就这些干货了!
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 构建和管理容器的 10 个技巧
- 渗透技巧之Powershell实战技巧
- 渗透技巧——快捷方式文件的参数隐藏技巧
- Python实用技巧,你不知道的7个好玩的Python技巧
- Python 技巧总结
- 监控OpenStack的技巧
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
在线进制转换器
各进制数互转换器
UNIX 时间戳转换
UNIX 时间戳转换