您的位置:首页 > 运维架构

Hadoop学习笔记(一)

2013-04-23 16:58 246 查看
1、2008年后期经典Hadoop服务器选型

CPU:2 X Xeon 2.0 GHz (四核)

内存:8GB

磁盘:4 X 1TB

网卡:千兆以太网卡

2、Hadoop数据节点

从Hadoop权威指南一书中可以看到作者建议在Hadoop的数据节点上不要组件raid,其中的理由是:无论raid 1、raid 5还是raid 0+1这样做的主要目的是为了给系统提供冗余,防止因磁盘故障造成的数据丢失,而Hadoop自身可以通过在不同节点间进行HDFS块的复制来实现冗余,所以在数据节点上组件raid对于数据的冗余并不是很明显,反而大幅度的削减了可用的磁盘空间。

并且通过 http://hortonworks.com/blog/hadoop-in-perspective-systems-for-scientific-computing/#more-13369 这个文章里面推荐如果是小型的集群为了减少运维成本可以将系统所在的硬盘组建raid 1,用来防止系统崩溃;如果是大型的集群则可以直接剔除该节点而不影响到业务。

Hadoop通过JBOD来对硬盘进行轮询操作,如果有一块硬盘出现故障,则JBOD直接忽略掉该已经损坏的硬盘,并利用服务器上的其它可用硬盘完成操作,同时Hadoop系统会根据配置文件里面设置的备份信息,对被忽略硬盘上的数据在其它硬盘或其它服务器上进行分数的补充。

而raid 0的主要作用就是加快系统的读写速度,但是raid 0的缺点是raid控制器会受到一个raid组中速度最慢的硬盘的影响,而使整个raid的速度变慢,相反JBOD则是通过轮询每一块硬盘来达到分布写入,每一块硬盘的读写速度并不会影响到其它的硬盘。

最后,JBOD是轮询每一块硬盘来完成读写操作的,如果在硬盘上做了raid,那么操作系统会将已经组建成raid的多块硬盘认定为一块单独硬盘,这样的话JBOD就无法发挥作用了。

Hadoop学习笔记(二)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hadoop JBOD