Catálogo de trabajos de expertos en tecnología Hadoop
Prólogo Parte 1 Preparación del entorno Capítulo 1 Preparación del entorno del código fuente/2 1.1 Qué es Hadoop/2 1.1.1 Una breve historia de Hadoop/2 1.1.2 Ventajas de Hadoop/3 1.1.3 Ecosistema de Hadoop/ 4 1.2 Preparar el entorno de lectura del código fuente/8 1.2.1 Instalar y configurar JDK/8 1.2.2 Instalar Eclipse/9 1.2.3 Instalar la herramienta auxiliar Ant/12 1.2.4 Instalar el entorno UNIX Shell Cygwin/13 1.3 Preparar el Código fuente de Hadoop / 15 1.3.1 Descargar Hadoop / 15 1.3.2 Crear proyecto Eclipse / 16 1.3.3 Organización del código fuente de Hadoop / 18 1.4 Resumen / 19 Parte 2 Implementación común Capítulo 2 Procesamiento de información de configuración de Hadoop / 22 2.1 Introducción a los archivos de configuración / 22 2.1.1 Archivo de configuración del sistema operativo Windows/22 2.1.2 Archivo de configuración de Java/23 2.2 Explicación detallada de la configuración de Hadoop/24 2.2.1 Formato del archivo de configuración de Hadoop/24 2.2.2 Variables miembro de Configuración/26 2.2. 3 Carga de recursos / 27 2.2.4 Utilice get* y set* para acceder/establecer elementos de configuración/32 2.3 Interfaz configurable/34 2.4 Resumen/35 Capítulo 3 Serialización y compresión/36 3.1 Serialización/36 3.1.1 Serialización integrada de Java mecanismo / 36 3.1.2 Mecanismo de serialización de Hadoop / 38 3.1.3 Características del mecanismo de serialización de Hadoop / 39 3.1.4 Mecanismo de escritura de Hadoop / 39 3.1.5 Explicación detallada de las clases de escritura típicas / 41 3.1.6 Marco de serialización de Hadoop / 48 3.2 Compresión / 49 3.2.1 Introducción a la compresión Hadoop / 50 3.2.2 Ejemplos de aplicación API de compresión Hadoop / 51 3.2.3 Marco de compresión Hadoop / 52 3.2.4 Métodos nativos de Java / 61 3.2.5 Compatibilidad con compresión Snappy / 65 3.3 Resumen / 69 Capítulo Capítulo 4 Llamada a procedimiento remoto de Hadoop / 70 4.1 Conocimientos básicos de la llamada a procedimiento remoto / 70 4.1.1 Principio de RPC / 70 4.1.2 Implementación del mecanismo RPC / 72 4.1.3 Llamada a método remoto de Java / 73 4.2 Proxy dinámico de Java / 78 4.2. 1 Crear una interfaz proxy / 78 4.2.2 Desvío de llamadas / 80 4.2.3 Instancia de proxy dinámico / 81 4.3 Java NIO / 84 4.3.1 Socket básico de Java / 84 4.3.2 Conceptos básicos de Java NIO / 86 4.3.3 Instancia de Java NIO: Servidor Echo / 93 4.4 Llamada a procedimiento remoto en Hadoop / 96 4.4.1 Usar Hadoop IPC para construir un sistema distribuido simple / 96 4.4.2 Estructura del código Hadoop IPC / 100 4.5 Procesos relacionados con la conexión Hadoop IPC / 104 4.5.1 Variables miembro de conexión IPC /104 4.5.2 Establecer conexión IPC/106 4.5.3 Enmarcar, leer y escribir datos/111 4.5.4 Mantener conexión IPC/114 4.5.5
Cerrar conexión IPC/116 4.6 Proceso relacionado con la llamada al método IPC de Hadoop/118 4.6.1 Interfaz Java y cuerpo de la interfaz/119 4.6.2 Variable miembro de llamada al método IPC/121 4.6.3 Proceso de llamada al método del cliente/123 4.6.4 Llamada al método del lado del servidor Process/126 4.7 Otros procesos auxiliares en Hadoop IPC/135 4.7.1 RPC.getProxy() y RPC.stopProxy()/136 4.7.2 RPC.getServer() e inicio y detención del servidor/138 4.8 Resumen/ 141 Capítulo del capítulo 5 Sistema de archivos Hadoop / 142 5.1 Sistema de archivos / 142 5.1.1 Interfaz de usuario del sistema de archivos / 142 5.1.2 Implementación del sistema de archivos / 145 5.1.3 Control de protección del sistema de archivos / 147 5.2 Sistema de archivos Linux / 150 5.2.1 Sistema de archivos local Linux / 150 5.2.2 Sistema de archivos virtual/ 153 5.2.3 Mecanismo de protección de archivos de Linux/ 154 5.2.4 API del sistema de archivos de Linux/ 155 5.3 Sistema de archivos distribuido/ 159 5.3.1 Características del sistema de archivos distribuido/ 159 5.3.2 Arquitectura NFS básica / 160 5.3.3 Operaciones de archivos soportadas por NFS / 160 5.4 Sistema de archivos Java / 162 5.4.1 API del sistema de archivos Java / 162 5.4.2 URI y URL / 164 5.4.3 Flujos de entrada/salida de Java / 166 5.4.4 Acceso aleatorio Archivos/ 169 5.5 Sistema de archivos abstractos de Hadoop/ 170 5.5.1 API del sistema de archivos Hadoop/ 170 5.5.2 Flujos de entrada/salida de Hadoop/ 175 5.5.3 Permisos en el sistema de archivos Hadoop/ 179 5.5. 180 5.5.5 Procesadores de protocolo en sistemas de archivos Hadoop / 184 5.6 Sistemas de archivos específicos de Hadoop / 188 5.6.1 Jerarquía del sistema de archivos / 189 5.6.2 Implementación de RawLocalFileSystem / 191 5.6.3 Implementación de ChecksumFileSystem / 196 5.6.4 Implementación de RawInMemoryFileSystem / 210 5.7 Resumen / 213 Parte 3 Sistema de archivos distribuido Hadoop Capítulo 6 Descripción general de HDFS / 216 6.1 Primera introducción a HDFS / 216 6.1.1 Características principales de HDFS / 216 6.1.2 Estructura del sistema HDFS / 217 6.1.3 Estructura del código fuente HDFS / 221 6.2 Interfaz basada en llamadas a procedimientos remotos/ 223 6.2.1 Interfaz relacionada con el cliente/ 224 6.2.2 Interfaz entre servidores HDFS/ 236 6.3 Interfaz de llamadas a procedimientos no remotos/ 244 6.3.1 Interfaz no IPC en el nodo de datos/245 6.3. 2 Interfaz no IPC en el nodo de nombre y el segundo nodo de nombre/252 6.4 Proceso HDFS principal/254 6.4.1 Operaciones de archivos y directorios desde el cliente al nodo de nombre/ 254 6.4.2 El cliente lee archivos/256 6.4.3 Cliente escribe archivos/257 6.4.4 Inicio y latido del nodo de datos/258 6.4.5 Metadatos de fusión del segundo nombre del nodo/259 6.5 Resumen/ 261
Capítulo 7 Implementación del nodo de datos / 263 7.1 Almacenamiento en bloque de datos / 263 7.1.1 Estructura de archivos del directorio de disco del nodo de datos / 263 7.1.2 Implementación del almacenamiento del nodo de datos / 266 7.1.3 Actualización del nodo de datos / 269 7.1.4 Sistema de archivos de datos mecanismo de trabajo del conjunto / 276 7.2 Implementación de la interfaz de streaming / 285 7.2.1 DataXceiverServer y DataXceiver / 286 7.2.2 Lectura de datos / 289 7.2.3 Escritura de datos / 298 7.2.4 Reemplazo de bloque de datos, copia de bloque de datos y bloque de datos lectura de información de verificación / 313 7.3 Nodo de datos en su conjunto / 314 7.3.1 Interacción entre el nodo de datos y el nodo de nombre / 314 7.3.2 Escáner de bloque de datos / 319 7.3.3 Inicio y parada del nodo de datos / 321 7.4 Resumen / 326 Capítulo 8 Implementación del nodo de nombre/327 8.1 Árbol de directorios del sistema de archivos/327 8.1.1 De i-nodo a INodo/ 327 8.1.2 Reflejo del espacio de nombres y registro de edición/333 8.1.3 Segundo nombre de nodo/351 8.1.4 Implementación de FSDirectory / 361 8.2 Gestión de bloques de datos y nodos de datos / 365 8.2.1 Estructura de datos / 366 8.2.2 Gestión de nodos de datos / 378 8.2.3 Gestión de bloques de datos / 392 8.3 Implementación de la interfaz remota ClientProtocol / 412 8.3.1 Transacciones relacionadas con archivos y directorios / 412 8.3.2 Métodos para leer datos/415 8.3.3 Métodos para escribir datos/419 8.3.4 Métodos de los que depende la herramienta dfsadmin/443 8.4 Iniciar y detener el nodo de nombre/444 8.4.1 Modo seguro/ 444 8.4. Inicio del nodo de nombre / 449 8.4.3 Detención del nodo de nombre / 454 8.5 Resumen / 454 Capítulo 9 Cliente HDFS / 455 9.1 Comprensión de DFSClient / 455 9.1.1 Construcción y cierre de DFSClient / 455 9.1.2 Archivos y directorios, Gestión del sistema asuntos relacionados/457 9.1.3 Proceso de eliminación de archivos/directorios HDFS/459 9.2 Flujo de entrada/ 461 9.2.1 Preparación antes de leer datos: abrir el archivo/463 9.2.2 Leer datos/465 9.2.3 Cerrar el flujo de entrada/ 475 9.2.4 El proceso de lectura de datos de archivos HDFS/ 475 9.3 Flujo de salida/ 478 9.3.1 Preparación antes de escribir datos: Creación de archivos/ 481 9.3.2 Escritura de datos: Establecimiento de canal de flujo de datos/ 482 9.3.3 Escritura de datos: Envío de paquetes de datos / 486 9.3.4 Escritura de datos: manejo de errores de canalización de flujo de datos / 493 9.3.5 Escritura de datos: actualización de concesión / 496 9.3.6 Escritura de datos: la función de DFSOutputStream.sync() / 497 9.3.7 Cerrar el flujo de salida / 499 9.3.8 El proceso de escritura de datos en archivos HDFS / 500 9.4 Implementación de DistributedFileSystem / 506 9.5 Herramientas HDFS comunes / 508 9.5.1 FsShell / 508 9.5.2 DFSAdmin / 510 9.6 Resumen / 511