Posts tagged: traballador

Office Computing Reixa utilización de ambientes virtuais - Parte 3

Por , venres 04 de decembro de 2009 23:37

Introdución

Eu traballo nunha empresa na que corremos moitos traballos en lote procesar millóns de rexistros de datos de cada día e eu estiven a pensar recentemente sobre as máquinas que se sentan ao redor de cada día sen facer nada durante varias horas. Non sería bo se puidésemos utilizar esas máquinas para reforzar o poder de procesamento dos nosos sistemas? Neste conxunto de artigos que eu vou ollar para os potenciais beneficios da contratación dunha oficina de reixa utilización de ambientes virtualizados.

Na parte 2 nós miramos os traballos serán executados nun servidor, e como os traballos deben ser configurados para acadar maior cantidade de procesamento, garantindo que cada traballo é procesado, sen fallar.

Configurar o traballador - ou servidor Limp

O seguinte paso no proceso é a creación dos seus traballadores virtuais. Por iso eu vou usar unha instalación de CentOS usando VirtualBox. Vou instalar MySQL e PHP no servidor, tamén coñecido como Bizkit (Li nux, m ySQL, P HP) Servera (eu poida facer ese nome).

  • Instalar VirtualBox na súa máquina Windows (continuación enlace)
  • Baixo e instala o CentOS (versión actual 5.3) dentro dunha máquina virtual creada

Non adianta ir a este probablemente hai 1.000 's de tutoriais aí fóra (ok, aquí vai un: Creando e Managing CentOS máquina virtual no VirtualBox ). O punto importante a destacar é que supoño que eu chamei miña máquina virtual GridMachine.

Tanto como as miñas opcións do cliente de virtualización de sistema operativo e alí non é gran motivo convincente para cada elección. VirtualBox é algo que eu uso na miña máquina na casa e é apoiado polos tres principais sistemas operativos. Eu escollín o CentOS como o seu sistema operativo unha boa estable e eu uso no meu propio servidor web. Son un gran crente nas ferramentas certas para o traballo (aínda que eu estou aplicando "usar o máis rápido e máis doado para ti" mentalidade aquí), entón o sistema operativo X executa o código máis rápido e máis eficiente usar isto en vez :)

É importante asegurarse de que a súa VM emprega DHCP, se non, para cada nova máquina virtual que debe ser configurado por separado que é algo que non want.By utilizando DHCP non precisa configurar as opcións de rede individualmente para máquinas de traballo, DHCP pode entregar fóra IPs para ti. Así, pode copiar a máquina virtual no escritorio sen se preocupar sobre como configurar cada un para arriba (é dicir mellora a módulos e reduce a administración traballador).

O proceso que debe ter por obxectivo sería conseguir unha nova máquina física, instala o VirtualBox, e, a continuación, practicamente implantar a imaxe virtual sen máis. Pode ser sabio para configurar os seus traballadores en unha sub-rede diferente para que poida, polo menos, ver cantas máquinas están funcionando. Tamén cómpre configurar as súas máquinas nun contrato a longo ou de concesión ilimitada DHCP.

Como facer Jobs sobre o traballador

Esta é unha área interesante e existen varios métodos válidos para procesar os traballos sobre o traballador. Aquí eu só vou discutir os dous máis obvios:

  • Perpetuamente executar o script: Un guión, sexa un shell script, ou un script PHP é executado unha vez sobre o traballador e é executado como parte dun loop infinito. Eu xa descontado a rede como un accidente do guión e, potencialmente, os traballadores deixarán de funcionar sen ningún tipo de intervención.
  • Cron a execución de scripts baseada en: cada X minutos o servizo cron inicia unha chamada ó arquivo para facer as cousas ocorrer. Sen algunhas probas este podería levar a moitas moitas copias da súa carreira guión traballador.

A miña decisión era ir co cron que comeza un shell script cada minutes. 10 O meu guión shell executa as seguintes tarefas:

  1. Faga unha lista de procesos e grep para este 'php'. Se non está, a continuación continuar.
  2. Chame ao seu código de traballo, no meu caso iso sería algo baseado PHP
  3. Guión traballador completa a súa execución
  4. Preparado para ir de novo a próxima chamada axeitada

O meu script bash parece algo como o seguinte:

  #! / Bin / sh
 se ps ax | grep-v grep | grep php> / dev / null
 entón
     echo "Job está a procesar, de saída"
 outro
     echo "O traballo non está en execución, comezar agora"
     php yourJobProcessingScript.php
 fi 

Nota: o de eco son case completamente inútil, pero pode axudar a seguinte persoa que vén para intentar editalos.

Isto conclúe a configuración da máquina de traballo virtual, rápido, sinxelo e fácil de copiar a cada nova peza de hardware que é recibido. A "intelixencia" do sistema de rede realmente non é visualizado no sistema operativo, é todo que ver co código creado para traballos do proceso, a configuración do traballo, e para garantir que o traballo é executado no seu caso (ou sexa, cando o anfitrión é ocioso ).

Configurando o Windows para arrincar Traballadores

A primeira tarefa é descubrir o comando necesario para realizar a máquina virtual dende a liña de comandos de Windows. Se instalar o VirtualBox na localización predefinida e nomeou o seu traballador GridMachine entón o mando necesario para cargar o seu traballador é:

  "C: \ Arquivos de programas \ Sun \ VirtualBox \ VBoxManage.exe" startvm GridMachine 

Con todo, para executar o script nun estado 'sen cabeza', cómpre usar:

  "C: \ Arquivos de programas \ Sun \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - VRDP = off 

Isto iniciar a máquina virtual sen a GUI e permitir que salva o estado graciosamente. O segundo argumento desactiva RDP polo que non entra en conflito con fiestras RDP, ou dar-lle unha mensaxe sobre escoita na porta 3389. O nome da máquina virtual é sensible a maiúsculas!

A continuación, imos ter definir fiestras ata comezar a nosa VM traballador unha vez que a máquina está ociosa. Para iso (en Windows XP) ten que ir en Inicio -> Programas -> Accesorios -> Ferramentas do Sistema -> Tarefas programadas conforme a continuación:

tarefas programadas

A continuación preme en "engadir tarefa programada 'seguido de navegar para engadir un programa personalizado. Desprácese ata o guión VBoxManage e prema en Aceptar. Agende súa tarefa para calquera das opcións (imos cambiar isto nun minuto) e seguir. Despois de saltar a seguinte pantalla de Windows ha pedir que quere levar a cabo esta tarefa, eu sugiro que sexa "administrador" ou crear un novo usuario privilexiado. Lembre que non queremos interferir na conta persoal estándar na máquina en calquera momento. Preme aquí ao lado e confía concerto advanced options para esta tarefa.

Para o fin da caixa de texto longo engadir noso cadea 'startvm GridMachine "e garantir que execución só cando conectado queda DESestablecido. Visita a tarefa seguinte programa e cambiar o programa de caer para a opción "cando ocioso", escolla a cantidade de tempo que lle gustaría que o ordenador estea ausente antes de pasar á seguinte guía.

Finalmente Desmarque a opción que afirma deixar a tarefa se foi correndo X cantidade de tempo, pero non sinalar a opción de deixar a tarefa a máquina non está ociosa.

programar

É iso entón, para a configuración de servidor de Windows!

Resumo

Nesta parte temos un conxunto de unha máquina virtual para actuar como un traballador, así como a forma na que chamamos e realizar os nosos scripts de procesamento de traballo (para min un script PHP). A partir de aquí, veremos como configurar nosas copias de Windows para iniciar a máquina virtual no modo headless cando o computador pasa a ser ocioso, e gardar o seu estado cando o usuario retomar a utilización da máquina. Esperemos que neste momento está a ver como é simple para configurar un sistema deste tipo e está ansioso para comezar algunhas experiencias vai vostede mesmo!

Próxima vez

Na Parte 4 , imos estar a ollar para o uso de ferramentas para garantir que está a empregar a última versión das fontes de código e datos, para que os resultados obtidos son sempre up-to-date coas últimas información da empresa e da lóxica.

Office Computing Reixa utilización de ambientes virtuais - Parte 5

Por , venres 04 de decembro de 2009 11:03

Introdución

Eu traballo nunha empresa na que corremos moitos traballos en lote procesar millóns de rexistros de datos de cada día e eu estiven a pensar recentemente sobre as máquinas que se sentan ao redor de cada día sen facer nada durante varias horas. Non sería bo se puidésemos utilizar esas máquinas para reforzar o poder de procesamento dos nosos sistemas? Neste conxunto de artigos que eu vou ollar para os potenciais beneficios da contratación dunha oficina de reixa utilización de ambientes virtualizados.

Na Parte 4 miramos para o uso de ferramentas para garantir que estamos executando a última versión das fontes de código e datos, para que os resultados obtidos son sempre up-to-date coas últimas información da empresa e da lóxica.

Vista Replanteo

Antes de implantar o sistema de rede, se hai unha cousa que fai e unha cousa só que é referencia do seu sistema actual! Non importa o que dicir aos compañeiros sobre o que traballo extra o seu sistema vai facer menos que teña números para apoiar que as súas garantías non son nada. Así,

  • cantos rexistros pode procesar actualmente? Ao día? Por hora?
  • Canto tempo funcionar para virar un emprego?
  • Canto máis capacidade que ten?

Hai tamén cuestións adicionais:

  • Se o seu servidor de procesamento (ou un dos seus servidores de procesamento) vai para abaixo como isto afectará as súas capacidades, vai estar aleijado?
  • Que as vantaxes que espera / espera obter a partir dun sistema de rede?
  • Son máquinas da súa oficina capaz de realizar os traballos?
  • Son o seu (ou pode ser convertido emprego) para wrok neste estilo de correr?

O último punto importante é levar o seu tempo en calquera gran cambio como esta. Actualiza o teu código de procesamento para traballar coa nova metodoloxía de referencia, unha vez máis. Posiblemente configurar o servidor de procesamento para realizar unha máquina virtual, fin e ao cabo o seu servidor de procesamento será só outro traballador (só unha forma moi poderosa relativamente). Facer que o novo proceso para resolver.

Desenvolvemento

A miña suxestión sería a aparecer na fin de semana unha oficina realizar todas as instalacións e configuración. Faino inmediatamente antes de vacacións de dúas semanas e deixar a outro coitado para xestionar as consecuencias ... quizais non ...

Implantación dun sistema como este ten que ser lenta. A pesar de ser relativamente sinxelo de configurar este sistema ha afectar a súa infraestrutura de oficina enteiro (ben o dixital). En primeiro lugar, lanzar un par de máquinas ao mesmo tempo, monitorizar o tráfico da rede, como os anfitrións do traballador executar o día a día. Pode cambiar a configuración do traballo en resposta ás súas descubertas.

Unha vez que o sistema se estableceu con algunhas máquinas (digamos 10% de todas as máquinas de oficina, ou sexa, 5) manter o tráfico de monitores de rede e máquina host performance. referencia Seguinte de novo, agora ten que estar a procesar os traballos de 33% máis que os primeiros benchmarks. Comprobe isto é así, ou que é, polo menos, neste estadio. Se non, investigar o que está a suceder antes de continuar. Repita este ciclo ata que por sorte teñen todas as máquinas de oficina funcionando sen matar o performance da máquina individual e moenda súa rede a unha paralización.

En todo momento manter Benchmarking, mesmo despois de todos os implementacións poden facer. Comprobe como as actualizacións do código afecta a velocidade do seu sistema, asegúrese de todos os traballadores están relatando e procesar os traballos. Pouco a pouco (moi lentamente) aumentar a súa configuración de traballo para obter o mellor dos seus traballadores e de rede.

Pare!

E se queres deixar de funcionar os seus traballadores, nalgún momento? Eles están todos alí fóra, correndo, rexenerar, e tentar o mellor para procesar datos, como insectos famentos. A resposta pode parecer obvia, pero paga a pena engadir só no caso da súa esquecido. Só ten que editar o script de procesamento cun exit (0) ou morrer () ou algunha outra indicación de matar o seu traballo de procesamento. Unha razón importante para que nós sempre tentamos facer a actualización para o guión máis recente de procesamento antes de calquera carreira!

Sistema de demostración

Para escribir este conxunto de pequenos artigos que creei unha rede moi pequena para demostrar as tecnoloxías e metodoloxías. Lin moitos artigos, tutoriais, e utilizado varias ferramentas para configurar e monitorizar o que estaba acontecendo. De maneira ningunha eu teño ido para fóra, e saturado de oficina conxunto co tráfico e non teño tido acceso a un ordenador normal membros do persoal de ver como o desempeño do servidor foi afectada.

O meu sistema de demostración era moi humilde, de feito. Eu usei o meu escritorio normal configurado como un servidor de control de traballo. Por iso eu tiña instalado MySQL servidor instalado configurado como un mestre na replicación, PHP , Â e SVN conectados a través de apache (para acceso vía VM traballador).

Eu, entón, creou unha máquina CentOS traballador no VirtualBox nun antigo Windows XP portátil 6 anos. Eu configurar tarefas programadas conforme especificado despois copiar o VM para a máquina e deixar ir.

A máquina virtual foi creada co PHP, subversión e MySQL. Eu comproba unha rama chamado "traballador" do meu traballo repositorio servidores de control e fixo que pode ser actualizado usando 'svn update'. A continuación eu instalación de MySQL como un escravo e comprobado que os datos foron replicar a partir do MySQL no servidor de control de traballo ata o VM traballador. Despois de todo isto eu configurar o script para o cron job.

O meu programa de procesamento basicamente seguiron as liñas deste material (moi sinxelo):

  • Ler o campo de nome
  • Contado o número de nomes semellantes nunha táboa a partir da fonte de datos realizado no VM
  • Contado o número de nomes como antes, pero o nome da división por espazos (por exemplo, nome propio, do medio, sobrenome)
  • Repetir o proceso 1.000 veces

Cada traballo levou uns 20 minutos para ser executado. Nun punto eu abrín varias copias do VM traballador no portátil fiestras e asistiron os traballos ser verificados fóra por cada un dos enderezos IP dos traballadores. Nese punto, eu tamén confirmou que a replicación é reiniciar automaticamente.

Deixando o portátil para a marcha lenta deu lugar a un traballador de comezar a procesar traballos dende o servidor de control de traballo. Ao renovar o uso do portátil había un atraso de preto de 30-60 segundos, esta é unha boa cantidade de tempo e persoal precisaría ser conscientes de que a súa máquina pode facer unha pausa por un curto tempo cando voltar á máquina. Máquinas novas poden non ter unha pausa deste tempo. O beneficio da cantidade de procesamento realizado por esas máquinas durante períodos de ociosidade sería máis que compensan os funcionarios que teñen que esperar un curto período de tempo (por exemplo, 1 minuto), ao chegar nas súas máquinas dunha mañá (eu frecuentemente esperar máis que iso para un Windows Defender actualizar a ter lugar), sempre que tomaron coñecemento desta (tempo útil para incorporarse un almorzo!).

En xeral eu me sinto seguro de que eu demostrei as tecnoloxías que poderían ser usados ​​para crear tal sistema. Eu teño mostrado que este sistema funciona a unha escala (moi) pequena e con pouco máis de experimentación pode ser ampliada utilizar os recursos de máquinas de oficina. Se eu non chegar ao punto de facelo eu estaría moi interesado en saber / ver cando alguén fai.

Conclusións / avaliación

O seguinte paso obvio sería comezar realmente un exemplo do mundo real e comezar a implantar un sistema como este dentro dun ambiente de oficina e ver que pasa. Pedir a un negocio de comprometerse a iso sen unha compañía banda ardente para probar que a tecnoloxía e eficacia pode ser un pouco difícil. Cidadán / A computación distribuída é moi popular e nalgúns círculos e ten algunhas grandes aplicacións (BIONC, o SETI @ Home, Folding @ Home, etc). Non, non obstante, atopar unha escala menor e sistema simple como este nas miñas pescudas que poderían ser implantadas dentro dun ambiente de escritorio.

Eu creei un sistema basicamente libre empregando software de código aberto e, sobre todo ferramentas dispoñibles en case todo o escritorio. As tecnoloxías foron basicamente demostrada e amosar para executar e funcionar como expected. Esperemos que eu teño mostran que o traballo non moito e cunha configuración moi sinxela que pode implantar unha oficina sistema de computación en reixa que é poderoso, Â, barato e scalable, todo ao mesmo tempo.

Unha vez que o sistema está instalado e funcionando case non hai fin para a cantidade de personalización e melloras que podes facer. Por exemplo, estatísticas / análise comparativa poden ser facilmente engadidos mostrando o valor dun tal sistema todos os días. Novas máquinas poden ser engadidos de forma rápida e sinxela como e cando eles chegan con upgrades de hardware existente reforzar o seu poder de procesamento.

Espero que disfrutara de ler esta serie de artigos ea súa lle deu alimento para o pensamento sobre a execución dun sistema de rede da oficina. A solución presentada aquí non vai necesariamente funcionar en todas as situacións, pero debe ser adaptable para permitir que obteña o seu procesamento de datos facer usando a súa propia solución.

Sinto-se libre para me enviar os comentarios, correccións ou melloras e eu vou facer o meu mellor para manter este artigo actualizado para corresponden.













Tema por Panorama Themocracy

4 convidados en liña agora
3 visitantes, 1 bots, 0 membros
Max visitantes hoxe: 14 ás 08:21 am UTC
Este mes: 56 en 25-04-2012 08:41 pm UTC
Este ano: 69 en 27-02-2012 09:56 pm UTC
Todas as horas: 130 en 28-03-2011 10:40 UTC