La Red de Conocimientos Pedagógicos - Conocimientos primarios - Big Data: Introducción a Hadoop

Big Data: Introducción a Hadoop

Qué es big data:

(1.) Big data se refiere a una colección de datos cuyo contenido no puede ser capturado, administrado y procesado por software convencional dentro de un cierto período de tiempo. En pocas palabras, la cantidad de datos es demasiado grande para procesarla con herramientas tradicionales, como bases de datos relacionales y almacenes de datos. ¿Cuál es el orden de magnitud de "grande" aquí? Por ejemplo, Alibaba procesa 20 PB (20971520 GB) de datos todos los días.

2. Características del big data:

(1.) Enorme. Según la tendencia de desarrollo actual, el volumen de big data ha alcanzado el nivel PB o incluso el nivel EB.

(2) Big data tiene varios tipos de datos, principalmente datos no estructurados, como revistas en línea, audio, video, imágenes, información de ubicación geográfica, datos de transacciones, datos sociales, etc.

(3) Baja densidad de valor. Los datos valiosos sólo representan una pequeña parte del total de datos. Por ejemplo, en un vídeo sólo son valiosos unos segundos de información.

(4) Rápida generación y procesamiento de requisitos. Esta es la característica más importante del campo de big data y de la minería de datos tradicional.

3. Además, existen otros sistemas de procesamiento que pueden manejar big data.

Hadoop (código abierto)

Spark (código abierto)

Storm (código abierto)

MongoDB (código abierto)

IBM PureDate (Edición comercial)

Oracle Database Machine (Comercial)

SAP Hana (Comercial)

Teradata AsterData (Comercial)

EMC GreenPlum (Business)

HP Vertica (Business)

Nota: Aquí solo se presenta Hadoop.

Dos: arquitectura Hadoop

Código fuente de Hadoop:

Hadoop se originó a partir de GFS (Google File System) y MapReduce publicados por Google en 2003 y 2004. y tres artículos sobre BigTable, fundada por Doug Cutting. Hadoop es ahora un proyecto de alto nivel de la Fundación Apache. "

Hadoop es un nombre inventado. El hijo de Doug Kadin recibió el nombre de su elefante de juguete amarillo.

El núcleo de Hadoop:

( 1.) HDFS y MapReduce son los dos núcleos de Hadoop. HDFS proporciona soporte subyacente para el almacenamiento distribuido, logrando así lectura y escritura paralelas de alta velocidad y expansión de almacenamiento de gran capacidad.

(MapReduce admite tareas distribuidas. Garantiza una alta capacidad). Acelerar el procesamiento de particiones de datos.

3. Subproyectos de Hadoop:

(1.) HDFS: sistema de archivos distribuido, la piedra angular de todo el sistema Hadoop. p >(2) MapReduce/Yarn: modelo de programación paralela. YARN es el marco MapReduce de segunda generación. A partir de la versión 0.23.01 de Hadoop, MapReduce se reconstruye y a menudo se llama MapReduce V2, y el antiguo MapReduce también se llama MapReduce V1. /p>

(3.)Hive: un almacén de datos construido sobre Hadoop, que proporciona un método de consulta similar a voz SQL para consultar datos en Hadoop.

(5.)h base:Hadoop. El nombre completo de la base de datos es la base de datos distribuida y orientada a columnas de Hadoop, que proviene del artículo de Google sobre BigTable. Se utiliza principalmente para acceso aleatorio y lectura y escritura en tiempo real de big data

(6. ) ZooKeeper: es para aplicaciones distribuidas. El servicio de coordinación diseñado proporciona principalmente a los usuarios servicios de sincronización, gestión de configuración, agrupación y nombres para aliviar las tareas de coordinación de las aplicaciones distribuidas.

Hay muchos otros proyectos que lo harán. No se explicará aquí.

p>

En tercer lugar, instale el entorno operativo Hadoop.

Creación de usuarios:

(1.) Cree un grupo de usuarios de Hadoop e ingrese el comando:

groupadd hadoop

(2) Cree un hduser e ingrese el comando:

useradd–p usuario de Hadoop HD

(3) Establezca la contraseña de hduser e ingrese el comando:

Contraseña hduser

Ingrese su contraseña dos veces cuando se le solicite.

(4) Agregue permisos a hduser e ingrese el comando:

#Modificar permisos

chmod 777 /etc/sudoers

# Editar sudoers

Gedit /etc/sudoers

#Restaurar permisos predeterminados

chmod 440 /etc/sudoers

Primero modifique el archivo sudoers permisos, busque la línea "root ALL=(ALL)" en la ventana de edición de texto, luego actualice y agregue la línea "hduser ALL=(ALL) ALL", y agregue hduser a sudoers. Recuerde restaurar los permisos predeterminados después de agregarlos; de lo contrario, no se permitirá el comando sudo.

(5) Una vez completada la configuración, reinicie la máquina virtual e ingrese el comando:

Sudo restart

Después de reiniciar, cambie al inicio de sesión de hduser.

Instalar JDK

(1.) Descargue jdk-7u67-linux-x64.rpm e ingrese al directorio de descarga.

(2) Ejecute el comando de instalación:

sudo rpm–IVH JDK-7u 67-Linux-x64 rpm

Una vez completado, verifique la ruta de instalación. e ingrese Comando:

rpm–QA JDK–l

Recuerde esta ruta,

(3) Configure las variables de entorno e ingrese el comando:

Sudo gedit /etc/profile

Abra el archivo de perfil y agregue el siguiente contenido en la parte inferior del archivo

Exportar JAVA_HOME=/usr/java/jdk.7.0. 67

Exportar ruta de clase=$ JAVA_HOME/lib:$ CLASSPATH

Exportar ruta=$ JAVA_HOME/bin:$PATH

Después de guardar, cierre el archivo, y luego ingrese el comando para que la variable de entorno surta efecto:

Archivo fuente/etc/configuración

(4) Verifique JDK e ingrese el comando:

Java–versión

Si aparece la versión correcta, la instalación es exitosa.

Configure el inicio de sesión sin contraseña para SSH local:

(1.) Utilice ssh-keygen para generar archivos de clave privada y pública e ingrese el comando:

ssh -keygen–t RSA

(2) La clave privada permanece en la máquina local y la clave pública se envía a otros hosts (actualmente localhost). Ingrese el comando:

ssh-copy-id localhost

(3) Utilice la clave pública para iniciar sesión e ingrese el comando:

ssh localhost

Configurar el inicio de sesión secreto SSH para otros hosts.

(1.) Clonar dos veces. Seleccione la máquina virtual en la columna izquierda de VMware, haga clic derecho y seleccione el comando Administrar-Clonar en el menú contextual emergente. Seleccione "Crear clon completo" cuando escriba el clon, haga clic en "Siguiente" y presione el botón hasta que se complete.

(2) Inicie e ingrese tres máquinas virtuales respectivamente y use ifconfig para consultar la dirección IP del host.

(3) Modifique el nombre de host y el archivo de host de cada host.

Paso 1: Modificar el nombre del host e ingresar el comando en cada host.

sudo gedit/etc/sys config/network

Paso 2: Modificar el archivo host:

sudo gedit /etc/hosts

Paso 3: Modificar las IP de las tres máquinas virtuales.

La IP de la primera máquina virtual correspondiente al nodo1 es 192.168.1.130.

La IP de la segunda máquina virtual del nodo2 es 192.168.5438+0.11.

La IP de la máquina virtual del tercer nodo3 es 192.168.438+0.438+032.

(4) Debido a que el par de claves se generó en el nodo1, todo lo que necesita hacer ahora es ingresar el comando en el nodo1:

ssh-copy-id nodo2

ssh-copy-id nodo 3

De esta manera, la clave pública del nodo1 se puede publicar en el nodo2 y el nodo3.

(5) Pruebe SSH, ingrese el comando en el nodo1:

ssh nodo2

#Logout

Salir

nodo ssh 3

Salir

Cuatro: instalación totalmente distribuida de Hadoop

1 Hadoop tiene tres modos de funcionamiento:

(1. .) Modo autónomo: Hadoop se considera un proceso Java independiente y se ejecuta en modo no distribuido sin configuración.

(2) Pseudodistribuido: un clúster con un solo nodo, es decir, un maestro (nodo maestro, servidor maestro) y un esclavo (nodo esclavo, servidor esclavo). Se pueden utilizar diferentes procesos de Java en este nodo para simular varios nodos en el sistema distribuido.

(3) Totalmente distribuido: para Hadoop, diferentes sistemas tendrán diferentes métodos de división de nodos.

Instalar Hadoop

(1.) Obtenga el paquete comprimido de Hadoop hadoop-2.6.0.tar.gz. Después de descargarlo, puede usar VMWare Tools para compartir la carpeta o usar. la herramienta Xftp para enviarlo al nodo1. Ingrese nodo1 para descomprimir el paquete comprimido en el directorio /home/hduser e ingrese el comando: # para ingresar al directorio de inicio, es decir, "/HOME/hduser".

cd ~

tar–zxvf hadoop-2.6.0.tar.gz

(2) Cambiar el nombre del comando de entrada de hadoop:

mv hadoop-2.6.0 hadoop

(3) Configure las variables de entorno de Hadoop e ingrese el comando:

Sudo gedit /etc/profile

Agregue el siguiente script Al archivo de configuración:

#hadoop

Exportar HADOOP _ HOME =/HOME/HD user/HADOOP

Exportar ruta=$HADOOP_HOME/bin:$PATH

Guarde y cierre, y finalmente ingrese el comando para que la configuración surta efecto.

Archivo fuente/etc/configuración

Nota: el nodo2 y el nodo3 deben configurarse de acuerdo con la configuración anterior.

Configuración de Hadoop

(1.) El archivo hadoop-env.sh se utiliza para especificar la ruta JDK. Ingrese el comando:

[hduser @ node 1 ~]$ CD ~/Hadoop/etc/Hadoop

[hduser @ node 1 Hadoop]$ gedit Hadoop-env

Luego agregue lo siguiente para especificar la ruta jDK.

Exportar JAVA _ HOME =/usr/JAVA/JDK 1 7 0 _ 67

(2) Abra la ruta JDK especificada e ingrese el comando:

<. p >Exportar JAVA _ HOME =/usr/JAVA/JDK 1 7 0 _ 67

(4.)core-site.xml: este archivo es la configuración global de Hadoop.

Ábralo y agregue propiedades de configuración en el elemento de la siguiente manera:

fs. defaultfshdfs://node 1:9000 Hadoop tmp. Propiedades de configuración, fs.defaultFS representa el prefijo de ruta predeterminado cuando el cliente se conecta a HDFS y 9000 es el puerto de trabajo de HDFS. Si no se especifica Hadoop.tmp.dir, se guardará en el directorio de archivos temporales predeterminado del sistema /tmp. (5.) hdfs-site.xml: este archivo es la configuración de hdfs. Abra y agregue propiedades de configuración al elemento. (6) Mapred-site.xml: este archivo es la configuración de MapReduce. Puede copiarse y abrirse desde el archivo de plantilla mapred-site.xml.template y agregarse al elemento. (7.)yarn-site.xml: si el marco de hilo está configurado en mapred-site.xml, entonces el marco de YARN utilizará la configuración en este archivo, lo abrirá y agregará el atributo de configuración al elemento. (8) Copie estos siete comandos al nodo 2 y al nodo 3. Ingrese el siguiente comando: scp–r /home/hduser/Hadoop/etc/Hadoop/hduser@node 2:/home/hduser/Hadoop/etc/scp–r/home/hduser/Hadoop/etc/Hadoop/hduser@node 3 :/home/hduser/Hadoop/etc/4. Verificación: verifiquemos que hadoop sea correcto (1.) y formatee el NameNode (nodo 1) en el host maestro. Ingrese el comando: [hduser @ node1 ~]$ CD ~/Hadoop[hduser @ node 1 Hadoop]$ bin/hdfsnamenode–format (2) Cierre el nodo 1, nodo2, nodo3, el firewall del sistema y reinicie la máquina virtual. Ingrese el comando: service iptables detiene chkconfig iptables off reboot (3.) Ingrese lo siguiente para iniciar HDFS: [hduser @ node 1 ~]$ CD ~/Hadoop (4.) Inicie todo [hduser@node1 hadoop]. $ sbin/start-all.sh(5.) Verifique el estado del clúster: [Usuario HD @ nodo 1 Hadoop]$ bin/hdfsdfsadmin–report(6.) Verifique el estado de ejecución de hdfs en el navegador http://node1: 50070 (7.) Parar. Ingrese el comando: [hduser @ node 1 Hadoop] $ sbin/stop-all sh V: Operaciones de shell relacionadas con Hadoop (1.) Cree el directorio file1.txt, file2.txt /home/hduser/file en el sistema operativo. Puede crear file2.txt usando la interfaz gráfica. Entrada File1.txt: Hola mundo, hola HADOOPFile2.txt entrada Hola mundo, hola CHIAN (2.) Cree un directorio después de iniciar hdfs/Input2 [hduser@node 1 Hadoop]$ bin/Hadoop FS–mkdir/input 2 (3.) El archivo 1.txt.file2.txt se guarda en hdfs: [hduser@node 1 Hadoop]$ bin/Hadoop FS–put-/file/file *. txt/Input2/(4.)[hduser@node1.