如何构建最优化的Hadoop集群

作者&投稿:叱干怡 (若有异议请与网页底部的电邮联系)
如何构建最优化的Hadoop集群~

  本文将逐步介绍这些部分的安装和配置:•网络体系结构•操作系统•硬件要求•Hadoop软件安装/设置网络架构根据我们目前能够拿到的文档,可以认为云内的节点越在物理上接近,越能获得更好的性能。根据经验,网络延时越小,性能越好。为了减少背景流量,我们为这个云创建了一个虚拟专用网。另外,还为应用服务器们创建了一个子网,作为访问云的入口点。这个虚拟专用网的预计时延大约是1-2毫秒。这样一来,物理临近性就不再是一个问题,我们应该通过环境测试来验证这一点。建议的网络架构:•专用TOR(Top of Rack)交换机•使用专用核心交换刀片或交换机•确保应用服务器“靠近”Hadoop•考虑使用以太网绑定

  操作系统我们选择Linux作为操作系统。Linux有许多不同的发行版,包括Ubuntu、RedHat和CentOS等,无论选择哪一个都可以。基于支持和许可费用的考虑,我们最终选择了CentOS 5.7。最好是定制一个CentOS的映像,把那些需要的软件都预装进去,这样所有的机器可以包含相同的软件和工具,这是一个很好的做法。根据Cloudera的建议,OS层应该采用以下设置:•文件系统Ext3文件系统取消atime不要使用逻辑卷管理•利用alternatives来管理链接•使用配置管理系统(Yum、Permission、sudoers等)•减少内核交换•撤销一般用户访问这些云计算机的权限•不要使用虚拟化•至少需要以下Linux命令:/etc/alternativesln、chmod、chown、chgrp、mount、umount、kill、rm、yum、mkdir硬件要求由于Hadoop集群中只有两种节点(Namenode/Jobtracker和Datanode/Tasktracker),因此集群内的硬件配置不要超过两种或三种。

  硬件建议:•Namenode/Jobtracker:1Gb/s以太网口x2、16GB内存、4个CPU、100GB磁盘•Datanode:1Gb/s以太网口x2、8GB内存、4个CPU、多个磁盘,总容量500GB以上实际的硬件配置可以与我们建议的配置不同,这取决于你们需要存储和处理的数据量。但我们强烈建议不要在集群中混用不同的硬件配置,以免那些较弱的机器成为系统的瓶颈。Hadoop的机架感知Hadoop有一个“机架感知”特性。管理员可以手工定义每个slave数据节点的机架号。为什么要做这么麻烦的事情?有两个原因:防止数据丢失和提高网络性能。

  为了防止数据丢失,Hadoop会将每个数据块复制到多个机器上。想象一下,如果某个数据块的所有拷贝都在同一个机架的不同机器上,而这个机架刚好发生故障了(交换机坏了,或者电源掉了),这得有多悲剧?为了防止出现这种情况,必须要有一个人来记住所有数据节点在网络中的位置,并且用这些知识来确定——把数据的所有拷贝们放在哪些节点上才是最明智的。这个“人”就是Name Node。另外还有一个假设,即相比不同机架间的机器,同一个机架的机器之间有着更大的带宽和更小的延时。这是因为,机架交换机的上行带宽一般都小于下行带宽。而且(+本站微信networkworldweixin),机架内的延时一般也小于跨机架的延时(但也不绝对)。机架感知的缺点则是,我们需要手工为每个数据节点设置机架号,还要不断地更新这些信息,保证它们是正确的。要是机架交换机们能够自动向Namenode提供本机架的数据节点列表,那就太棒了。

可以参考这个文章
网页链接
写的非常详细

  操作系统
  我们选择Linux作为操作系统。Linux有许多不同的发行版,包括Ubuntu、RedHat和CentOS等,无论选择哪一个都可以。基于支持和许可费用的考虑,我们最终选择了CentOS 5.7。最好是定制一个CentOS的映像,把那些需要的软件都预装进去,这样所有的机器可以包含相同的软件和工具,这是一个很好的做法。
  根据Cloudera的建议,OS层应该采用以下设置:
文件系统
  Ext3文件系统
  取消atime
  不要使用逻辑卷管理
利用alternatives来管理链接
使用配置管理系统(Yum、Permission、sudoers等)
减少内核交换
撤销一般用户访问这些云计算机的权限
不要使用虚拟化
至少需要以下Linux命令:
  /etc/alternatives
  ln、chmod、chown、chgrp、mount、umount、kill、rm、yum、mkdir
  硬件要求
  由于Hadoop集群中只有两种节点(Namenode/Jobtracker和Datanode/Tasktracker),因此集群内的硬件配置不要超过两种或三种。

图2 - Hadoop集群服务器角色
  硬件建议:
Namenode/Jobtracker:1Gb/s以太网口x2、16GB内存、4个CPU、100GB磁盘
Datanode:1Gb/s以太网口x2、8GB内存、4个CPU、多个磁盘,总容量500GB以上
  实际的硬件配置可以与我们建议的配置不同,这取决于你们需要存储和处理的数据量。但我们强烈建议不要在集群中混用不同的硬件配置,以免那些较弱的机器成为系统的瓶颈。
  Hadoop的机架感知
  Hadoop有一个“机架感知”特性。管理员可以手工定义每个slave数据节点的机架号。为什么要做这么麻烦的事情?有两个原因:防止数据丢失和提高网络性能。

图3 - Hadoop集群的机架感知
  为了防止数据丢失,Hadoop会将每个数据块复制到多个机器上。想象一下,如果某个数据块的所有拷贝都在同一个机架的不同机器上,而这个机架刚好发生故障了(交换机坏了,或者电源掉了),这得有多悲剧?为了防止出现这种情况,必须要有一个人来记住所有数据节点在网络中的位置,并且用这些知识来确定——把数据的所有拷贝们放在哪些节点上才是最明智的。这个“人”就是Name Node。
  另外还有一个假设,即相比不同机架间的机器,同一个机架的机器之间有着更大的带宽和更小的延时。这是因为,机架交换机的上行带宽一般都小于下行带宽。而且,机架内的延时一般也小于跨机架的延时(但也不绝对)。
  机架感知的缺点则是,我们需要手工为每个数据节点设置机架号,还要不断地更新这些信息,保证它们是正确的。要是机架交换机们能够自动向Namenode提供本机架的数据节点列表,那就太棒了。
  Hadoop软件的安装和配置
  Hadoop集群有多种构建方式:
手工下载tar文件并复制到集群中
利用Yum仓库
利用Puppet等自动化部署工具
  我们不建议采用手工方式,那只适合很小的集群(4节点以下),而且会带来很多维护和排障上的问题,因为所有的变更都需要用scp或ssh的方式手工应用到所有的节点上去。
  从以下方面来看,利用Puppet等部署工具是最佳的选择:
安装
配置
维护
扩展性
监控
排障
  Puppet是Unix/Linux下的一个自动化管理引擎,它能基于一个集中式的配置执行增加用户、安装软件包、更新服务器配置等管理任务。我们将主要讲解如何利用Yum和Puppet来安装Hadoop。
  利用Yum/Puppet搭建Hadoop集群
  要利用Puppet搭建Hadoop集群,首先要符合以下前置条件:
包含所有必需Hadoop软件的中央仓库
用于Hadoop部署的Puppet装载单(manifest)
用于Hadoop配置管理的Puppet装载单
用于集群维护的框架(主要是sh或ksh脚本),以支持集群的start/stop/restart
利用puppet构建整个服务器(包括操作系统和其它软件)
  注:如果要用Yum来安装Hadoop集群,则所有服务器应该预先构建完成,包括操作系统和其它软件都应安装完毕,yum仓库也应在所有节点上设置完毕。
  构建Datanode/Tasktracker
  如果用Yum安装Datanode/Tasktracker,需在所有数据节点上执行以下命令:

  yum install hadoop-0.20-datanode –y
  yum install hadoop-0.20-tasktracker –y

  换成Puppet的话,则是:

  class setup_datanode {
  if ($is_datanode == true) {
  make_dfs_data_dir { $hadoop_disks: }
  make_mapred_local_dir { $hadoop_disks: }
  fix_hadoop_parent_dir_perm { $hadoop_disks: }
  }
  # fix hadoop parent dir permissions
  define fix_hadoop_parent_dir_perm() {
  …
  }
  # make dfs data dir
  define make_dfs_data_dir() {
  …
  }
  # make mapred local and system dir
  define make_mapred_local_dir() {
  …
  }
  } # setup_datanode

  构建Namenode(及辅助Namenode)
  如果用Yum安装Namenode,需在所有数据节点上执行以下命令:

  yum install hadoop-0.20-namenode –y
  yum install hadoop-0.20-secondarynamenode –y

  换成Puppet的话,则是:

  class setup_namenode {
  if ($is_namenode == true or $is_standby_namenode == true) {
  ...
  }
  exec {"namenode-dfs-perm":
  ...
  }
  exec { "make ${nfs_namenode_dir}/dfs/name":
  ...
  }
  exec { "chgrp ${nfs_namenode_dir}/dfs/name":
  ...
  }
  if ($standby_namenode_host != "") {
  ...
  }
  exec { "own $nfs_standby_namenode_dir":
  ...
  }
  }
  # /standby_namenode_hadoop
  if ($standby_namenode_host != "") {
  ...
  }
  exec { "own $standby_namenode_hadoop_dir":
  ...
  }
  }
  }
  }
  class setup_secondary_namenode {
  if ($is_secondarynamenode == true) {
  ...
  }
  ....
  }
  exec {"namenode-dfs-perm":
  ...
  }
  }
  }

  构建JobTracker
  如果用Yum安装Jobtracker,需在所有数据节点上执行以下命令:

  yum install hadoop-0.20-jobtracker –y

  换成Puppet的话,则是使用与构建Namenode相同的装载单,唯一的区别在于,在Jobtracker机器上,会启动Jobtracker——即将该机器上的is_jobtracker设置为true。


什么是糖胺聚糖,有何特点?有哪些重要的糖胺聚糖,他们的生理功能。?
通过巧妙地调整微生物宿主,如兽疫链球菌,科研人员已经成功实现了从低分子量(LMW-HA)到超大分子量(UHMW-HA)HA的多样化生产。硫酸软骨素的精细操控 作为人体中最丰富的GAG之一,硫酸软骨素(CS)在骨骼健康中扮演关键角色。其生物合成过程复杂,涉及多个硫酸化酶的协同作用。科学家们已经构建出微生物\/...

《华为没有秘密》的读后感
华为除了坚守的原则,还有与国际接轨的世界级管理体系,例如:华为是中国第一家采用HA体系的公司,华为的任职资格体系自英国国家职业任职资格体系,产品研发流程、供应链流程、财务流程都自IB光在IpD和IS两个项目,IB就干了年,投入了200多顾问,华为也支付了亿的咨询费,华为在管理上的投资魄力,可见一斑。财务四统一是毕马...

大型燃气轮机有何优势和挑战?
重型燃气轮机的代表作如GE的9HA系列,功率高达826MW,64%的高效率,借助3D打印技术,目标在2030年实现100%氢气燃料。哈电与GE的合作,催生了国产HA级燃机,如9HA.02,不仅效率卓越,还具备燃氢能力,标志着国产技术的飞跃。东方电气的M701J燃气轮机,凭借64%的高效和显著的二氧化碳减排,已成为市场领...

我最喜欢的一本书 《狼王梦》
长子一身黑毛,称它黑仔;次子毛色有蓝有黑,叫它蓝魂儿;最小的公狼崽毛色一半是黑色,一半是褐黄色,称它双毛儿,唯一的一只母狼崽长得一身紫毛,就叫它媚媚。 紫岚最偏爱黑仔,因为它长得最像黑桑,黑仔长大一定会像黑桑那样健壮、勇敢、聪明的。紫岚把全部的母爱倾注在黑仔身上,它要把黑仔培养成新狼王。每次哺乳,...

Exadata太贵用不起,Oracle有何对策
构建一个高水平数据库应用系统最简单的办法就是采用Oracle Exadata数据库一体机,这是一个软硬件一体优化的数据库融合系统平台。但对于用户来说,Exadata最大问题在于价格不菲。特别对于中小企业用户而言,Exadata近乎奢侈品。o3 甲骨文公司中国区系统事业部销售咨询部高级总监潘榆奇既然奢侈品用不起,中小企业...

Vcenter功能特性
10. 高可用性和灾备:vSphere HA确保虚拟机的高可用性,而vCenter Server Heartbeat提供备份和故障切换选项,增强vCenter Server的稳定性。11. 资源优化:vSphere DRS智能分配资源,实现负载均衡,同时vSphere分布式电源管理管理能耗,确保资源的高效利用。这些功能共同构建了一个强大、灵活且易于管理的vCenter ...

做大数据分析一般用什么工具呢?
Zookeeper:这是个万金油,安装Hadoop的HA的时候就会用到它,以后的Hbase也会用到它。它一般用来存放一些相互协作的信息,这些信息比较小一般不会超过1M,都是使用它的软件对它有依赖,对于我们个人来讲只需要把它安装正确,让它正常的run起来就可以了。Mysql:我们学习完大数据的处理了,接下来学习学习小...

国产操作系统有哪些
器版、国产CPU系列版本,IBM Power服务器版、HA和虚拟化系列等产品。5、威科乐恩Linux WiOS是由威科乐恩(北京)科技有限公司开发的一服务器操作系统,旨在帮助企业无缝 地过渡到包含虚拟化和云计算的新兴数据中心模式。6银河麒麟 银河麒麟:是由国防科技大学、中软公司、联想公司、浪潮集团和民族恒星公司合作...

大数据分析需要哪些工具
3.其它语言的数据可视化框架 一、专业的大数据分析工具 1、FineReport FineReport是一款纯Java编写的、集数据展示(报表)和数据录入(表单)功能于一身的企业级web报表工具,只需要简单的拖拽操作便可以设计复杂的中国式报表,搭建数据决策分析系统。2、FineBI FineBI是新一代自助大数据分析的商业智能产品,提供...

荆州区17689945100: 怎么为大数据处理构建高性能Hadoop集群 -
店宝爱西: 越来越多的企业开始使用Hadoop来对大数据进行处理分析,但Hadoop集群的整体性能却取决于CPU、内存、网络以及存储之间的性能平衡.而在这篇文章中,我们将探讨如何为Hadoop集群构建高性能网络,这是对大数据进行处理分析的关键...

荆州区17689945100: 如何基于Docker快速搭建多节点Hadoop集群 -
店宝爱西: Docker最核心的特性之一,就是能够将任何应用包括Hadoop打包到Docker镜像中.这篇教程介绍了利用Docker在单机上快速搭 建多节点 Hadoop集群的详细步骤.作者在发现目前的Hadoop on Docker项目所存在的问题之后,开发了接近最小...

荆州区17689945100: 怎么在服务器上搭建hadoop集群 -
店宝爱西: 前期准备 l 两台linux虚拟机(本文使用redhat5,IP分别为 IP1、IP2) l JDK环境(本文使用jdk1.6,网上很多配置方法,本文省略) l Hadoop安装包(本文使用Hadoop1.0.4) 搭建目标 210作为主机和节点机,211作为节点机. 搭建步骤 1修改hosts文...

荆州区17689945100: hadoop 集群搭建 -
店宝爱西: 在hadoop里找hadoop-***-core.jar

荆州区17689945100: 在docker中搭建hadoop集群有什么好方法配置ip -
店宝爱西: 1. 该问题是由于docker在启动暂停或退出的container时会初始化系统文件如/etc/hosts等四个文件.导致依赖于ip主机名对应关系的hadoop集群无法工作.2. 可利用编写脚本调用expect在管理机上推送示例文件(这个示例文件内容需要脚本采用...

荆州区17689945100: 如何搭建hadoop分布式环境,怎样快速搭建 -
店宝爱西: 部署步骤 序号 操作 1 配置SSH无密码登陆 2 配置环境变量JAVA(必须),MAVEN,ANT 3 配置Hadoop环境变量 4 配置core-site.xml文件 5 配置hdfs-site.xml文件 6 配置mapred-site.xml文件 7 配置yarn-site.xml文件 8 配置slaves文件 9 分发到从机上 10...

荆州区17689945100: 想要搭建hadoop集群,想问一下应该配备什么样的硬件设备,顺便给出每个硬件设备的大概价格. -
店宝爱西: 可以用一台普通pc机,加虚拟机来完成小范围集群配置

荆州区17689945100: 如何在虚拟机中搭建hadoop -
店宝爱西: 方法/步骤 1 设置虚拟机和本机上的ip2 可以清楚的看到多出现了两个网卡选项,这里我们使用VMware Network Adapter VMnet1 就行了,然后将其与的一个禁用.启用第一个之后,就要去给这个设置ip地址了,那么这个ip地址应该设置为多少呢...

荆州区17689945100: hadoop 框架中怎么来优化 -
店宝爱西: Storm用于处理高速、大型数据流的分布式实时计算系统.为Hadoop添加了可靠的实时数据处理功能 Spark采用了内存计算.从多迭代批处理出发,允许将数据载入内存作反复查询,此外还融合数据仓库,流处理和图形计算等多种计算范式.Spark构建在HDFS上,能与Hadoop很好的结合.它的RDD是一个很大的特点.Hadoop当前大数据管理标准之一,运用在当前很多商业应用系统.可以轻松地集成结构化、半结构化甚至非结构化数据集.

荆州区17689945100: 搭建Hadoop集群,一个月6T的数量需要几台服务器 -
店宝爱西: 最好是两个做成HA 关于硬盘:6T的数据容量,看你副本数量设置是多少,一般默认为3,那么仅这些就需要18T硬盘,稍微大一点20T吧;这仅仅是HDFS存储;(这里我说的是一个月的,你数据保存几个月,就乘几倍) 如果你集群上面要跑计...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网