分类:Linux的

使用虚拟办公室网格计算环境-第4部分

史蒂芬劳埃德沃特金斯 ,星期五09年12月4日晚上11:59

简介

本人在一家公司工作,我们运行很多批作业处理每天数百万的每个记录的数据和我一直在想最近关于这一点,所有的机器,每天坐在这里每几个小时什么事也不做。 那岂不是好,如果我们可以利用这些机器,以增强我们的系统处理能力? 在这篇文章的设置,我要看看用人办公室的潜在好处的电网使用虚拟化环境。

第三部分我们创建了虚拟加工机和设置Windows机器成为空闲时间的工人。

最新的代码运行

在创建你的工人不可避免的业务逻辑会改变,错误会被发现,更快,更高效的代码会产生这样离开你的工人围坐在处理数据使用旧的臭代码 那么我们如何确保我们始终使用我们的处理脚本最新和最强大的版本?

有几个简单的方法很简单,我们可以做到这一点,诀窍,但是,要实现这一减少处理能力和网络流量。 让我们先从最简单的解决方案和改进对夫妇的迭代它缓慢。

第一种方法是将我们的工作简单地连接到控制服务器(通过Samba,FTP或类似)和拉下来的代码的最新版本。 不是很有效,但是它会做这个工作。 这有点让我们改进,如何建立一个rsync的脚本和使用,每次呢? 或者怎么样把在每次运行(我们的最新处理脚本到颠覆检查出的代码和代码然后就开始更新我们的SVN更新 )?

最后,我们可能会与一个bash脚本(由cron每10分钟的称呼)看起来像这样简单:

  #!/ bin / sh的
如果ps的斧| grep的- V的grep的| grep的PHP的 “/ dev / null的
然后
    回声“工作目前正在处理,退出”
其他
    回声“作业没有运行,从现在做起”
    光盘/路径/要/工作/复制
     svn更新
     PHP的yourJobProcessingScript.php
科幻 

现在我们可以肯定的是我们每次运行时肯定运行的是最新的代码。 我们确保我们的代码库,更新每一次我们只执行我们的全球网络传输的文件差异的运行,减少网络流量的。

在我的示范设置,我没有完全按照以上。 Subversion被安装在我的作业处理服务器,我只是被从一个'工人'分支最新的代码使用'svn更新'。 我还添加了一个版本号标记,这是我的处理脚本返回作为结果返回到数据库的一部分。 这样我可以看到我的代码已被更新一次我复制到分支,即工人,我是绝对运行最新的处理脚本我的树干时间。

使用最新的数据

如果你的工作,使处理后的数据源的使用在某些时候这些将要被更新了。 除非你调用一个非常罕见的基础上你要你的交通网络洪水一旦你的员工开始运行带来的一切停顿您的数据源。 对于我的解决办法,我决定,我想提出我与我的虚拟机的数据源左右。

拥抱你是马那里!如果我的数据源是巨大的? 嗯,这确实是一个会说话的案件,我们多少数据? 它可能会更符合成本效益的安装额外购买一个额外的服务器进行处理更大的硬盘驱动器,而不是把每一台机器。 这是一个预算的问题和达到的业务来决定。 这也许就是你的数据来源是如此之大,它只是不可行保持工人的数量,机器中的数据。 在这种情况下你会怎么办? 嗯,我们可以看看调用本地数据服务器,但是这可能导致网络问题同。 在这种情况下,电网系统等,因为这可能成为不切实际的,包括你的办公环境。 这也可能是因为你可以看看运行的战略替代性的要求,例如只要求你的员工晚上八时至早上6时每晚和/或节流数据源。

可以说,我们对移动数据源的数据量万兆。 好,可以说相当多的数据,移动网络上的更新位。 我们如何确保我们在这种情况下,最新的数据副本? Rsync是一种可能性,但我个人对你的工作运行处理服务器的最新数据源,并设置此作为复制主(有一个很好的长滨日志)可能要走的路认为:

复制 通过设置一个作业控制服务器更新您的数据源的奴隶您的每个职工,必定会从天上掉下来的工人没有很好地在网络活动的大幅增加(即除非您执行一个庞大的数据更新和所有的工人踢在一次)。 rsync的优势,这对中,你不会得到一个长时间的停顿,然后每个工作;作为数据库更新时, MySQL的守护在你的工人会不断更新它的数据,而继续处理。

这是怎么设置我的演示服务器。 设置复制我跟着(指南MySQL网站设置复制 ),并在20分钟内,我有我>初始工人作业控制服务器复制数据集。 每增加工人的复制设置和处理工作的每一个虚拟机时,被复制的时间。

综述

在本文的这一部分,我们已经看到了如何简单,无痛的就是保持由using rsync或subverion(SVN)的您的处理代码最新做的工作,并在同一time.Â我们还讨论了如何减少网络流量让您的数据源的信息就允许它流到你的每个职工最新的。 因此,我们面积确保我们保持与业务逻辑和我们的办公室在电网系统的信息了。 将有无数的选择,显然是在执行这些任务,但这里有两个简单的例子,说明一个解决方案是多么容易得的。

下次

在本系列的最后一部分,取名为5部分 ,我们将讨论部署该系统。 我会总结所学和我设法创造。

使用虚拟办公室网格计算环境-第3部分

史蒂芬劳埃德沃特金斯 ,星期五09年12月4日下午11点37分

简介

本人在一家公司工作,我们运行很多批作业处理每天数百万的每个记录的数据和我一直在想最近关于这一点,所有的机器,每天坐在这里每几个小时什么事也不做。 那岂不是好,如果我们可以利用这些机器,以增强我们的系统处理能力? 在这篇文章的设置,我要看看用人办公室的潜在好处的电网使用虚拟化环境。

第二部分的工作,我们看着一台服务器将运行,以及如何工作应配置,以达到最大的失败,不处理量,同时确保每个处理工作。

设置你的工人 - 或跛行服务器

该过程的下一步是设置虚拟工人。 为此,我,我会用一个使用VirtualBox的CentOS安装。 我要安装mySQL的PHP的上也被称为服务器,一马钱, 米ySQL,磷惠普)在ServerA(我可能会做出这个名字了)。

  • 安装VirtualBox在你的Windows机器(以下链接)
  • 下载并安装的CentOS(目前版本5.3)在创建的虚拟机

有一点我没有到这个有可能是1000的教程,他们已经有很大的(好吧,这里有一个: 创建和Managing CentOS的虚拟机下的VirtualBox )。 最重要的一点要注意的是,我想我打电话给我的虚拟机GridMachine。

至于客户端的虚拟化和操作系统我选择去那里是没有什么大的每一个选择的充分理由。 VirtualBox是我用的东西在我家的机器,由三个主要的操作系统支持。 我选择了CentOS的作为它的一个良好稳定的操作系统,我用我自己的Web服务器上。 我对这项工作的合适的工具一个非常相信(尽管我在申请'用最快和最简单的为你的心态在这里),所以如果你的操作系统运行的X代码更快更有效地使用它 :)

更重要的是确保你的虚拟机使用DHCP,否则每个新的虚拟机,将需要单独配置这是我们不使用DHCP want.By我们并不需要配置计算机的网络设置为职工个人,DHCP会手为你的IP。 因此,你可以不用担心复制设置每个注册一个令人担忧的虚拟机(这提高了可扩展性和降低工人管理)有关办公室。

这个过程中你要达到的目的是取得一个新的物理机,安装VirtualBox,然后几乎没有太多的其他部署的虚拟形象。 这可能是明智的设定所有你是一个不同的子网,这样你至少可以看到有多少机器正在运行的工人。 您还需要建立一个长期租赁或租赁的DHCP无限你的机器。

如何运行工作的工人

这是一个有趣的领域上也有工人处理工作若干有效的方法。 在这里,我将只讨论两个最明显的:

  • 永远运行脚本:脚本,无论是一个shell脚本,或执行一个PHP脚本的工人一次,并作为一个无限循环的一部分运行。 我折扣为一体的脚本坠毁方法和你的员工可能会停止运行没有某种干预排序。
  • 克龙的脚本执行:每隔X分钟cron守护进程启动一个到你的脚本调用得到的东西去。 如果没有一些检查,这可能导致你的工人行书很多很多的副本。

我的决定是去是用cron启动一个shell脚本每10 minutes.Â我的shell脚本执行以下任务:

  1. 获取进程列表和grep为'PHP的这一点。 如果没有找到,那么继续。
  2. 打电话给你的工作代码,在我而言这将是基于PHP的东西
  3. 工人脚本完成运行
  4. 准备去下一个适当的再次呼吁

我的bash脚本看起来像下面这样:

  #!/ bin / sh的
如果ps的斧| grep的- V的grep的| grep的PHP的“/ dev / null的
然后
    回声“工作目前正在处理,退出”
其他
    回声“作业没有运行,从现在做起”
     PHP的yourJobProcessingScript.php
科幻 

注:Echo的几乎是完全没有意义的,但可以帮助下一个人谁走来,试图对其进行编辑。

以上是设置虚拟机的工人,快速,简单,容易复制到每个新硬件已接收了。 在'聪明'的电网系统真的不是在可视化的操作系统,它的一切跟乔布斯创建的过程中,工作配置的代码,并确保在作业运行在适当的时候(即当主机处于闲置状态)。

设置窗口,以初始化工人

第一项任务是制订需要运行从Windows命令行虚拟机的命令。 如果您已经安装在默认位置的VirtualBox,你也叫你的工人GridMachine那么工人是需要加载命令你:

 的“C:\ Program Files文件\日\ VirtualBox的\ VBoxManage.exe”startvm GridMachine 

但若要在一个'无头'的状态,我们需要使用脚本:

 的“C:\ Program Files文件\日\ VirtualBox的\ VBoxHeadless.exe”- startvm GridMachine -残疾人复业=关 

这将启动没有GUI中的虚拟机,并​​允许它保存状态正常。 第二个参数关闭的RDP,因此不会发生冲突的RDP在Windows,或给你一个消息端口3389上监听左右。 虚拟机的名称是区分大小写的!

下一步,我们将需要设置的窗户上踢了我们的工人,一旦虚拟机已处于闲置状态。 要做到这一点(在Windows XP中),你就需要去开始 - >“所有程序” - >附件 - >“系统工具 - 如下>预定任务”:

计划任务

下一步点击'添加任务计划,其次是浏览添加自定义程序。 浏览到您的VBoxManage脚本,然后单击确定。 安排您的选项(我们将在一分钟内改变这一点),继续任何任务。 跳绳后下一个画面窗口会问你谁,你要执行这个任务,我建议你为'管理员'或创造了新的特权用户。 请记住我们不想干扰机的标准上的工作人员在任何时候的帐户。 点击下一步,检查显示此任务的高级选项。

对于unticked结束的运行文本框加入我们的'startvm GridMachine'字符串,并确保只运行时留下的记录是。 访问下一个调度任务的时间表,改变下拉的选项'空闲时',选择,然后再进入到下一个标签的时间你喜欢的机会被闲置。

最后勾去掉选择哪些国家停止任务,如果它已经运行X的时间,但打勾选择停止任务,如果机器不再闲置。

附表

就是这样然后对Windows主机设置!

综述

在这一部分,我们已成立一个虚拟机作为一个工人,以及以何种方式我们称之为我们的工作处理和执行脚本(我自己一个PHP脚本)。 从这里我们看一下如何建立我们的Windows副本无头模式开始在虚拟机在计算机空闲,并保存其状态恢复时,用户的机器使用。 希望在这一点上你看到的是多么简单设立这样一个系统,并渴望得到一些实验的进行吧!

下次

第四部分 ,我们会关注使用工具,以确保您正在运行最新版本的数据源的代码和使得到的结果始终保持逻辑日期最新的商业信息和。

使用虚拟办公室网格计算环境-第1部分

史蒂芬劳埃德沃特金斯 ,星期五09年12月4日下午11点23分

简介

本人在一家公司工作,我们运行很多批作业处理每天数百万的每个记录的数据和我一直在想最近关于这一点,所有的机器,每天坐在这里每几个小时什么事也不做。 那岂不是好,如果我们可以利用这些机器,以增强我们的系统处理能力? 在这篇文章的设置,我要看看用人办公室的潜在好处的电网使用虚拟化环境。

作为PHP的开发者,我要使用的工具,我每天使用,即Linux操作系统, mySQL的 ,PHP中,VirtualBox的和Subversion(SVN)。 但我希望这本手册将适应其他的语言和技术一样好。

我提供的解决方案将是非常松散的基础上,处理我们就需要实现不过,这可能无法通过整篇文章真正的改变,我将简单的事情,或产生更有趣的使用场景类型。

这些虚拟环境将运行在Windows机器上,因为这是怎样的大多数办事处运行。 该办公室的加工机器做不应该干涉员工使用这些机器,应该不需要在机器维修,并很容易地部署到新机器,因为它们变得可用。 此外,新的虚拟机应该不需要任何额外的配置,这大大降低了可扩展性和易用性在哪个网格系统可以延长。

为什么要部署Office计算网格?

首先,你可能会想,为什么不直接使用计算资源,例如云亚马逊的EC2平台 那么原因可能有几个,例如:

  • 你不会委托某些数据到云计算环境
  • 你不能把对法律的原因(如数据离开该国)云计算环境中的某些数据,可能出于法律原因,如国民保健服务的记录。
  • 你想让你的加工单位密切及以上硬件已完全控制太
  • 您没有该项目资金运行情况的云
  • 你的办公室没有连接到互联网,因此它无法使用云资源
  • 你不喜欢雨,云建议下雨,因此,你保持好远

我敢肯定,这个名单可以继续,但我认为这足够了。

优势一处计算网格

那么,让我们做一些数学(和真正的物理风格让作出一些笼统的假设)。 想象一下,你有大健壮的服务器上运行100个处理日常工作。 在你的办公室你有闲置的50台机器是16小时,每天每台机器,这些是10那么强大,你仡处理断绝%。 (所有结果以下四舍五入低估的性能提升)。

因此,一机* 10%的电力* 2 / 3的时间1台式机加工空闲时间= 0.067,即每天可处理6充分的就业机会

如果你现在这样的规模就需要15闲置台式机每天处理大量的就业机会作为主处理服务器一样。

所以在我们的50台机器 ,我们可以假装办公室增加1服务器上的处理能力,从4个全处理服务器 ,或者我们可以每天处理400个职位 100代替。

请注意,因为没有在新硬件投资公司刚刚增加了批量处理能力4倍 你会潜在增加你的电源使用,但大多数办公室,我去过的机器一般都是通宵左反正环境,所以你可以看到这是一个绿色的倡议。

其他优点还意味着,在新的投资(或更新)处理服务器可以被延迟,如果你的办公室机器足够,当你改善你的办公设备电源电网你的办公室变得更加强大自动。

技术

你需要什么? (或更正确我怎么使用):

  • 空闲办公室机器(在我的情况下旧的Windows XP的备用笔记本电脑)
  • VirtualBox的(或其他虚拟化客户端软件)
  • 与PHP虚拟机,操作系统下运行mySQL的runningÂ切,我打电话我这一瘸一拐服务器 :)
  • 乔布斯运行
  • 作业服务器(可以是另一个虚拟机的地方)

典型工作

该系统被设计为运行工种如下:

  • 系统接收的数据后,我们需要匹配,并返回结果列表
  • 选配涉及检查/搜索数(相当静态)数据源
  • 从数据源的结果可能需要进一步验证,合并,检查的其他数据源响应结果
  • 返回数据相匹配的记录,充分验证和处理
  • 工作中的每个记录是独立的休息

所以基本上我们看到的正在运行的作业需要的数据库查询和一些数字计算,在一个商业环境较为典型的场景混合物。

网格解决方案不仅对处理此类型的工作有利。 基本上,任何可以分裂成独立的单元过程可以并行运行。 看到此信息维基百科的例子和更多: 网格计算 ,但几个例子是著名的SETI @ homeBIONC 有框架的运行计算网格,这些都是值得研究的。

我们会怎样实现?

通过这些文章中,我希望展示厅部署电网不需要非常昂贵或费时结束。 我将讨论:

  • 设立作业控制系统,作业的配置
  • 建立适当的处理虚拟机
  • 如何设置在Windows机系统
  • 确保您使用的是最新的代码和数据
  • 部署和基准
  • 展望未来

我会大楼(确定我建,并写这个)一个示例应用程序来测试在本地使用Windows XP和我的'GridMachine'虚拟机机的概念。 我的工作控制服务器将是我的主要机器,运行Fedora的11

这是为了充分表现出强大的系统工作,它意味着更多的没有办法的示范和讨论显示,这些东西可以在相当短的时间空间,以很低的成本实现。 请随时给我任何意见,更正,或改善,我会尽我所能,不断更新,以配合这篇文章。

下次

第二部分首先,我会看在作业系统控制,以及研究如何工作应配置,以达到最大的失败,不处理量,同时确保每个处理工作。

使用虚拟办公室网格计算环境-第2部分

史蒂芬劳埃德沃特金斯 ,星期五09年12月4日下午11点23分

简介

本人在一家公司工作,我们运行很多批作业处理每天数百万的每个记录的数据和我一直在想最近关于这一点,所有的机器,每天坐在这里每几个小时什么事也不做。 那岂不是好,如果我们可以利用这些机器,以增强我们的系统处理能力? 在这篇文章的设置,我要看看用人办公室的潜在好处的电网使用虚拟化环境。

第一部分我介绍了电网系统概述和技术的使用,我会办公室,以及作为讨论了一些潜在的原因,你想创造。

作业控制

如果你要运行的工作,然后你会需要一些方法来管理它们。 你的任务控制系统(在你的作业服务器)需要,真正做到深思熟虑之前,甚至尝试运行Office格了。 所以,首先,什么是控制系统的工作任务:

  • 根据要求,从手工作业工人进行
  • 告诉工人什么类型的工作运行
  • 跟踪工作
  • 确保作业只运行一次
  • 为工人提供就业数据,或者至少告诉他们在哪里得到它

该系统还需要具有可扩展性,一个解决方案,在一个单一的情况下可以延长现在工程运行多种类型的工作作为企业看到了一个网格解决方案的价值。 例如,可能会获得优先就业,多个工种可能存在(即几个代码基地),最终你甚至可能会出现几个不同的工作是优化每个作业类型(尽管这并不移动从'一般工人离机'的想法)。 总是试图在思考未来发展的系统中,短期目标会导致长期的沮丧和更多的发展时间。

作业服务器

我们将需要一个地方来控制我们的工作从,这应该是只在您的网格系统,有一个固定资源定位器,是一个IP地址,主机名称,URL(使用内部DNS)等,这是因为工人需要知道在哪里找工作,工人们需要找到作业控制系统(未找到工作的工人控制系统)。

作业服务器本身并没有真正有一个复杂的任务(在基本制度无论如何),它需要存储大量的工作清单,出工作手,接收结果,随后存储以后检索它们。 如何将这些部件(如'出来工作手')的定义可以是很基本的。 后来我们可以扩展系统,包括一个管理界面来添加,编辑,删除,暂停工作,但这项工作是这超出。

没有任何理由,然后,你的工作服务器不能是一个虚拟机在你的主处理服务器上运行它提供从它不会消耗太多的资源。 但是这项工作确实需要服务器的高可用性,如果它出现故障的星期五晚上你将失去整个周末的处理,有可能花费你一个星期的处理时间价值的情侣(相比,您的主服务器进行处理单) 。 您可能需要考虑对负载均衡高可用性环境中作业服务器。

基本设置

这项工作为我们的服务器的基本设置将包括一个什么我打电话,我瘫软服务器 (即马钱, 米ySql,磷马力)。 该代码将运行在西娅工人实际工作了什么工作,它可以运行通过与作业控制系统与数据库交互。 后来,我们可以创建一个Web服务,实际上不可收拾自谋职业,而不是让工人们的辛勤工作,但现在我们将继续使用KISS原则 (保持简单,愚蠢!)。

因此,让我们创建三个mySQL的表来处理工作。 这些工作将是``,`jobRecords`,`和`jobResults。

工作表 在这里,我使用的SQL巴迪一个伟大的小的替代phpMyAdmin的只是因为它更容易安装在CentOS(对于别人看: 10大phpMyAdmin的替代品

此表由5个简单的领域,

  • 编号:唯一标识工作
  • 名称:也许是客户参考,或其他任何标识号
  • 状态:你要知道在那里的工作是,如
    • 0:未开始
    • 1:捡到
    • 2:已完成
  • started_by:谁开始做这项工作吗? 这是必须的,但不完全是一个不错的。 我建议他们跟踪网络上的IP地址工人
  • started_at:什么时候工人开始上班? 通过跟踪尚未在X的时候,我们知道我们需要拿起工作再次被另一名工人,并开始处理量已完成的工作。 工人可以停止处理/去任何原因,停电,死机,网络损失等离线

这是多么容易此表可与一些额外的领域扩展,以便跟踪,完成时间列,了解工作多久了,计数器,看看有多少工人拿起工作(显然,这需要趋向统计1),作业的优先级,名单可以继续下去。 在更复杂的工作方案将有可能指定多少内存工人将需要访问(因此只使用合适的工人),甚至什么样的员工将是必需的。

让我们添加一些示例工作:

例如工作

下表又是很容易理解,这些都是我们的工作记录。 它们与一列由表格的主要工作`jobs_id`。 在弥补此表的数据非常您需要提供给你的员工依赖,让我们做一个很简单的例子,我们有四个列:

  • 身份证:身份证的记录
  • 名称:人的姓名
  • 地址:人的地址
  • jobs_id:工作记录的ID,这是与

第三个也是最后一个结果表表组成,它有许多相同的做我们的记录表,并与另外一些列可能是最多的记录表的一部分:

  • job_record_id:链接的结果对工作表
  • 结果:结果数据

...这就是你的作业控制所需要的! (虽然在一个非常基本的水平)在我的情况下,我指着我的数据在另一个位于表处理,但是这也很容易被一个文件,参数运行模拟程序,你的名字。

选择工作

如前所述,工人们会为我们做我们的工作管理,所以现在我们需要做的是找到一个真正的工作需要处理和获取信息。 我们怎么做呢? 挑好了我们的工作的选择标准和寻找工作,在SQL我做了以下几点:

  1. 采取任何未标记为完成,但我们的工人和复位(用一个标识符,最简单的IP地址将代替__ME__)工作职位:
     更新`工作`设置`地位`= 0,其中`地位`和`started_by = 1`= __ME__; 
  2. 用我们的工作选择标准,选择一个作业控制系统,并告诉工人,这与它打交道:
     更新`工作`设置`地位`= 1,`started_by`= __ME__,`started_at`=现在()凡`地位`= 0或
     (`地位`和`started_at = 1`> DATE_SUB(现在的(),间隔x小时))的量级的`id`升序; 

    通过抓尚未返回X的时间结果,我们确保所有的工作都是在一个工人擅离职守事件会崩溃或运行作业。

  3. 下一步的工作抓的记录本身遵循细节:
     选择*从`工作`其中`started_by`= __ME__极限1;
    选择*从`job_records`其中``= __JOBID__身份证; 

作业完成后,我们插入我们的结果记录,并标记为已完成的工作。 记得作业可以暂停/恢复在任何时候允许一些在你的脚本的鲁棒性。 这可能是通过更新的任务挂起作业控制系统,使检查工作中记录的数量和保存回作业控制系统将是一个明智之举,结果数一半。

此外,虽然本演示如何工作可以选择并加以管理,从一个SQL查询框,你应该很抽象的控制,使您的工作,如果你决定要切换到使用Web服务,基于文件系统, XML的 ,或任何其他多项制度,它不会影响到它上面的代码。

作业配置

下一个方面要考虑的是作业的大小和配置。 通过与作业配置玩我们可以取得一个在速度,处理复制和可靠性极佳的平衡。 以一对夫妇ofÂ情况:

  1. 乔布斯采取一天每个运行:这意味着你的员工需要15天时间来处理每一个工作(记住时间2/3rds功率的10%的)。 这显然​​不是一个明智的配置,你的工作的大小是太大了! 这将需要至少增加一倍的时间去处理员工的离去应该擅离职守的初始工作(时间拿起它并没有回加后处理结果的时间)。 在一个理想的你至少有一个完整的职位轻松的清除闲置年底,每个长周期,这样你的工作保持滴答作响,在最坏的情况下工作需要两天的过程中应首先失踪。
  2. 乔布斯需要1分钟,运行:这意味着你的员工大约需要15分钟,每个作业运行。 虽然这最初可能似乎理想,您将获得在午餐时间,茶点,会议等等这种情况下提出对您系统的其他领域,介绍了其自身的应变问题的其他工作的处理。 例如,首先您的设置/处理时间比还将会持续下去的权力下放,因此失去了系统效率。 您的网络将是不断流工作信息工作人员的各种令人沮丧的工人谁是毛泽东的日常工作​​。 你也打算把它放在你的工作更紧张处理服务器,因为它炮制出很多很多的工作小块定期很多。 最后,在这种情况下如果你的工作服务器停机你要创造就业机会,而能够做大一个巨大的未完成的工作继续处理的后台登录幸福地知道该服务器的工作遇到困难。

在现实中不会有一个理想的配置设置你的网格,更可用的资源,工作,作业周转时间的要求,网络功能等类型而定。 然而,有些准则是:

  • 大小工作,这样每个工人可以通过至少在3-4个工作15个小时(最长可能空闲时间期)
  • 与作业大小播放,使安装时间变得相当微不足道相比,处理时间(考虑到上述点轴承)。
  • 如果工作没有完成一倍的时间(也许更少),你期望它来完成它认为它不再擅离职守,并开始与另一名工人处理它。 这意味着你可能要等上三倍的长度为它工作正常完成(如果可能的后续工作再失败)。 您可能要减少这种时间,但要小心不要减少太多,你可以开始复制定期处理任务上。
  • 乔布斯的要求外,应尽可能独立。 作业服务器,例如,只应接触的开始和结束的每一项工作。
  • 不饱和您的网络,这将有两方面的负面影响,你白天的工作人员将使用网络找到令人沮丧和问题都可以通过一个连接超时问题,只会变得更糟,因为你达到你的网格经验。
  • 确保作业可以运行在自己的工人。 如果工作过于密集的内存或磁盘空间密集的工作将开始中止,唯一你会发现是在没有真正原因处理的就业人数下降。

作业的提交结果

当提交一个工作的结果是很重要的检查结果没有被提交的其他工人,特别是如果目前的工作已经有一段时间处于休眠状态。

当结果提交确保比赛结果的数量在工作中的记录数。

如前所述,而不能过分强调,建设成为工作的检索和结果提交容错。 工人可以(而且很可能会)进入暂停的时候最不方便的模式,这需要被照顾。 还再次提取了你的结果提交将有助于应付未来的变化对你的工作更容易控制系统来处理。

综述

在这sectionÂ我们看到什么工作需要做的控制服务器,以及如何得到一个非常基本的系统设置。 我们讨论了如何检索从控制系统的工作以及如何最好地配置工作,以获得最大的网格系统,我们的办公室。 要完成一份关于提交结果返回到控制服务器工作,提出了两段。

  • 一个作业控制服务器管理工​​作,确保完成各项工作单位
  • 通过抽象你的工作选择/结果提交我们可以改变,没有什么问题的控制服务器技术
  • 配置您的工作,以确保它们运行,而不把你的网络基础设施的压力太大,没有重复定期处理任务速度和效率。
  • 确定你建立你的程序到容错和错误checkingÂ,工人可以暂停,恢复时间和最不方便。 记住要检查的结果已经由另一名工人提交。

下次

第三部分我们将创建我们的虚拟加工机,并成立了我们的窗户机器成为空闲时间的工人。

使用虚拟办公室网格计算环境-第5

史蒂芬劳埃德沃特金斯 ,星期五09年12月4日下午11点03分

简介

本人在一家公司工作,我们运行很多批作业处理每天数百万的每个记录的数据和我一直在想最近关于这一点,所有的机器,每天坐在这里每几个小时什么事也不做。 那岂不是好,如果我们可以利用这些机器,以增强我们的系统处理能力? 在这篇文章的设置,我要看看用人办公室的潜在好处的电网使用虚拟化环境。

第四部分 ,我们看了看使用工具,以确保我们所执行的是最新版本的数据源代码和使得到的结果始终保持逻辑日期最新的商业信息和。

部署前

在部署你的电网系统,如果有一件事你做的一件事情单独看它的基准当前的系统 不管你说多少额外的工作,你的系统是要干什么的同事,除非你有编号,以支持这一都不是您的保证。 所以,

  • 你有多少记录可以处理目前? 每节? 每小时?
  • 多久通常需要扭转工作?
  • 多少能力,你呢?

另外还有额外的问题:

  • 如果您的服务器进行处理(或您处理服务器一)停机这将如何影响你的能力,你会被削弱?
  • 你希望什么优势/希望得到一个网格系统?
  • 是你的办公室机器运行的工作能力?
  • 是你(或你的工作可以被转换),工作在这种运行方式?

最后一个主要的一点是要采取这样的任何重大改变你的时间。 更新您的处理代码以使用新的方法,基准了。 您可能设置处理服务器运行虚拟机,所有的服务器进行处理后,将只是另一个人(只是一个非常强大的一个相对)。 允许新的进程来解决。

部署

我的建议是周末突然出现在办公室里完成所有的设施和设置。 不要假期前两周的离开,让其他可怜的家伙来处理的后果 ... ...也许不

像这样的系统配置需求是缓慢的。 尽管它是相对简单的设置,这个系统将影响您的整个办公室的基础设施(以及数字之一)。 首先,推出了一个由几台在同一时间,监控网络流量,如何在主机上,每天工作到日常的基础上进行。 您可能需要改变你的发现在回应你的工作配置。

一旦系统已与几个机器解决(比方说10%的办公机器,即5)继续监控网络流量和主机performance.Â下一步基准再次,你现在应该比你的第一基准处理33%以上的就业机会。 检查是这样的话,或者你至少要在这个球场。 如果不是,调查正在发生的事情上,然后再进入。 重复这个循环,直到你幸福,都没有造成个人办公室机器性能或研磨机网络瘫痪运行。

在任何时候保持基准,即使在所有部署而作出调整。 检查有新的代码更新会影响你的系统速度,检查所有工人都在报告和处理工作。 慢慢地(非常缓慢)增量配置你的工作得到从你的工人和网络最好的。

住手!

如果你想在一段时间内停止运行你的工人呢? 他们都在那里运行,再生,并尽力的过程,就象饥饿的昆虫数据。 答案似乎显而易见,但其价值只有在情况下,它忽视特性。 只要编辑你的一个出口(0)或死亡()或其他处理语句来杀死你的作业处理脚本。 一个重要原因,我们总是试图任何运行之前更新到最新的处理脚本!

演示系统

为了写这个我创建了一个非常小网格展示的技术和方法,短文章集。 我读的文章,教程很多,和使用各种工具来设置和监视是怎么回事。 决不走了出来,我已经饱和的交通整个办公室,也没能获得一个正式工作人员,看看电脑主机性能受到影响。

我的演示系统的确是非常谦虚。 我用我的桌面设置为工作控制的服务器。 关于这个我已经安装mySQL的服务器上安装一套复制,作为在主, PHP中 ,A和svn链接通过阿帕奇 (越南船民访问通过工人)。

然后我创建一个6岁的Windows XP的笔记本电脑,机器上的VirtualBox CentOS的工人。 我设置安排为后复制到本机的虚拟机,让它去指定的任务。

虚拟机是建立与PHP,颠覆,和MySQL。 我检查了名为'工人'从我的工作控制服务器库并确保它也可以被更新使用'svn更新'的一个分支。 接下来,我安装MySQL作为一个奴隶,并检查这些数据是从服务器上的作业控制下至工人虚拟mySQL的复制。 毕竟这是我设置的bash脚本和cron作业。

我去处理脚本基本上沿着这个(很简单的东西)的线路:

  • 在名称字段中读取
  • 从算在VM中的数据源中的类似名称表中的数字
  • 清点人数为上述名称,但分裂的空间(即用的名字,中,姓氏)的名称
  • 重复这个过程1000次

每个作业花了大约20分钟运行。 有一次,我打开了窗户上的几本笔记本电脑工作者,并观看虚拟机的工作是通过查验工人的IP地址,每个关闭。 在这一点上我也证实,复制自动重新启动。

离开笔记本电脑闲置造成的出发处理从作业控制服务器作业工人。 恢复时使用笔记本电脑有一个约30-60秒的延迟,这是一个公平的时间和人员数量将需要作出意识到他们的机器可能停顿了一会儿,当返回到本机。 较新的机器可能没有这个长时间的停顿。 该受益的金额进行处理,这些机器在空闲时间会更是得不偿失的工作人员不必等待很短的时间(比如1分钟)就在一个早晨(其机抵达我经常等待更长的时间,这为Windows Defender的更新发生)提供的,他们是由今(有用的时间抢一早上喝咖啡知道的!)。

总的来说,我觉得有信心,我已经证明了可以用于建立这样一个系统的技术。 我已经证明,这种制度是否能在一个(非常)小规模试验,并与一些更可以扩大规模利用办公室的机器的资源的工作。 如果我没有去这样做的一点我非常有兴趣知道/时看到别人一样。

结论/评估

下一个明显的步骤将是真正得到一个真正的世界的例子,并开始部署这样的系统内的办公环境,看看会发生什么。 要求企业实施无踪迹炽热公司证明的技术和有效性,这可能是有点困难。 网格/分布式计算是很受欢迎的某些圈子里,并有一些大型应用程序(BIONC,SETI @ home的,Folding @ Home的,等等)。 我没有,但是,找到一个较小规模的搜索,比如像我这样,可以在一个办公环境推出了简单的系统。

我创建了一个几乎任何办公系统主要使用基本上是免费开放源码软件和工具。 这些技术基本上表现,并显示执行和正常工作。 希望我表明,没有太多的工作,一个非常简单的设置就可以部署一个办公室网格计算系统,功能强大,价格便宜,A和在同一时间可扩展的。

一旦系统启动并运行,几乎没有了定制和改进可以使量结束。 例如统计数据/基准可以很容易地添加显示了这种制度值得每一天。 新机器可以增加快速,轻松地,当他们与你现有的硬件处理能力的升级bolstering到达。

我希望你喜欢阅读这一系列文章和给你一个办公室电网运行系统的深思。 这里提出的解决方案并不一定适用于所有情况,但应该适应,让您得到您的数据处理通过使用自己的解决方案。

请随时给我任何意见,更正,或改善,我会尽我所能,不断更新,以配合这篇文章。

[公告]孩子的pid XXXX的退出信号分割故障(11)

史蒂芬劳埃德沃特金斯 ,星期日09年10月11日下午6时09分

如果你最近升级的PHPApache的 ,你是来对付问题的网页网络服务器返回的空白,并投掷修复它的错误信息到你的日志与不知道为什么,这里是一个可能的方式...

我一直有这个问题最近升级后的虚拟机上的Apache或PHP几次。 我第一次注意到我只是退回到我的虚拟机备份,但第二次我意识到我得看看这个问题的错误。

我第一次注意到了我的部分网页被作为空白文件送达,而其他的工作绝对没问题。 经过一番调查,我注意到,Apache是​​写出到/ var /日志/的HTTP /以下消息repeatidly错误日志:

[公告]孩子的pid XXXX的退出信号分割故障(11)

这里没有配发去上线,和它的网页最关心的踪迹了无。 不过,我缩小到PHP崩溃的问题时,试图不需要的动态库。

看在我的php.ini(/等/ php.ini)在我评论出的动态库都装上按规定的评论回规划。 这两个我不得不拿出其中pdo.soMySQL的 。如此

一旦这些被拆除,我所有的网页是像以前一样被服务的PHP / Apache的更新罚款。

无线宏碁5002)WLMi在Linux(Fedora的11

史蒂芬劳埃德沃特金斯 ,星期六09年7月11日下午9点48分

正如我又花了几个小时无法上网,今天我想我最好把这个写下来,以便下次我乱了我的笔记本电脑注册信息很容易修复。

无线驱动程序基本上得到一个宏基5002 WLMi工作,你将需要使用的B43 - fwcutter。 说明可以在这里找到: Linux无线的B43

简易一旦信息的位置。













全景主题 Themocracy

现在6访客在线
4位客人,2机器人,0位会员
最大游客今日:14日上午07:34联合技术
本月:26日2011年7月5日上午12点35分联合技术
今年:130 28-03-2011下午10时40联合技术
所有时间:130 28-03-2011下午10时40联合技术