Monta una Infraestructura Big Data para tu Empresa - Sesión II

55
Taller: “Monta una infraestructura Big Data para tu Empresa” Urko Zurutuza Dpto. Electrónica e Informática Mondragon Goi Eskola Politeknikoa JMA Mondragon Unibertsitatea

Transcript of Monta una Infraestructura Big Data para tu Empresa - Sesión II

Page 1: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Taller:

“Monta una infraestructura Big Data para tu Empresa”

Urko Zurutuza

Dpto. Electrónica e Informática

Mondragon Goi Eskola Politeknikoa JMA

Mondragon Unibertsitatea

Page 2: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Agenda

• Día 1: Introducción al Big Data

• Día 2: Instalación de un cluster

Cloudera

• Día 3: Ejercicios sobre Cloudera

Page 3: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Índice

1. Requisitos

2. Consideraciones de Red y de Seguridad

3. Instalación

4. Instalando Cloudera Manager

5. Cloudera Manager

Page 4: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Requisitos

Page 5: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Sistemas Operativos

• RHEL, CentOS (5.7 64 bit, 6.4 64 bit, 6.4 en modo Selinux, 6.5, 64 bit)

• Oracle Enterprise Linux with default kernel and Unbreakable Enterprise Kernel, 64-bit (5.6 (UEK R2), 6.4 (UEK R2), 6.5 (UEK R2, UEK R3))

• SUSE Linux Enterprise Server 11, 64-bit

• Debian - Wheezy (7.0 and 7.1), Squeeze (6.0) (deprecated), 64-bit

• Ubuntu - Trusty (14.04), Precise (12.04), Lucid (10.04) (deprecated), 64-bit

Page 6: Monta una Infraestructura Big Data para tu Empresa - Sesión II

JDK (Java Development Kit)

• Cloudera Manager:– Oracle JDK 1.8.0_11

– Oracle JDK 1.7.0_67

– Oracle JDK 1.6.0_31

• Cloudera Manager debe estar ejecutado sobre unaversión JDK soportada por todos los clusters Hadoopque gestiona. Ejemplo:– Cloudera Manager 5 sobre la versión 1.6 de JDK solo

podrá gestionar clusters de CDH4.

– Para gestionar clusters CDH5 se necesita la versión 1.7 de JDK.

– Si se desean gestionar clusters de CDH4 y CDH5 de forma simultánea con Cloudera Manager 5, se deberá urilizar la versión 1.7 de JDK.

Page 7: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Navegadores

• La Consola de Administración de Cloudera

Manager, la cual se utiliza para la

instalación, configuración, gestión y

monitorización de servicios, está soportada

por:

– Mozilla Firefox 11 y superiores

– Google Chrome

– Internet Explorer 9 y superiores

– Safari 5 y superiores

Page 8: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Bases de Datos

• Cloudera Manager Server almacena información sobre

los servicios configurados, la asignación de roles, un

histórico de la configuración, comandos, usuarios, y

procesos en ejecución en una base de datos propia.

• Cloudera Manager y los servicios que los soportan

pueden hacer uso de las siguientes bases de datos:

– MySQL - 5.0, 5.1, 5.5, y 5.6

– Oracle 11gR2

– PostgreSQL - 8.4, 9.1, 9.2, y 9.3

• Cloudera soporta las versiones de MySQL y PostgreSQL

que incluyen las distribuciones Linux en sus

instalaciones.

Page 9: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Espacio en Disco

• Cloudera Manager Server:– 5 GB en la partición /var.

– 500 MB en la partición /usr.

– Para el uso de “parcels”, el espacio requerido depende del número de “parcelas” que se descarguen a Cloudera Manger y se distribuyan a los agentes. Ejemplo:

• CDH 4.6 - 700 MB por parcel;

• CDH 5 (que incluye Impala y Search) - 1.5 GB por parcel (empaquetado), 2 GB por parcel (desempaquetado)

• Cloudera Impala - 200 MB por parcel

• Cloudera Search - 400 MB por parcel

• Cloudera Management Service – Las bases de datos de monitorización se almacenan sobre la partición /var. Se recomienda asegurar al menos 20 GB en esta partición.

• Agentes – Cada “parcel” desempaquetado requiere en los agentes unas 3 veces el espacio del “parcel” descargado en ClouderaManager Server.

Page 10: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Espacio en Disco

• Cloudera Manager Server:– 5 GB en la partición /var.

– 500 MB en la partición /usr.

– Para el uso de “parcels”, el espacio requerido depende del número de “parcelas” que se descarguen a Cloudera Manger y se distribuyan a los agentes. Ejemplo:

• CDH 4.6 - 700 MB por parcel;

• CDH 5 (que incluye Impala y Search) - 1.5 GB por parcel (empaquetado), 2 GB por parcel (desempaquetado)

• Cloudera Impala - 200 MB por parcel

• Cloudera Search - 400 MB por parcel

• Cloudera Management Service – Las bases de datos de monitorización se almacenan sobre la partición /var. Se recomienda asegurar al menos 20 GB en esta partición.

• Agentes – Cada “parcel” desempaquetado requiere en los agentes unas 3 veces el espacio del “parcel” descargado en ClouderaManager Server.

Page 11: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Memoria RAM

• Se recomiendan 4 GB para la mayoría de los

casos, siendo esto un requisito en el caso que

se use una base de datos Oracle.

• En caso contrario y en una instalación de

menos de 100 hosts, podría ser suficiente con

2 GB.

• Es conveniente reducir la cantidad máxima de

memoria que usa Cloudera Manager Server

para sus servicios Java.

Page 12: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Python

• Cloudera Manager, CDH5 y HUE

funcionan sobre Python 2.6 o 2.7

Page 13: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Consideraciones de Red y Seguridad

Page 14: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Requisitos de Red

Cloudera Manager, CDH5 y HUE funcionan sobre Python 2.6 o 2.7

• Direccionamiento IP asignado de forma

estática

• Fichero /etc/hosts correctamente

formateado. Debe:

– Contener información persistente sobre los

nombres de los equipos y direcciones IP de

los nodos

– No debe contener nombres que contengan

mayúsculas

– No debe contener direcciones IP duplicadas

Page 15: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Requisitos de Red

Cloudera Manager, CDH5 y HUE funcionan sobre Python 2.6 o 2.7

• En la mayoría de los casos, ClouderaManager Server deberá tener acceso SSH a los equipos del cluster para poder realizar la instalación y despliegue de servicios.

• Además, se deberá proveer del usuario y credencial de root, o proveer de un usuario con permiso “sudo” sin que se pida la contraseña.

• Una vez finalizada la instalación, se puede cambiar la contraseña de root, o deshabilitar el requisito anterior.

Page 16: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Requisitos de Red

Cloudera Manager, CDH5 y HUE funcionan sobre Python 2.6 o 2.7

• Asegurar que Security-Enhanced Linux (SELinux) no bloquea ningún servicio o acceso.

• IPv6 debe estar deshabilitado.

• Asegurarnos que no se están bloqueando puertos mediante iptables o algún otro tipo de firewall. El puerto 7189 debe estar accesible una vez termine la instalación. El propio Cloudera Manager recomienda en su documentación los puertos que deben estar abiertos.

Page 17: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Instalación

Page 18: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Tipos de Instalación de Cloudera

Manager

• Un despliegue de Cloudera Manager

consiste en los siguientes componentes

Software:

– Oracle JDK

– Cloudera Manager Server y los paquetes

Agentes

– Software de base de datos que de soporte

– CDH y el software de servicios gestionados

Page 19: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Tipos de Instalación de Cloudera

Manager

• Despliegues de demostración y pruebas de concepto totalmente automatizada:– Oracle JDK,

– Cloudera Manager Server,

– PostgreSQL embebida,

– Cloudera Manager Agent,

– CDH,

– software de servicios gestionados en los hosts del cluster.

– Además, configura las bases de datos de ClouderaManager Server y Hive.

Page 20: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Tipos de Instalación de Cloudera

Manager

• Despliegues de demostración y pruebas de concepto totalmente automatizados– Recomendada para pruebas de concepto y

demostraciones. No para despliegues de producción.

– Este sistema no está pensado para poder escalar las bases de datos en el caso de que el cluster crezca mucho.

– Los requisitos previos para esta instalación son:• Darle la opción de abrir sesión en el host de Cloudera

Manager Server utilizando una cuenta root o una cuenta donde el usuario tenga permisos sudo sin requerir la contraseña.

• Permitir que Cloudera Manager Server tenga acceso uniforme a SSH en todos los hosts del cluster.

• Todos los hosts deberán tener acceso a los repositorios estándar y también al repositorio de archive.cloudera.com

Page 21: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Tipos de Instalación de Cloudera

Manager

• Despliegues para entornos de producción

– Requiere que primero se instalen y configuren la base de datos de producción para ClouderaManager Server y Hive Metastore. Existen dos opciones de instalación:

• Instalación Manual utilizando los Paquetes de Cloudera Manager

– Los administradores instalan Oracle JDK, y los paquetes de Cloudera Manager Server y de la base de datos embebida PostgreSQL en el host Cloudera Manager Server.

• Instalación manual utilizando los Tarballs de Cloudera Manager

– Los adminsitradores instalan Oracle JDK, Cloudera Manager Server, y Cloudera Manager Agent software como tarballs y utilizan Cloudera Manager para automatizar la instalación de CDH y el software de servicios gestionados como parcels.

Page 22: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Tipos de Instalación de Cloudera

Manager

Hoy realizaremos un despliegue de

demostración y prueba de concepto

Page 23: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Instalando Cloudera Manager

Page 24: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Arquitectura del sistema

Cloudera Manager

Nombre: taldeanodo1

ip: 192.168.0.100

Roles

Nombre: taldeanodo4

ip: 192.168.0.101

Roles

Nombre: taldeanodo2

ip: 192.168.0.101

Roles

Nombre: taldeanodo3

ip: 192.168.0.101

Page 25: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Configuraciones iniciales

• Crear usuarios comunes:

root@ubuntu$ adduser user

xxxxxx@ubuntu$ sudo adduser user

user/eskola2016

xxxxxxx@ubuntu$ logout

Page 26: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Configuraciones iniciales

• Deshabilitar IPv6:user@ubuntu$ sudo nano /etc/sysctl.conf

• Añadir al final:net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

net.ipv6.conf.lo.disable_ipv6 = 1

• Aplicar cambios:user@ubuntu$ sudo sysctl -p

Page 27: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Configuraciones iniciales

• Identificar nodos del cluster:user@ubuntu$ sudo nano /etc/hosts

127.0.0.1 localhost

IP_nodo1 taldeanodo1

IP_nodo2 taldeanodo2

IP_nodo3 taldeanodo3

IP_nodo4 taldeanodo4

Page 28: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Configuraciones iniciales

• Dar nombre al host. Ej:

user@ubuntu$ sudo nano /etc/hostname

taldeanodo1

Page 29: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Configuraciones iniciales

• Configurar NTP (Network Time Protocol)

user@ubuntu$ sudo apt-get install ntp

user@ubuntu$ sudo nano /etc/ntp.conf

(comentar los servidores que vienen por defecto, y añadir al final:)

#cluster configuration

restrict <red_del_cluster> mask <mascara_del_cluster> nomodify notrap

server 193.146.78.15 iburst

server <ip_del_master> iburst

Page 30: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Configuraciones iniciales

• Añadir user a “sudoers”, usuario con

capacidad de ejecutar comandos de

administrador, sin necesidad de

contraseña:

user@cdhmaster:~$ sudo visudo

Añadir al final:

user ALL=(ALL:ALL) NOPASSWD: ALL

Page 31: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Configuraciones iniciales

• Añadir repositorios de Cloudera para Ubuntu

user@ubuntu $ sudo wget

'http://archive.cloudera.com/cdh5/ubuntu/trusty/amd64/cdh/cloudera

.list' -O /etc/apt/sources.list.d/cloudera.list

user@ubuntu $ wget

http://archive.cloudera.com/cdh5/ubuntu/trusty/amd64/cdh/archive.k

ey -O archive.key

user@ubuntu $ sudo apt-key add archive.key

user@ubuntu $ sudo apt-get update

user@ubuntu $ sudo nano /etc/apt/preferences.d/cloudera.pref

Package: *

Pin: release o=Cloudera, l=Cloudera

Pin-Priority: 501

Page 32: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Configuraciones iniciales

• Actualizar el servidor

user@ubuntu $ sudo apt-get upgrade

• Reiniciar las máquinas

user@ubuntu $ sudo reboot

Page 33: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Instalación de Cloudera Manager

Server

• En el Master

user@cdhmaster$ wget

http://archive.cloudera.com/cm5/installer/latest/clou

dera-manager-installer.bin

user@cdhmaster$ chmod u+x cloudera-manager-

installer.bin

user@cdhmaster$ sudo ./cloudera-manager-installer.bin

Page 34: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Instalación de Cloudera Manager

Server

• Antes de proceder, reducir el parámetro de

memoria RAM consumida por Cloudera

Manager (debido a los escasos recursos del

Curso):user@cdhmaster$ sudo nano /etc/default/cloudera-scm-

server

export CMF_JAVA_OPTS="-Xmx1g -XX:MaxPermSize=256m -

XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp"

Page 35: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Instalación de Cloudera Manager

Server

http://ip_master:7180/cmf/login

User: admin

Password: admin

Page 36: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Cloudera Manager

Page 37: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Cloudera Manager

Page 38: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Cloudera Manager

• “single user”. Este modo hace que el

sistema no necesite crear usuarios para los

distintos componentes de los que se

compone Cloudera, ya que los gestiona

desde un mismo usuario. En nuestro caso,

no seleccionaremos está opción (implica

cierto trabajo manual).

Page 39: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Cloudera Manager

Page 40: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Cloudera Manager

Page 41: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Cloudera Manager

Page 42: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Cloudera Manager

• Una vez finalizada la instalación, “tuneamos” el Master para evitar problemas de memoria:

user@cdhmaster:/etc$ sudo sysctl vm.swappiness=0

y/o

user@cdhmaster:/etc$ sudo nano /etc/sysctl.conf

al final añadir:

vm.swappiness=0

Page 43: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Añadir Servicios Gestionados

Page 44: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Roles de los Servicios

Gestionados

• Una vez instalado y desplegado, deberemos asignar los roles a los nodos.

• El ayudante de instalación evalúa las configuraciones del hardware (número de núcleos, RAM, espacio,…) para determinar los mejores nodos para cada rol.

• Por lo general, la propuesta realizada no se modificará a no ser que se vea estrictamente necesario, o se quiera separar los roles en diferentes nodos por alguna razón concreta.

Page 45: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Roles de los Servicios

Gestionados

Page 46: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Roles de los Servicios

Gestionados

Page 47: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Configuración de la Base de Datos

Page 48: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Cloudera Manager

Page 49: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Fin!

Page 50: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Cloudera Manager

• Información sobre las máquinas que puede

monitorizar Cloudera Manager (agentes de

Cloudera)

Page 51: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Cloudera Manager

• Diagnóstico, de los procesos y servicios en ejecución

• Auditorías: podemos realizar búsquedas y generar filtros para recuperar registros de auditoría o logs.

• Charts: sirve para poder crear nuestro propio panel de mandos de donde monitorizar los recursos del Cluster

• Administración: permite visualizar y “tocar” algunos parámetros relacionados con la eficiencia, seguridad, monitorización, autenticación,…

Page 52: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Añadir Hosts al Cluster

Page 53: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Añadir Hosts al Cluster

Page 54: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Fin!

Page 55: Monta una Infraestructura Big Data para tu Empresa - Sesión II

Eskerrik asko

www.mondragon.edu

Urko Zurutuza

Mondragon Unibertsitatea

[email protected]

https://es.linkedin.com/in/uzurutuz

a/

@urkovain