如何最快搭建LINUX服务器集群
12并行技术
这是一个非常简单的建造四节点的小集群系统的例子,它是构建在Linux操作系统上,通过MPICH软件包实现的,希望这个小例子能让大家对集群系统的构建有一个最基本的了解。
2使用MPICH构建一个四节点的集群系统
这是一个非常简单的建造四节点的小集群系统的例子,它是构建在Linux操作系统上,通过MPICH软件包实现的,希望这个小例子能让大家对集群系统的构建有一个最基本的了解。
21 所需设备
1)4台采用Pentium II处理器的PC机,每台配
置64M内存,2GB以上的硬盘,和EIDE接口的光盘驱动器。
2)5块100M快速以太网卡,如SMC 9332 EtherPower 10/100(其中四块卡用于连接集群中的结点,另外一块用于将集群中的其中的一个节点与其它网络连接。)
3)5根足够连接集群系统中每个节点的,使用5类非屏蔽双绞线制作的RJ45缆线
4)1个快速以太网(100BASE-Tx)的集线器或交换机
5)1张Linux安装盘
22 构建说明
对计算机硬件不熟的人,实施以下这些构建步骤会感到吃力。如果是这样,请找一些有经验的专业人士寻求帮助。
1 准备好要使用的采用Pentium II处理器的PC机。确信所有的PC机都还没有接上电源,打开PC机的机箱,在准备与网络上的其它设备连接的PC机上安装上两块快速以太网卡,在其它的 PC机上安装上一块快速以太网卡。当然别忘了要加上附加的内存。确定完成后盖上机箱,接上电源。
2 使用4根RJ45线缆将四台PC机连到快速以太网的集线器或交换机上。使用剩下的1根RJ45线将额外的以太网卡(用于与其它网络相连的那块,这样机构就可以用上集群)连接到机构的局域网上(假定你的机构局域网也是快速以太网),然后打开电源。
3 使用LINUX安装盘在每一台PC机上安装。请确信在LINUX系统中安装了C编译器和C的LIB库。当你配置TCP/IP时,建议你为四台PC分别指定为19216811、19216812、19216813、19216814。第一台PC为你的服务器节点(拥有两块网卡的那台)。在这个服务器节点上的那块与机构局域网相连的网卡,你应该为其指定一个与机构局域网吻合的IP地址。
4当所有PC都装好Linux系统后,编辑每台机器的/etc/hosts文件,让其包含以下几行:
19216811 node1 server
19216812 node2
19216813 node3
19216814 node4
编辑每台机器的/etc/hostsequiv文件,使其包含以下几行:
node1
node2
node3
node4
$p#
以下的这些配置是为了让其能使用MPICH’s p4策略去执行分布式的并行处理应用。
1 在服务器节点
,建一个/mirror目录,并将其配置成为NFS服务器,并在/etc/exports文件中增加一行:
/mirror node1(rw) node2(rw) node3(rw) node4(rw)
2 在其他节点上,也建一个/mirror目录,关在/etc/fstab文件中增加一行:
server:/mirror /mirror nfs rw,bg,soft 0 0
3 /mirror这个目录从服务器上输出,装载在各个客户端,以便在各个节点间进行软件任务的分发。
4 在服务器节点上,安装MPICH。MPICH的文档可在
5任何一个集群用户(你必须在每一个节点新建一个相同的用户),必须在/mirror目录下建一个属于它的子目录,如 /mirror/username,用来存放MPI程序和共享数据文件。这种情况,用户仅仅需要在服务器节点上编译MPI程序,然后将编译后的程序拷贝到在/mirror目录下属于它的的子目录中,然后从他在/mirror目录下属于它的的子目录下使用p4 MPI策略运行MPI程序。
23 MPICH安装指南
1如果你有gunzip,就d下载mpichtargz,要不然就下载mpichtarZ。你可以到http://wwwmcsanlgov/mpi/mpich/downloa下载,也可以使用匿名FTP到ftpmcsanlgov的pub/mpi目录拿。(如果你觉得这个东西太大,你可以到pub/mpi/mpisplit中取分隔成块的几个小包,然后用cat命令将它们合并)
2解压:gunzip ;c mpichtargztar xovf-(或zcat mpichtarZ tar xovf-)
3进入mpich目录
4执行:/configure为MPICH选择一套适合你的实际软硬件环境的参数组,如果你对这些默认选择的参数不满意,可以自己进行配置(具体参见MPICH的配置文档)。最好选择一个指定的目录来安装和配置MPICH,例如:
/configure -prefix=/usr/local/mpich-120
5执行:make >&makelog 这会花一段较长的时间,不同的硬件环境花的时间也就不同,可能从10分钟到1个小时,甚至更多。
6(可选)在工作站网络,或是一台单独的工作站,编辑mpich/util/machines/machinesxxx(xxx是MPICH对你机器体系结构取的名称,你能很容易的认出来)以反映你工作站的当地主机名。你完全可以跳过这一步。在集群中,这一步不需要。
7(可选)编译、运行一个简单的测试程序:
cd examples/basic
make cpi
ln ;s //bin/mpirun mpirun
/mpirun ;np 4 cpi
此时,你就在你的系统上运行了一个MPI程序。
8(可选)构建MPICH其余的环境,为ch_p4策略使
用安全的服务会使得任何启动速度加快,你可以执行以下命令构建:
make serv_p4
(serv_p4是一个较新的P4安全服务的版本,它包含在MPICH 120版中),nupshot程序是upshot程序的一个更快版本,但他需要tk 36版的源代码。如果你有这个包,你就用以下命令可以构建它:
make nupshot
9(可选)如果你想将MPICH安装到一个公用的地方让其它人使用它,你可以执行:
make install 或 bin/mpiinstall
你可以使用-prefix选项指定MPICH安装目录。安装后将生成include、lib、bin、sbin、www和man目录以及一个小小的示例目录,
到此你可以通告所有的用户如何编译、执行一个MPI程序。
当今计算机技术已经进入以网络为中心的时代。互联网的高速发展,用户数量及网络流量的迅速增长使得越来越多服务器显得负担沉重,对网络服务器的可扩展性和 可用性提出了更高的要求。简单的提高硬件性能并不能真正解决这个问题。为此,必须采用多服务器和负载均衡技术才能满足大量并发访问的需要。集群技术就是将 多台计算机组织起来进行协同工作来模拟一台功能更强大的服务器的技术。集群是在一组计算机上运行相同的软件并虚拟成一台主机系统为客户端与应用提供服务。 计算机通过缆线物理连接并通过集群软件实现程序上的连接,可以使计算机实现单机无法实现的容错和负载均衡。Windows Server 2003 家族产品将提供两种类型的集群服务:集群服务(MSCS)仅用于Windows Server 2003 企业版和数据中心版,该服务为像数据库、消息系统、文件与打印服务这些关键业务应用提供了高可用性和可扩展性。在集群中的多个服务器(节点)保持不间断的联系。如果在集群中的某一节点因出错或维护不可用时,另一节点会立刻提供服务,以实现容错。正在访问服务的用户可以继续访问,而不会察觉到服务已经由另一台服务器(节点)提供。Windows Server 2003的企业版和数据中心版都可以支持最大达8个节点的集群配置。这一改变增强了部署的灵活性:尤其对于地理分散部署的集群配置而言,并且支持主机的N+I配置(N 个主动节点+ I 个备用节点)。 N+I 模型将为将来利用Windows Server 2003部署大型Microsoft Exchange Server提供非常重要的支持。网络负载均衡 (NLB) 在Windows Server 2003家族的所有版本中都可用,该服务可在集群内均衡分布访问的IP流量。网络负载均衡增强了Web服务器、流媒体服务器、终端服务器等Internet服务器程序的可用性和扩展性。
在过去,大数据处理主要是采用标准化的刀片式服务器和存储区域网络(SAN)来满足网格和处理密集型工作负载。然而随着数据量和用户数的大幅增长,基础设施的需求已经发生变化,硬件厂商必须建立创新体系,来满足大数据对包括存储刀片,SAS(串行连接SCSI)开关,外部SATA阵列和更大容量的机架单元的需求。即寻求一种新的方法来存储和处理复杂的数据,Hadoop正是基于这样的目的应运而生的。Hadoop的数据在集群上均衡分布,并通过复制副本来确保数据的可靠性和容错性。因为数据和对数据处理的操作都是分布在服务器上,处理指令就可以直接地发送到存储数据的机器。这样一个集群的每个服务器器上都需要存储和处理数据,因此必须对Hadoop集群的每个节点进行配置,以满足数据存储和处理要求。
Hadoop框架中最核心的设计是为海量数据提供存储的HDFS和对数据进行计算的MapReduce。MapReduce的作业主要包括从磁盘或从网络读取数据,即IO密集工作,或者是计算数据,即CPU密集工作。Hadoop集群的整体性能取决于CPU、内存、网络以及存储之间的性能平衡。因此运营团队在选择机器配置时要针对不同的工作节点选择合适硬件类型。一个基本的Hadoop集群中的节点主要有:Namenode负责协调集群中的数据存储,DataNode存储被拆分的数据块,Jobtracker协调数据计算任务,最后的节点类型是Secondarynamenode,帮助NameNode收集文件系统运行的状态信息。
在集群中,大部分的机器设备是作为Datanode和TaskTracker工作的。Datanode/TaskTracker的硬件规格可以采用以下方案:
4个磁盘驱动器(单盘1-2T),支持JBOD
2个4核CPU,至少2-25GHz
16-24GB内存
千兆以太网
Namenode提供整个HDFS文件系统的namespace管理,块管理等所有服务,因此需要更多的RAM,与集群中的数据块数量相对应,并且需要优化RAM的内存通道带宽,采用双通道或三通道以上内存。硬件规格可以采用以下方案:
8-12个磁盘驱动器(单盘1-2T)
2个4核/8核CPU
16-72GB内存
千兆/万兆以太网
Secondarynamenode在小型集群中可以和Namenode共用一台机器,较大的群集可以采用与Namenode相同的硬件。考虑到关键节点的容错性,建议客户购买加固的服务器来运行的Namenodes和Jobtrackers,配有冗余电源和企业级RAID磁盘。最好是有一个备用机,当 namenode或jobtracker 其中之一突然发生故障时可以替代使用。
目前市场上的硬件平台满足Datanode/TaskTracker节点配置需求的很多,,据了解深耕网络安全硬件平台多年的立华科技瞄准了Hadoop的发展前景,适时推出了专门针对NameNode的设备----双路至强处理器搭载12块硬盘的FX-3411,将计算与存储完美融合,四通道内存的最大容量可达到256GB,完全满足NameNode对于一个大的内存模型和沉重的参考数据缓存组合的需求。
同时在网络方面,FX-3411支持的2个PCI-E8的网络扩展,网络吞吐达到80Gbps,更是远远满足节点对千兆以太网或万兆以太网的需求。此外针对Datanode/TaskTracker等节点的配置需求,立华科技不仅推出了可支持单路至强E38核处理器和4块硬盘的标准品FX-3210,还有可以全面客制化的解决方案,以满足客户的不同需求。
Hadoop集群往往需要运行几十,几百或上千个节点,构建匹配其工作负载的硬件,可以为一个运营团队节省可观的成本,因此,需要精心的策划和慎重的选择。
集群允许转换以及转换中的步骤在多个服务器上并发执行。在使用kettle集群时,首先需要定义的是Cluster schema。所谓的Cluster schema就是一系列的子服务器的集合。在一个集群中,它包含一个主服务器(Master)和多个从属服务器服务器(slave)。如下图所示:
子服务器(Slave servers)允许你在远程服务器上执行转换。建立一个子服务器需要你在远程服务器上建立一个叫做“Carte”的 web 服务器,该服务器可以从Spoon(远程或者集群执行)或者转换任务中接受输入。
在以后的描述中,如果我们提到的是子服务器,则包括集群中的主服务器和从属服务器;否则我们会以主服务器和从属服务器来进行特别指定。
注意: 在集群环境下执行转化时,你必须有一个子服务器作为主服务器(master
server)而其余所有的子服务器都作从属服务器(slave server)
代理服务器主机名
设置你要通过代理进行连接的主机名
代理服务器端口
设置与代理进行连接时所需的端口号
Ignore proxy for hosts: regexp|separated
指定哪些服务器不需要通过代理来进行连接。该选项支持你使用正则表达式来制定多个服务器,多个服务器之间以'
| ' 字符来进行分割
创建cluster schema
定义转换
定义完了 cluster schema 后,下一步就是定义在集群环境下执行的转换。我们这里展现的只是一个最简单的例子,完全是为了演示而用。现实情况中的集群有可能非常复杂。
首先你像平时一样创建转换,以hop连接连个两个步骤。然后你指定第二个步骤将在集群下执行
然后选择需要使用的集群。转换如图一样显示在GUI中。
注意 Cx4显示这个步骤将在集群中运行,而这个集群中有4个从属服务器。假设我们将计算结果再次存入到数据表中
这个转换虽然定义了集群,但是我们同样可以让它在单机环境下执行,而且可以得到相同的结果。这意味着你可以使用普通的本地模式来测试它。
执行转换
要想以集群方式来运行转换或者作业,首先需要启动在Cluster schema中定义的主服务器和从属服务器,然后再运行转换或者作业。
启动子服务器
子服务器其实是一个嵌入式的名为 Carte 的 小web server。要进行集群转换,首先需要启动cluster schema中的子服务器
脚本启动
kettle 提供了 cartebat 和 cartesh ( inux )批处理脚本来启动子服务器,这种启动方式分为两种
使用主机号和端口号
Carte 127001 8080
Carte 1921681221 8081
使用配置文件
Carte /foo/bar/carte-configxml
Carte url
0条评论