Red de conocimiento informático - Conocimiento informático - Cómo implementar el sistema de archivos distribuido hadoop

Cómo implementar el sistema de archivos distribuido hadoop

I. Entorno real

Versión del sistema: CentOS 5.8x86_64

Versión de JAVA: JDK-1.7.0_25

Versión de Hadoop: hadoop-2.2.0

192.168.149.128namenode (actúa como namenode, namenode secundario y ResourceManager)

192.168.149.129datanode1 (actúa como datanode, nodemanager)

192.168.149.130 datanode2 (actúa como Nodo de datos, función de administrador de nodos)

2. Preparación del sistema

1. Hadoop Puede descargar la última versión de Hadoop2.2 directamente desde el sitio web oficial de Apache. Actualmente, la versión oficial proporciona archivos ejecutables para sistemas Linux de 32 bits, por lo que si necesita implementarlo en un sistema de 64 bits, debe descargar un archivo src por separado. Si necesita implementar en un sistema de 64 bits, debe descargar el código fuente src por separado y compilarlo usted mismo. (Si se trata de un entorno en línea real, descargue la versión de 64 bits de hadoop, que puede evitar muchos problemas. Aquí estoy experimentando con la versión de 32 bits)

1234 Hadoop

Java

p>

2. Utilizamos tres servidores CnetOS para construir un clúster Hadoop aquí, y sus funciones respectivas son las mencionadas anteriormente.

Paso uno: Necesitamos configurar los nombres de host correspondientes en /etc/hosts de los tres servidores, como se muestra a continuación (en el entorno real, puede usar la resolución DNS de la intranet)

[ root@node1 hadoop]# cat /etc/hosts

# No elimine las siguientes líneas, de lo contrario varios programas que requieren funciones de red

# no podrán ejecutarse.

127.0.0.1localhost.localdomain localhost

192.168.149.128node1

192.168.149.129node2

192.168.149.130node3

(Nota* Necesitamos configurar la resolución del host en los tres servidores (namenode, datanode))

Paso 2: inicie sesión en cada servidor de datanode desde el namenode sin contraseña, debe configurar lo siguiente:

Ejecute ssh-key-gen en namenode 128 y presione Enter hasta el final.

Luego copie la clave pública /root/.ssh/id_rsa.pub al servidor de datanode de la siguiente manera:

ssh-copy-id -i .ssh/id_rsa.pub root @ 192.168.149.129

ssh-copy-id -i .ssh/id_rsa.pub root@192.168.149.130

3. Instalación y configuración de Java

En instalación Java en el servidor de nodo de datos: instalación y configuración de Java

tar -xvzf jdk-7u25-linux-x64.tar.gz &&mkdir -p /usr/java/ ; / para completar.

Una vez completada la instalación y configuradas las variables de entorno de Java, agregue el siguiente código al final de /etc/profile:

export JAVA_HOME=/usr/java/jdk1. 7.0_25/

p>

exportar PATH=$JAVA_HOME/bin:$PATH

exportar CLASSPATH=$JAVE_HOME/lib/dt.jar:$JAVE_HOME/lib/tools.jar: . /

Guarde y salga, luego ejecute el archivo fuente /etc/profile para que sea efectivo. La ejecución de java -version en la línea de comando indica que JAVA se instaló correctamente, como se muestra a continuación.

[root@node1 ~]# java -version

versión de java "1.7.0_25"

Entorno de ejecución Java(TM) SE (compilación 1.7.0_25 -b15)

Máquina virtual de servidor Java HotSpot(TM) de 64 bits (compilación 23.25-b01, modo mixto)

(Nota* Necesitamos ejecutar en tres servidores: namenode y datanode Instale la versión Java JDK)

4. Instalación de la versión Hadoop

La versión hadoop2.2.0 descargada oficialmente se puede usar descomprimiéndola directamente sin compilar ni instalar, como se muestra a continuación. :

El primer paso para descomprimir:

tar -xzvf hadoop-2.2.0.tar.gz &&mv hadoop-2.2.0/data/hadoop/

(Nota) *Primero, simplemente instale la versión de hadoop en el servidor de namenode. No es necesario instalar el nodo de datos primero. El nodo de datos modificado se instalará de manera uniforme)

El segundo paso es configurar las variables:

Al final de /etc/profile Continúe agregando el siguiente código y ejecute el código fuente /etc/profile para que surta efecto.

exportar HADOOP_HOME=/data/hadoop/

exportar PATH=$PATH:$HADOOP_HOME/bin/

exportar JAVA_LIBRARY_PATH=/data/hadoop/lib/ nativo/

(Nota* Necesitamos configurar variables relacionadas con Hadoop en los tres servidores, namenode y datanode)

V. Configurar Hadoop

( 1) Configure las variables de Hadoop para configurar Hadoop

Para configurar en el namenode, necesitamos modificar las siguientes ubicaciones:

1. Modificar vi /data/ hadoop/etc/hadoop/core-site El contenido de .xml es el siguiente:

>p>

-->

fs.default.name

< valor>hdfs://192.168.149.128:9000

hadoop.tmp. dir

/tmp/ hadoop-${user.name}

Una base para otros directorios temporales.

2. Modifique el contenido de vi /data/hadoop/etc/hadoop/mapred-site. xml Como sigue:

-->

mapred.job.tracker

< Valor>192.168.149.128:9001

3. Modificar vi /data/hadoop/etc. El contenido de /hadoop/hdfs-site.xml es el siguiente:

< propiedad>

dfs.replication

2

4. En la lista de archivos del archivo /data/hadoop/etc/hadoop/hadoop-env.sh, agregue los siguientes archivos al final del archivo adjunto. Variable JAV_HOME:

echo "exportar JAVA_HOME=/usr/java/jdk1.7.0_25/">> /data/hadoop/etc/hadoop /hadoop-env.sh

5 Modificar vi /data/hadoop El contenido del archivo /etc/hadoop/masters es el siguiente:

192.168.149.128

6. hadoop/etc/hadoop/slaves de la siguiente manera:

192.168.149.129

192.168.149.130

Como se configuró anteriormente, el significado específico de la configuración anterior No se explicará demasiado aquí. Si no comprende nada durante la configuración, puede consultar los documentos oficiales relevantes.

Dado que el nodo de nombre está básicamente construido, debemos implementar el nodo de datos. el nodo de datos es relativamente simple

1 fori en `seq 129130`; En este caso, básicamente todo el clúster está completo. El siguiente paso es iniciar el clúster de hadoop.