소개
나는 우리가 매일의 데이터 기록의 수백만을 처리하는 여러 일괄 작업을 실행하고 각 앉아서 매일 몇 시간 동안 아무것도하지 않고 모든 시스템에 대해 최근에 생각해 봤는데 회사에서 작동합니다. 우리 시스템의 처리 능력을 강화하기 위해 그 기계를 사용하여 수있다면 좋지 않겠어요? 기사의 집합에 나는 사무실 고용의 잠재적인 혜택을 보는거야 그리드 virtualised 환경을 사용합니다.
에 2 부 우리는 서버가 실행 작업을 검토한 결과, 어떻게 작업은 각 작업이 실패하지 않고 처리 있도록 반면 가공 가장 큰 금액을 달성하기 위해 구성해야합니다.
귀하의 노동자를 설정 - 서버 또는 미약
그 과정에서 다음 단계는 가상 노동자를 설정하는 것입니다. 이를 위해 저는 VirtualBox를 사용하여 centOS의 설치를 사용하는거야. 제가 설치하는거야 마이 SQL 과 PHP를 또한 절름 (리튬의 nux, M ySQL, P HP) Server (I가 그 이름을 만들 수도 있습니다)로 알려진 서버에.
- 귀하의 윈도우 머신에 VirtualBox를 설치 (링크를 클릭하십시오)
- 만들어진 가상 머신 내에서 centOS (현재 버전 5.3) 다운로드 및 설치
아무 소용 내가이 것도 없습니다 1,000의 큰 자습서 거기서는 (좋아, 여기에 하나 : 아마있다 virtualbox 아래의 생성 및 Managing centOS 가상 머신 ). 제가 바라는 참고로 중요한 포인트는 내 가상 기계가 GridMachine라는 것입니다.
까지 가상화 클라이언트와 운영 체제의 내 선택 가고 각 선택에 대해 큰 매력 이유도없이이 없습니다. VirtualBox 내 집에서 컴퓨터에 사용하고 세 가지 주요 운영 체제에서 지원하는 무언가이다. 나는 그것의 좋은 안정적인 OS로 centOS를 선택하고 내 자신의 웹 서버에 사용합니다. 나는 (내가 신청 해요 있지만 여기에 정신 '당신을위한 빠르고 쉬운을 사용') 작업에 적합한 도구의 훌륭한 신자이다, 그래서 운영 체제 X는 빨리 코드를 실행하고있다면보다 효율적으로 그 대신에 사용)
중요한 것은 당신의 VM은 각각의 새로운 가상 머신에 대해 달리, DHCP를 사용하여 우리가 want.By 우리는 노동자 기계 개별적으로 네트워크 설정을 구성할 필요가 없습니다 DHCP를 사용하지 않는 뭔가있는 별도 구성할 필요가 있는지 확인, DHCP 손으로 것입니다 당신을 위해 아웃 IP를. 따라서 당신은 (이것은 확장성을 향상시키고 노동자 관리를 줄일 수) 각 설정에 대한 걱정없이 가상 머신 사무실에 대해 복사할 수 있습니다.
당신이 달성하는 것을 목표로해야하는 과정은 새로운 물리 기계를 얻을 VirtualBox를 설치하고 꽤 많이 다른 많은 않고 가상 이미지를 배포하는 것입니다. 그것은 당신이 적어도 실행 얼마나 많은 기계를 볼 수 있도록 다른 서브넷에있는 모든 노동자를 설정하는 것이 현명 수도 있습니다. 당신은 또한 긴 임대 또는 무제한 임대 DHCP에서 시스템을 설정해야합니다.
노동자의 채용을 실행하는 방법
이것은 흥미로운 지역이며, 노동자에 대한 작업을 처리하는 몇 가지 유효한 방법이 있습니다. 여기 난 그냥 두 분명한 논의주지
- 끊임없이 스크립트를 실행 : 스크립트는, 그것 쉘 스크립트가 또는 PHP 스크립트가 노동자에 한 번 실행하고 무한 루프의 일부로 실행됩니다. 나는 스크립트 중 하나가 충돌로이 방법을 할인했습니다 잠재적으로 직원들은 개입하지 않고 일종의 실행 중단됩니다.
- 크론 기반의 스크립트 실행 : 모든 X의 분 크론 데몬이이 일을 가야 스크립트로 전화를 나가 라고요. 몇 가지 체크없이는 노동자 스크립트 실행의 여러 많은 복사본을 초래할 수 있습니다.
나의 결정은 내 쉘 스크립트는 다음 작업을 수행합니다 매 10 minutes. 쉘 스크립트를 Cron의 재미와 함께 이동하는 것이었다 :
- 프로세스 목록을 구해서 'PHP'에 대한이 grep. 발견되지 않으면 다음 계속하십시오.
- 직업 코드를 호출, 내 경우에는이 기준 뭔가 PHP 것입니다
- 노동자 스크립트는 실행을 완료
- 다음 적절한 전화를 다시 갈 준비
내 배쉬 스크립트는 다음과 같이 보입니다 :
#! / bin / sh를
경우 PS 도끼 | grep - v를 grep | grep PHP> / dev / null로
그때
에코 "작업은 현재, 출구를 처리"
다른
에코 "작업이 실행되지 않습니다, 지금 시작"
PHP yourJobProcessingScript.php
좋 참고 : 에코가 거의 무의미하지만, 그것을 시도하고 편집하는 나타나서 다음 사람을 도움이 될 수 있습니다.
즉, 빠르고 간단하고, 수신 하드웨어의 각 새로운 조각에 복사하기 쉽고 노동자 가상 머신의 최대 설정을 마칩니다. 그리드 시스템의 '영리'는 정말 시각 OS에서하지의 작업, 작업 구성, 그리고 적절한 작업 (즉 실행되었는지 확인하는에있는 호스트가 유휴 상태 프로세스에 만들어진 코드와 함께 할 모든 ).
근로자를 초기화하도록 Windows를 설정
첫 번째 작업은 Windows 명령줄에서 가상 머신을 실행하는 데 필요한 명령을 해결하는 것입니다. 당신이 기본 위치에 virtualBox를 설치했고 당신이 노동자 GridMachine라는 경우 다음 명령은 작업자가 최대 부하 요구 :
"C : \ 프로그램 파일 \ 일 \ VirtualBox \ VBoxManage.exe"startvm GridMachine
그러나 우리가 사용해야하는 '머리'상태에있는 스크립트를 실행합니다 :
"C : \ 프로그램 파일 \ 일 \ VirtualBox \ VBoxHeadless.exe"- startvm GridMachine - vrdp = 해제
이것은 GUI없이 가상 머신을 시작하고 정상적으로 상태를 저장할 수 있습니다. 두 번째 인수는 윈도우 RDP와 충돌하지 않도록 RDP 해제하거나에게 포트 3389에서 수신 대기에 대한 메시지를 제공합니다. 가상 머신의 이름은 대소문자를 구분합니다!
다음, 우리는 기계가 유휴되고 나면 우리 노동자 VM을 킥오프 창문을 설정해야합니다. > 모든 프로그램 - -> 악세사리 -> 시스템 도구 -이 (Windows XP에서) 할하려면 시작을 가야하는 데 필요한 다음과 같이> 예약된 작업을 :
다음 사용자 지정 프로그램을 추가로 이동하여 다음의 '예약 작업 추가'를 클릭합니다. 귀하의 VBoxManage 스크립트로 이동하고 확인을 누릅니다. 옵션 중 하나에 대한 작업을 예약할 (우리는 잠시이으로 변경) 및 계속합니다. 다음 화면을 빼먹는 후 Windows에서이 작업을 실행하려는 사람을 요청할 것입니다, 나는 '관리자'또는 새로운 사용자를 만드는 권한 중 하나를 제안 거라고. 우리가 언제든지 시스템에 표준 직원 계정을 방해하고 싶지 않아 기억하십시오. 다음을 클릭하고이 작업에 대한 고급 옵션보기를 확인하십시오.
실행 텍스트 상자의 끝에 우리 'startvm GridMachine'문자열을 추가하고 로그인하는 경우에만 실행되도록 보장이 unticked 남아 있습니다. 다음 일정 작업을 방문하여, 당신은 기계가 다음 탭으로 이동하기 전에 유휴 상태에 있고 싶어 시간을 선택 '할 때 유휴 상태'일정이 옵션을 드롭 다운 변경할 수 있습니다.
마지막으로 그것이 시간의 X 금액을 실행되어있는 경우 작업을 중지 상태 옵션을 untick하지만, 기계가 더 이상 유휴 없다면 작업을 중지하는 옵션을 체크 않습니다.
그것은 윈도우 호스트 설치를위한 다음에요!
개요
이 부분에서 우리는 노동자뿐만 아니라 우리가 (자신을위한 PHP 스크립트)를 호출 및 작업 처리 스크립트를 실행하는 방법으로 행동하는 가상 머신을 설정했습니다. 여기에서 우리는 사용자가 기계의 사용을 다시 시작하면 그 상태를 컴퓨터가 유휴되면 머리 모드에서 가상 머신을 시작하고, 저장 창 우리의 사본을 설정하는 방법 좀 봐. 바라건대이 시점에서 당신은 이러한 시스템을 설정하는 방법을 간단하게보고하고 있고 일부 실험은 스스로를 가야하는 가려움 있습니다!
다음번에
년 4 부에서는 우리는 얻은 결과는 최신 비즈니스 정보와 논리와 최신 항상 있도록 코드 및 데이터 소스의 최신 버전을 실행하는지 확인하는 도구를 사용하여보고됩니다.