我有一个4节点集群,我正在探索Cloudera,以便像Spark,Hive,Impala等进行TPCH基准测试。我的集群节点是合理的,cpu有4个内核,8GB RAM和250GB磁盘。
我尝试正确安装CDH 5,通过网络用户界面,一切运行正常,我可以安装几个工具,我总是维护安装程序推荐的默认角色/工具分发,问题是当安装结束时,我总会遇到一些健康问题和警告!
主要部分我认为它与ram有关,而且大多数警告都是为了增加节点组件(如堆大小等)的内存,这会导致警告的出现"内存阈值过度使用&#34 ;,我不知道是否更好地忽略那些sugestions或跟随。即使所有糟糕的健康警告,我都应用了所有变化,并将我的数据加载到配置单元以开始执行某些查询,但在某些情况下,我只是在启动地图减少工作时被卡住了!
有人可以提供一些可能的解决方案/建议吗? 提前谢谢,并为长篇文章感到抱歉!
答案 0 :(得分:0)
您通常可以忽略内存过量使用的错误,因为大多数Java应用程序使用其实际堆大小的一小部分。然而,正如cricket_007和Samson Scharfrichter所说,你的设置非常小。
http://blog.cloudera.com/blog/2013/08/how-to-select-the-right-hardware-for-your-new-hadoop-cluster/建议:
以下是a中DataNode / TaskTrackers的推荐规范 平衡的Hadoop集群:
JBOD(Just a Bunch Of Disks)配置中的12-24个1-4TB硬盘 2个四核/六核/八核CPU,运行至少2-2.5GHz 64-512GB的RAM 保税千兆以太网或10千兆以太网(存储更多 密度,所需的网络吞吐量越高)
你的工作陷入困境的最可能原因是缺乏vcores。查看YARN Web UI并查看您有多少vcores。如果您的数量较少(低于5),您的工作将缺少运行任何工作负载的必要插槽。对于您的群集,您可以允许每个节点3个vcore为您提供至少12个vcores。 Vcores不是CPU,您应该将vcores视为mapper / reducer任务或应用程序主机的插槽。每个vcore至少需要512MB的内存(你必须考虑到JVM)。
有关vcores和基本设置的更全面了解,请参阅https://blog.cloudera.com/blog/2015/10/untangling-apache-hadoop-yarn-part-2/。
其他显而易见的事情是关闭您不需要的服务,并缩小您需要为实际工作负载释放内存所需的堆大小。