hadoop硬件不相同的配置

flyseagod 2014-01-24 01:02:24
hadoop中主要使用hbase数据库,我想用不同硬件配置的机器,需要怎么设置。比如我有5台性能较好的服务器,如内存32G,2个8核cpu的,5T硬盘;然后我又希望把性能较差的服务器也用到当中去,比如有10台内存只有4G、1个2核cpu,500G的硬盘的机器。我怎么样设置才能让配置差的机器不拖慢整个性能,反而能增加整个集群的性能。
需要怎么样配置或是根本就不推荐这种配置,或都hadoop会自动均衡?
...全文
461 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
撸大湿 2014-01-28
  • 打赏
  • 举报
回复
异构集群并不推荐,有条件的情况下尽量采购相同机型

在没有办法的情况,hadoop异构集群需要注意以下几点

1、首先先确认磁盘
容量不是关键,关键是读写性能
如果读写性能相同,500G硬盘也可以利用起来
如果读写性能 相差很大,那500G的磁盘最好只保留MapReduce的TMP目录,datanode去掉或者保留少量的datanode空间

2、CPU问题则好很多,不管CPU的核数多少,主频大多相差不大
核数多的机器多加几个MR的槽位,核数少的就少放几个
1个2核的机器,MR核数不能超过2个,也就是2+2,一般都是1+1 或者 2+1
以此类推8核的机器,MR的槽位最多8+8,一般都是6+6、7+7、7+6、6+5

3、内存则相对简单,更具你的mr槽位数和hdfs block可以反推
一个128mb的hdfs block机器,MR的MH一般保持256mb到512mb,只要比block高就行了
一些特殊情况的MR可能需要更大的MH


------------------------------------------------------------------------------


hbase用异构集群不太合适,因为无法控制CPU槽数,只能控制内存。LZ自己斟酌一下吧
少主无翼 2014-01-27
  • 打赏
  • 举报
回复
根据每台机器的自身情况配置每台机器上的core-site.xml、hdfs-site.xml以及mapred-site.xml,这三个文件都是每个节点独立的,可以根据节点机器的性能个性化配置。具体配置可参考hadoop hbase性能优化
flyseagod 2014-01-26
  • 打赏
  • 举报
回复
就比如我原来有一批老服务器作hadoop,现在集群压力大后,又买了一批配置更好的机器作为节点加在原有的集群上,这样做合适吗?需要作什么配置?
海兰 2014-01-24
  • 打赏
  • 举报
回复
hadoop 1.2 api 伪中文版。支持即时查询,高级查询。方便编码学习。 大数据炙手可热!hadoop是一个大数据分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。 Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。 HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。 Hadoop Map/Reduce是一个使用简易的软件框架,基于它写出来的应用程序能够运行在由上千个商用机器组成的大型集群上,并以一种可靠容错的方式并行处理上T级别的数据集。 一个Map/Reduce 作业(job) 通常会把输入的数据集切分为若干独立的数据块,由 map任务(task)以完全并行的方式处理它们。框架会对map的输出先进行排序, 然后把结果输入给reduce任务。通常作业的输入和输出都会被存储在文件系统中。 整个框架负责任务的调度和监控,以及重新执行已经失败的任务。 通常,hadoop Map/Reduce框架和分布式文件系统是运行在一组相同的节点上的,也就是说,计算节点和存储节点通常在一起。这种配置允许框架在那些已经存好数据的节点上高效地调度任务,这可以使整个集群的网络带宽被非常高效地利用。 Map/Reduce框架由一个单独的master JobTracker 和每个集群节点一个slave TaskTracker共同组成。master负责调度构成一个作业的所有任务,这些任务分布在不同的slave上,master监控它们的执行,重新执行已经失败的任务。而slave仅负责执行由master指派的任务。 应用程序至少应该指明输入/输出的位置(路径),并通过实现合适的接口或抽象类提供map和reduce函数。再加上其他作业的参数,就构成了作业配置(job configuration)。然后,Hadoop的 job client提交作业(jar包/可执行程序等)和配置信息给JobTracker,后者负责分发这些软件和配置信息给slave、调度任务并监控它们的执行,同时提供状态和诊断信息给job-client。 虽然Hadoop框架是用JavaTM实现的,但Map/Reduce应用程序则不一定要用 Java来写 。

20,808

社区成员

发帖
与我相关
我的任务
社区描述
Hadoop生态大数据交流社区,致力于有Hadoop,hive,Spark,Hbase,Flink,ClickHouse,Kafka,数据仓库,大数据集群运维技术分享和交流等。致力于收集优质的博客
社区管理员
  • 分布式计算/Hadoop社区
  • 涤生大数据
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧