ACTUALIZACIÓN: Por favor, intente la imagen SL6 actualizado ami-d60185bf para arreglar asuntos claves SSH.
Si usted no ha oído hablar de StarCluster del MIT, es un conjunto de herramientas para poner en marcha grupos de nodos de computación virtuales dentro del Amazon Elastic Compute Cloud (EC2). StarCluster proporciona una forma simple de utilizar la nube para la investigación, científico, de alto rendimiento y de alto rendimiento de computación. incumplimientos
starcluster a la utilización de imágenes de Ubuntu Linux (deb) para su base, pero he preparado un Linux Científico imagen (rpm). La mayoría de los clústeres de cómputo de investigación que administran se componen de Red Hat Enterprise, CentOS o Scientific Linux, así que estaba ansioso de tener una opción de nube compatible construido fuera de mi sabor favorito Actualmente Linux.
Puede empezar probando StarCluster con la AWS Uso gratuito de Tier. Una vez que tenga una cuenta de Amazon, StarCluster es fácil de instalar con virtualenv y pip en su directorio personal.
$ mkdir starcluster; cd starcluster
$ curl-O https://raw.github.com/pypa/virtualenv/master/virtualenv.py
$ python virtualenv.py foocluster
Nueva ejecutable python en foocluster / bin / python
Instalación setuptools ............................ hecho.
Instalación pip ..................... hecho.
$ . foocluster / bin / activar
$ pip instalar starcluster
$ starcluster ayuda
La primera vez starcluster se ejecuta, será sin error un archivo de configuración, pero le pedirá que cree una. La opción 2 para crear y editar el archivo de configuración, el establecimiento de valores preferidos Seleccionar. Asegúrese de sustituir en sus credenciales. Aquí estamos seleccionando micro instancias de 64 bits Scientific Linux 6. Editar y añadir las siguientes líneas al ~ / .starcluster / config file.
[info aws]
AWS_ACCESS_KEY_ID = your_aws_access_key_id
AWS_SECRET_ACCESS_KEY = your_secret_access_key
AWS_USER_ID = su_id_usuario
[foocluster clave]
KEY_LOCATION = ~ / starcluster / foocluster . rsa
[smallcluster grupo]
KEYNAME = foocluster
NODE_IMAGE_ID = ami-d60185bf
NODE_INSTANCE_TYPE = t1.micro
Ahora tenemos que crear la clave ssh para acceder.
$ starcluster CreateKey-o foocluster.rsa foocluster
Ahora podemos encender un clúster de dos nodos.
$ Starcluster listclusters start-s 2 foocluster
Starcluster $ $ starcluster sshmaster foocluster
$ qstat-gc />
$ starcluster terminar foocluster
Cuando termine, asegúrese de ir a la consola de administración de EC2 y terminar o eliminar cualquier instancia en ejecución o volúmenes. Usted no desea ejecutar un proyecto de ley en los casos de inactividad.
Leer más en el manual StarCluster o StarCluster wiki.
Aquí está el registro de generación de mi costumbre SL6 AMI. Esta imagen se basa apagado de Jamie Kinney Scientific Linux 6.2 x86_64 AMI.
$ starcluster start-s 1 foocluster-n ami-999d49f0
$ starcluster get foocluster / opt/sge6-fresh.
$ starcluster terminar foocluster
$ starcluster iniciar-o -s 1-i-t1.micro n ami-e2a0058b imagehost
$ starcluster listclusters - imagehost show-ssh-estado
$ starcluster sshmaster imagehost-u ec2 usuario
$ sudo sed - i.bak-E / # PermitRootLogin sí / PermitRootLogin sin contraseña / g '/ etc / ssh / sshd_config
$ sudo sed-i.bak-E / # UseDNS sí / UseDNS no / g 'etc / ssh / sshd_config />
$ sudo service sshd reload
$ exit /
$ starcluster poner imagehost ./sge6-fresh / opt /
$ rsync-e "ssh-i $ HOME / starcluster / foocluster.rsa" AVP - eliminar sge6-fresh-l root ec2- 23-23-64-53.compute-1.amazonaws.com :/ opt /
$ starcluster sshmaster imagehost
# yum-y install yum-yum-fastestmirror conf-EPEL
# yum -y update
# yum-y install openmpi-devel nfs-utils-lib-desarrollo java-1.6.0-openjdk-devel tmux zsh ksh tcsh
emacs descomprimir mysql httpd mysql-server ntsysv freetype- desa-libpng desarrollo blas-devel lapack-devel
atlas-devel lbzip2-bzip2 desarrollo ncurses-devel-sqlite desa-zlib desa-libjpeg desarrollo ipython mercurial
python-imaging python-boto python-virtualenv Cython python-nariz-python gnutls python-pip rubí
# echo "exit 0" >> / etc / init.d / portmap />
# yum-y groupinstall
# yum-y install InfiniPath-psm desarrollo
# yumdownloader - fuente openmpi
# rpm - import https://www.redhat .com/security/fd431d51.txt
# yum-builddep openmpi-1.5.4-1.el6.src.rpm
# rpm-ivh openmpi-1.5.4-1.el6.src.rpm
# rpmbuild-bb - define - / root / rpmbuild / SPECS /
# rpm-Uhv / root/rpmbuild/RPMS/x86_64/openmpi-1.5. 4-1.el6.x86_64.rpm / root/rpmbuild/RPMS/x86_64/openmpi-devel-1.5.4-1.el6.x86_64.rpm
# echo "exclude = openmpi *" >> / etc / yum.conf
#. / Etc / profile.d / modules.sh
carga # módulo openmpi x86_64
# ompi_info | grep-i grid
ras MCA: GridEngine (MCA v2.0, v2.0 API, v1.5.4 Component)
# echo "module load openmpi-x86_64" >> / etc / profile.d / zzlocal.sh
# echo "module load openmpi-x86_64" >> / etc / profile. d / zzlocal.csh
'exportación PYTHONPATH = / usr/local/lib64/python2.6/site-packages: $ PYTHONPATH' # echo >> / etc / profile.d / zzlocal.sh
# echo 'setenv PYTHONPATH / usr/local/lib64/python2.6/site-packages: $ PYTHONPATH' >> / etc / profile.d /
zzlocal.csh # chmod + x / etc / profile.d / zzlocal . *
#. / Etc / profile.d /
zzlocal.sh # install pip-python - install-option = "- prefix = / usr / local" mpi4py
# pip-python instalar - install-opción = "- prefix = / usr / local" numpy
# pip-python instalar - install-option = "- prefix = / usr / local"
scipy # pip-python instalar - instalar -option = "- prefix = / usr / local" matplotlib
# chmod u = rwx, go = / root / home/ec2-user
# vim / etc / rc.local # ver más abajo
# exit
$ starcluster listclusters
$ starcluster ebsimage
>>> Su nuevo Identificación del AMI es: ami- xxxxxxxx
$ starcluster terminar imagehost
/ etc / rc.local
# actualización EC2-ami-herramientas
wget http://s3.amazonaws.com/ec2-downloads / ec2-ami-tools.noarch.rpm &&
rpm-Uvh ec2-ami-tools.noarch.rpm />
# restablecimiento de contraseña root />
# actualizar las claves ssh root
el sueño 40
if [! -D / root / .ssh]; entonces
mkdir-p / root / .ssh />
chmod 700 / root / .ssh
wget http://169.254.169.254 / latest/meta-data/public-keys/0/openssh-key &&
-key openssh cat >> / root / .ssh / authorized_keys &&
chmod 600 / root / .ssh / authorized_keys
rm-f-claves para OpenSSH