SlideShare une entreprise Scribd logo
1  sur  15
Introducción             Puesta en marcha del cluster   Uso de S3 desde Hadoop




      Cluster Hadoop con
      herramientas EC2
      Tomás Fernández Pena
      CITIUS-USC tf.pena@usc.es
      Máster en Computación de Altas Prestaciones

                                                                Máster HPC
                                                                                 1/12
Introducción            Puesta en marcha del cluster   Uso de S3 desde Hadoop


Índice



    1 Introducción



    2 Puesta en marcha del cluster



    3 Uso de S3 desde Hadoop




                                                               Máster HPC
                                                                                2/12
Introducción            Puesta en marcha del cluster   Uso de S3 desde Hadoop


Índice



    1 Introducción



    2 Puesta en marcha del cluster



    3 Uso de S3 desde Hadoop




                                                                        Máster HPC
Introducción                   Puesta en marcha del cluster     Uso de S3 desde Hadoop


Cluster Hadoop en EC2




               Hadoop proporciona herramientas para ejecutar un cluster
               Hadoop en EC2 de forma simple
               Precisamos:
                 - Una instalación standalone de Hadoop en nuestro PC
                 - Las herramientas en línea de comandos de EC2
                 - Las credenciales de acceso a AWS




                                                                        Máster HPC
                                                                                         3/12
Introducción             Puesta en marcha del cluster     Uso de S3 desde Hadoop


Credenciales de acceso a AWS (I)


    Cinco valores:
      1. Access-key ID (20 caracteres alfanuméricos), variable
         AWS_ACCESS_KEY_ID
      2. Secret Access Key (40 caracteres alfanuméricos), variable
         AWS_SECRET_ACCESS_KEY
      3. Fichero .pem con el certificado X.509, variable EC2_CERT
      4. Fichero .pem con la clave privada, variable EC2_PRIVATE_KEY
      5. AWS Account ID (12 dígitos), variable AWS_ACCOUNT_ID




                                                                  Máster HPC
                                                                                   4/12
Introducción                    Puesta en marcha del cluster      Uso de S3 desde Hadoop


Credenciales de acceso a AWS (II)


    Consideraciones:
               Estos valores se obtienen de
               https://portal.aws.amazon.com/gp/aws/securityCredentials
               Usualmente, los ficheros .pem de certificado y clave privada se
               colocan en el directorio ~/.ec2/
               El Account ID hay que usarlo sin guiones
               El Secret Access key puede tener, entre sus caracteres, barras (/)
                 - Puede dar problemas con S3
                 - Crear nuevas claves, hasta obtener una sin /




                                                                          Máster HPC
                                                                                           5/12
Introducción            Puesta en marcha del cluster   Uso de S3 desde Hadoop


Índice



    1 Introducción



    2 Puesta en marcha del cluster



    3 Uso de S3 desde Hadoop




                                                                        Máster HPC
Introducción                     Puesta en marcha del cluster     Uso de S3 desde Hadoop


Definición del entorno


               Los comandos necesarios están en
               $HADOOP_INSTALL/hadoop/src/contrib/ec2/bin/
               Editar el fichero hadoop-ec2-env.sh y poner las credenciales
               de acceso a EC2
                  - Poner los valores de AWS_ACCOUNT_ID, AWS_ACCESS_KEY_ID,
                    AWS_SECRET_ACCESS_KEY
                  - Poner en KEY_NAME con el nombre de un EC2 Key Pair al que
                     tengamos acceso
                 - Poner en PRIVATE_KEY_PATH el path a la EC2 private key (por
                     defecto, en EC2_KEYDIR=~/.ec2/, con nombre
                     id_rsa-$KEY_NAME)
                 -   Es necesario que las variables EC2_CERT y EC2_PRIVATE_KEY
                     estén definidas



                                                                          Máster HPC
                                                                                           6/12
Introducción                   Puesta en marcha del cluster       Uso de S3 desde Hadoop


Definición del entorno



               En el fichero hadoop-ec2-env.sh podemos indicar también:
                 - El tipo de instancia a usar por defecto (INSTANCE_TYPE)
                 - La versión de hadoop (HADOOP_VERSION)
                 - El bucket S3 en el que residen las imágenes (S3_BUCKET, por
                   defecto, las imágenes con hadoop preinstalado están en
                   hadoop-images)
               Para ver las imágenes disponibles, usar:
               ec2-describe-images -x all | grep hadoop-images




                                                                          Máster HPC
                                                                                           7/12
Introducción            Puesta en marcha del cluster   Uso de S3 desde Hadoop


Ejecución del cluster


    Comando para iniciar en cluster hadoop:
    hadoop-ec2 launch-cluster <nombre-cluster> <número-esclavos>
    Después de iniciar nos devuelve el nombre del máster node:
        Podemos ver el JobTracker y el NameNode en los puertos
        50030 y 50070
        Para acceder al master
           hadoop-ec2 login <nombre-cluster>
        Para terminar el cluster
           hadoop-ec2 terminate-cluster <nombre-cluster>




                                                               Máster HPC
                                                                                8/12
Introducción            Puesta en marcha del cluster   Uso de S3 desde Hadoop


Índice



    1 Introducción



    2 Puesta en marcha del cluster



    3 Uso de S3 desde Hadoop




                                                                        Máster HPC
Introducción            Puesta en marcha del cluster      Uso de S3 desde Hadoop


Sistemas de ficheros en S3



    Dos tipos de sistemas de ficheros en S3 para Hadoop:
    S3 Native FileSystem (URI scheme s3n) Sistema por defecto, lee y
                  escribe ficheros regulares
    S3 Block FileSystem (URI scheme s3) Almacenamiento por bloques,
                 similar a HDFS (más optimizado para Hadoop)

    S3 Block FileSystem necesita un bucket dedicado




                                                                  Máster HPC
                                                                                   9/12
Introducción                 Puesta en marcha del cluster   Uso de S3 desde Hadoop


Copia de datos y uso de S3 (I)


               Copia de local a S3
               hadoop fs -put <localpath>
               s3://<access-key-id>:<secret-access-key>@<s3-bucket>/
               <s3-filepath>
               Copia optimizada de S3 a HDFS
               hadoop distcp s3://<access-key-id>:<secret-access-key>
               @<s3-bucket>/<s3-filepath> <hdfs-filepath>
               Uso directo de S3 como entrada desde Hadoop
               hadoop jar <jar-file> s3://<access-key-id>:
               <secret-access-key>@<s3-bucket>/<s3-filepath> <hdfs-filepath>




                                                                    Máster HPC
                                                                                     10/12
Introducción                   Puesta en marcha del cluster   Uso de S3 desde Hadoop


Copia de datos y uso de S3 (II)

    Otros aspectos
        Es posible usar s3n (ficheros) en vez de s3 (bloques)
                 - Limitación de 5 GB por fichero
               La AWS_ACCESS_KEY_ID y AWS_SECRET_ACCESS_KEY pueden
               guardarse en el fichero core-site.xml, para no tener que
               ponerlas en los comandos
                  <property>
                  <name>fs.s3.awsAccessKeyId</name>
                  <value>access-key-id</value>
                  </property>
                  <property>
                  <name>fs.s3.awsSecretAccessKey</name>
                  <value>secret-access-key</value>
                  </property>



                                                                      Máster HPC
                                                                                       11/12
Introducción                   Puesta en marcha del cluster   Uso de S3 desde Hadoop


Copia de datos y uso de S3 (III)




               Es posible también usar s3 por defecto, en vez de HDFS
                   <property>
                   <name>fs.default.name</name>
                   <value>s3://s3-bucket</value>
                   </property>




                                                                      Máster HPC
                                                                                       12/12

Contenu connexe

Similaire à Cluster Hadoop EC2 S3

Herramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache HadoopHerramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache HadoopDavid Albela Pérez
 
Administracion servidores
Administracion  servidoresAdministracion  servidores
Administracion servidoresIsaac Gonzalez
 
Red t4 practica_ftp2
Red t4 practica_ftp2Red t4 practica_ftp2
Red t4 practica_ftp2garciadebora
 
Tutorial de php y my sql completo
Tutorial de php y my sql completoTutorial de php y my sql completo
Tutorial de php y my sql completogenaro martinez
 
Introducción a Zend Framework
Introducción a Zend FrameworkIntroducción a Zend Framework
Introducción a Zend FrameworkIrontec
 
Framework kahana
Framework kahanaFramework kahana
Framework kahanaH31D1
 
Cómo instalar drupal en ubuntu 14
Cómo instalar drupal en ubuntu 14Cómo instalar drupal en ubuntu 14
Cómo instalar drupal en ubuntu 14manolinxxx
 
CloudStorage - Almacenamiento en la Nube
CloudStorage - Almacenamiento en la NubeCloudStorage - Almacenamiento en la Nube
CloudStorage - Almacenamiento en la NubeArsys
 
Desarrollo Aplicaciones Zend Framework
Desarrollo Aplicaciones Zend FrameworkDesarrollo Aplicaciones Zend Framework
Desarrollo Aplicaciones Zend Frameworkricsoc
 
NOSQL apache-cassandra-150611122739-lva1-app6891
NOSQL apache-cassandra-150611122739-lva1-app6891NOSQL apache-cassandra-150611122739-lva1-app6891
NOSQL apache-cassandra-150611122739-lva1-app6891darwin dj
 
Fundamentos de Administración PostgreSQL
Fundamentos de Administración PostgreSQLFundamentos de Administración PostgreSQL
Fundamentos de Administración PostgreSQLcamposer
 
Apache.http ftp-smtp
Apache.http ftp-smtpApache.http ftp-smtp
Apache.http ftp-smtpgh02
 
69 claves para conocer Big Data
69 claves para conocer Big Data69 claves para conocer Big Data
69 claves para conocer Big DataStratebi
 

Similaire à Cluster Hadoop EC2 S3 (20)

Herramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache HadoopHerramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache Hadoop
 
Administracion servidores
Administracion  servidoresAdministracion  servidores
Administracion servidores
 
Red t4 practica_ftp2
Red t4 practica_ftp2Red t4 practica_ftp2
Red t4 practica_ftp2
 
Introducción a Kohana Framework
Introducción a Kohana FrameworkIntroducción a Kohana Framework
Introducción a Kohana Framework
 
Cassandra y php para desarrolladores sql
Cassandra y php para desarrolladores sqlCassandra y php para desarrolladores sql
Cassandra y php para desarrolladores sql
 
php
phpphp
php
 
Tutorial de php y my sql completo
Tutorial de php y my sql completoTutorial de php y my sql completo
Tutorial de php y my sql completo
 
Introducción a Zend Framework
Introducción a Zend FrameworkIntroducción a Zend Framework
Introducción a Zend Framework
 
3. Hadoop
3.  Hadoop3.  Hadoop
3. Hadoop
 
Framework kahana
Framework kahanaFramework kahana
Framework kahana
 
Cómo instalar drupal en ubuntu 14
Cómo instalar drupal en ubuntu 14Cómo instalar drupal en ubuntu 14
Cómo instalar drupal en ubuntu 14
 
Apache Derby
Apache DerbyApache Derby
Apache Derby
 
CloudStorage - Almacenamiento en la Nube
CloudStorage - Almacenamiento en la NubeCloudStorage - Almacenamiento en la Nube
CloudStorage - Almacenamiento en la Nube
 
Desarrollo Aplicaciones Zend Framework
Desarrollo Aplicaciones Zend FrameworkDesarrollo Aplicaciones Zend Framework
Desarrollo Aplicaciones Zend Framework
 
Pg pool cluster postgresql
Pg pool cluster postgresqlPg pool cluster postgresql
Pg pool cluster postgresql
 
Diaposotivas apache-cassandra
Diaposotivas apache-cassandraDiaposotivas apache-cassandra
Diaposotivas apache-cassandra
 
NOSQL apache-cassandra-150611122739-lva1-app6891
NOSQL apache-cassandra-150611122739-lva1-app6891NOSQL apache-cassandra-150611122739-lva1-app6891
NOSQL apache-cassandra-150611122739-lva1-app6891
 
Fundamentos de Administración PostgreSQL
Fundamentos de Administración PostgreSQLFundamentos de Administración PostgreSQL
Fundamentos de Administración PostgreSQL
 
Apache.http ftp-smtp
Apache.http ftp-smtpApache.http ftp-smtp
Apache.http ftp-smtp
 
69 claves para conocer Big Data
69 claves para conocer Big Data69 claves para conocer Big Data
69 claves para conocer Big Data
 

Plus de Tomás Fernández Pena (8)

Hadoop
HadoopHadoop
Hadoop
 
Introducción al procesamiento del Big Data
Introducción al procesamiento del Big DataIntroducción al procesamiento del Big Data
Introducción al procesamiento del Big Data
 
Introducción a Hadoop
Introducción a HadoopIntroducción a Hadoop
Introducción a Hadoop
 
Content technologies - ICT H2020 - MED-Dialogue Networking, Amman 2014
Content technologies - ICT H2020 - MED-Dialogue Networking, Amman 2014Content technologies - ICT H2020 - MED-Dialogue Networking, Amman 2014
Content technologies - ICT H2020 - MED-Dialogue Networking, Amman 2014
 
HDFS
HDFSHDFS
HDFS
 
MapReduce en Hadoop
MapReduce en HadoopMapReduce en Hadoop
MapReduce en Hadoop
 
BigData y MapReduce
BigData y MapReduceBigData y MapReduce
BigData y MapReduce
 
Introducción a Hadoop
Introducción a HadoopIntroducción a Hadoop
Introducción a Hadoop
 

Cluster Hadoop EC2 S3

  • 1. Introducción Puesta en marcha del cluster Uso de S3 desde Hadoop Cluster Hadoop con herramientas EC2 Tomás Fernández Pena CITIUS-USC tf.pena@usc.es Máster en Computación de Altas Prestaciones Máster HPC 1/12
  • 2. Introducción Puesta en marcha del cluster Uso de S3 desde Hadoop Índice 1 Introducción 2 Puesta en marcha del cluster 3 Uso de S3 desde Hadoop Máster HPC 2/12
  • 3. Introducción Puesta en marcha del cluster Uso de S3 desde Hadoop Índice 1 Introducción 2 Puesta en marcha del cluster 3 Uso de S3 desde Hadoop Máster HPC
  • 4. Introducción Puesta en marcha del cluster Uso de S3 desde Hadoop Cluster Hadoop en EC2 Hadoop proporciona herramientas para ejecutar un cluster Hadoop en EC2 de forma simple Precisamos: - Una instalación standalone de Hadoop en nuestro PC - Las herramientas en línea de comandos de EC2 - Las credenciales de acceso a AWS Máster HPC 3/12
  • 5. Introducción Puesta en marcha del cluster Uso de S3 desde Hadoop Credenciales de acceso a AWS (I) Cinco valores: 1. Access-key ID (20 caracteres alfanuméricos), variable AWS_ACCESS_KEY_ID 2. Secret Access Key (40 caracteres alfanuméricos), variable AWS_SECRET_ACCESS_KEY 3. Fichero .pem con el certificado X.509, variable EC2_CERT 4. Fichero .pem con la clave privada, variable EC2_PRIVATE_KEY 5. AWS Account ID (12 dígitos), variable AWS_ACCOUNT_ID Máster HPC 4/12
  • 6. Introducción Puesta en marcha del cluster Uso de S3 desde Hadoop Credenciales de acceso a AWS (II) Consideraciones: Estos valores se obtienen de https://portal.aws.amazon.com/gp/aws/securityCredentials Usualmente, los ficheros .pem de certificado y clave privada se colocan en el directorio ~/.ec2/ El Account ID hay que usarlo sin guiones El Secret Access key puede tener, entre sus caracteres, barras (/) - Puede dar problemas con S3 - Crear nuevas claves, hasta obtener una sin / Máster HPC 5/12
  • 7. Introducción Puesta en marcha del cluster Uso de S3 desde Hadoop Índice 1 Introducción 2 Puesta en marcha del cluster 3 Uso de S3 desde Hadoop Máster HPC
  • 8. Introducción Puesta en marcha del cluster Uso de S3 desde Hadoop Definición del entorno Los comandos necesarios están en $HADOOP_INSTALL/hadoop/src/contrib/ec2/bin/ Editar el fichero hadoop-ec2-env.sh y poner las credenciales de acceso a EC2 - Poner los valores de AWS_ACCOUNT_ID, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY - Poner en KEY_NAME con el nombre de un EC2 Key Pair al que tengamos acceso - Poner en PRIVATE_KEY_PATH el path a la EC2 private key (por defecto, en EC2_KEYDIR=~/.ec2/, con nombre id_rsa-$KEY_NAME) - Es necesario que las variables EC2_CERT y EC2_PRIVATE_KEY estén definidas Máster HPC 6/12
  • 9. Introducción Puesta en marcha del cluster Uso de S3 desde Hadoop Definición del entorno En el fichero hadoop-ec2-env.sh podemos indicar también: - El tipo de instancia a usar por defecto (INSTANCE_TYPE) - La versión de hadoop (HADOOP_VERSION) - El bucket S3 en el que residen las imágenes (S3_BUCKET, por defecto, las imágenes con hadoop preinstalado están en hadoop-images) Para ver las imágenes disponibles, usar: ec2-describe-images -x all | grep hadoop-images Máster HPC 7/12
  • 10. Introducción Puesta en marcha del cluster Uso de S3 desde Hadoop Ejecución del cluster Comando para iniciar en cluster hadoop: hadoop-ec2 launch-cluster <nombre-cluster> <número-esclavos> Después de iniciar nos devuelve el nombre del máster node: Podemos ver el JobTracker y el NameNode en los puertos 50030 y 50070 Para acceder al master hadoop-ec2 login <nombre-cluster> Para terminar el cluster hadoop-ec2 terminate-cluster <nombre-cluster> Máster HPC 8/12
  • 11. Introducción Puesta en marcha del cluster Uso de S3 desde Hadoop Índice 1 Introducción 2 Puesta en marcha del cluster 3 Uso de S3 desde Hadoop Máster HPC
  • 12. Introducción Puesta en marcha del cluster Uso de S3 desde Hadoop Sistemas de ficheros en S3 Dos tipos de sistemas de ficheros en S3 para Hadoop: S3 Native FileSystem (URI scheme s3n) Sistema por defecto, lee y escribe ficheros regulares S3 Block FileSystem (URI scheme s3) Almacenamiento por bloques, similar a HDFS (más optimizado para Hadoop) S3 Block FileSystem necesita un bucket dedicado Máster HPC 9/12
  • 13. Introducción Puesta en marcha del cluster Uso de S3 desde Hadoop Copia de datos y uso de S3 (I) Copia de local a S3 hadoop fs -put <localpath> s3://<access-key-id>:<secret-access-key>@<s3-bucket>/ <s3-filepath> Copia optimizada de S3 a HDFS hadoop distcp s3://<access-key-id>:<secret-access-key> @<s3-bucket>/<s3-filepath> <hdfs-filepath> Uso directo de S3 como entrada desde Hadoop hadoop jar <jar-file> s3://<access-key-id>: <secret-access-key>@<s3-bucket>/<s3-filepath> <hdfs-filepath> Máster HPC 10/12
  • 14. Introducción Puesta en marcha del cluster Uso de S3 desde Hadoop Copia de datos y uso de S3 (II) Otros aspectos Es posible usar s3n (ficheros) en vez de s3 (bloques) - Limitación de 5 GB por fichero La AWS_ACCESS_KEY_ID y AWS_SECRET_ACCESS_KEY pueden guardarse en el fichero core-site.xml, para no tener que ponerlas en los comandos <property> <name>fs.s3.awsAccessKeyId</name> <value>access-key-id</value> </property> <property> <name>fs.s3.awsSecretAccessKey</name> <value>secret-access-key</value> </property> Máster HPC 11/12
  • 15. Introducción Puesta en marcha del cluster Uso de S3 desde Hadoop Copia de datos y uso de S3 (III) Es posible también usar s3 por defecto, en vez de HDFS <property> <name>fs.default.name</name> <value>s3://s3-bucket</value> </property> Máster HPC 12/12