Monta una Infraestructura Big Data para tu Empresa - Sesión II
-
Upload
urko-zurutuza -
Category
Technology
-
view
504 -
download
2
Transcript of 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
Agenda
• Día 1: Introducción al Big Data
• Día 2: Instalación de un cluster
Cloudera
• Día 3: Ejercicios sobre Cloudera
Índice
1. Requisitos
2. Consideraciones de Red y de Seguridad
3. Instalación
4. Instalando Cloudera Manager
5. Cloudera Manager
Requisitos
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
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.
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
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.
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.
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.
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.
Python
• Cloudera Manager, CDH5 y HUE
funcionan sobre Python 2.6 o 2.7
Consideraciones de Red y Seguridad
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
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.
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.
Instalación
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
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.
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
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.
Tipos de Instalación de Cloudera
Manager
Hoy realizaremos un despliegue de
demostración y prueba de concepto
Instalando Cloudera Manager
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
Configuraciones iniciales
• Crear usuarios comunes:
root@ubuntu$ adduser user
xxxxxx@ubuntu$ sudo adduser user
user/eskola2016
xxxxxxx@ubuntu$ logout
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
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
Configuraciones iniciales
• Dar nombre al host. Ej:
user@ubuntu$ sudo nano /etc/hostname
taldeanodo1
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
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
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
Configuraciones iniciales
• Actualizar el servidor
user@ubuntu $ sudo apt-get upgrade
• Reiniciar las máquinas
user@ubuntu $ sudo reboot
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
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"
Instalación de Cloudera Manager
Server
http://ip_master:7180/cmf/login
User: admin
Password: admin
Cloudera Manager
Cloudera Manager
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).
Cloudera Manager
Cloudera Manager
Cloudera Manager
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
Añadir Servicios Gestionados
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.
Roles de los Servicios
Gestionados
Roles de los Servicios
Gestionados
Configuración de la Base de Datos
Cloudera Manager
Fin!
Cloudera Manager
• Información sobre las máquinas que puede
monitorizar Cloudera Manager (agentes de
Cloudera)
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,…
Añadir Hosts al Cluster
Añadir Hosts al Cluster
Fin!
Eskerrik asko
www.mondragon.edu
Urko Zurutuza
Mondragon Unibertsitatea
https://es.linkedin.com/in/uzurutuz
a/
@urkovain