Sesión 11 Jenkins

cloudera-introduction.pdf

  • MapReduce → Spark
    • MapReduce : repartir la carga entre X servidores que no tengan colisiones y meterlo en un lugar común
    • Hive : SQL to MapReduce
    • Pig : lenguaje para no SQL (pero que se le parece tanto…)
    • kafka : cluster
    • impala : consumo intensivo RAM, accede al FS directamente (sin pasar por HDFS)
      • HDFS : Hadoop Distributed FS (Java) → lento
    • SOLR : indexador
    • Kite : ¿api?
    • Resource Management
      • YARN : Yet Another Resource Negotation
      • sistema de colas
        • Filesystem: HDFS
        • Relational: kudu
    • Security
      • Sentry : kerberos
      • RecordService: ¿registro a qye se ha accedido?
        • NoSQL: HBase (el perdedor contra Casandra)
    • Storage
      • Batch
        • sqoop
      • Real-Time
        • Kafka
  • Hadoop Cluster
    • NameNode (de 2 a 3, este último para Journal)
      • zookeeper : service discovery
      • secondaryNameNode : helper
      • Resource manager (YARN)
    • DataNode
      • Just a Band of Disc
      • RAID1 para disco OS
      • hacen el trabajo
    • HDFS
      • sistema raid
      • bloques de 128MG
      • replicación (3 dataNode)
      • reglas de afinidad de la replicación
      • sueltas el archivo de Gb o Tb
    • Beowulf cluster

GitLab demo 1: GitLab demo 1 Job:

docker run --name demo1-${BUILD_NUMBER} --rm -d gitlab/nginx-demo1
sleep 15
CONTAINER_IP=$(docker inspect --format '{{ .NetworkSettings.IPAddress }}' demo1-${BUILD_NUMBER})
CODE_STATUS=$(curl -sI ${CONTAINER_IP} | grep -c "^HTTP/1.1 200")
docker stop demo1-${BUILD_NUMBER}
 
#[[ ${CODE_STATUS} == 1 ]] && { echo "OK"; exit 0; } || { echo "KO";exit 1; }
if [ ${CODE_STATUS} -eq 1 ]; then {
	exit 0; 
} else { 
    exit 1;
}
fi

gitlab demo 1 pipeline:

node {
   stage("build") {
        def job = build job: 'gitlab demo1'
   }

   stage("execute") {
        def job = build job: 'gitlab demo1 job'
   }
   
   stage("publish") {
        def job = build job: 'gitlab demo1 publish'
   }
}

gitlab demo1 publish:

node ("docker-agent") {
    stage ("tag") {
        sh ('docker tag gitlab/nginx-demo1:latest registry.floss.cat/mate/demo1:latest')
    }
    
    stage ("push") {
        withCredentials([usernamePassword(credentialsId: 'registry.floss.cat', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
            sh('''
                docker login --username=${USERNAME} --password=${PASSWORD} registry.floss.cat
                docker push registry.floss.cat/mate/demo1:latest
            ''')
        }
    }
}
  • info/cursos/pue/devops/sesion11.txt
  • Darrera modificació: 22/03/2019 12:45
  • per mate