2. Tutorial del tutorial de Hadoop sobre la creación de un clúster de entorno distribuido (detallado)

2. Tutorial del tutorial de Hadoop sobre la creación de un clúster de entorno distribuido (detallado)

Prefacio

Este artículo solo presenta la instalación e implementación de la versión 2.x de Apache Hadoop, y los artículos posteriores presentarán la estructura de Hadoop 2.x, el principio de funcionamiento cooperativo de varios módulos y los detalles técnicos. La instalación no es el propósito, pero comprender Hadoop a través de la instalación es el propósito.

1. Entorno de implementación

El método parcial es utilizar varios hosts Linux para implementar Hadoop y planificar clústeres de máquinas Linux para que los módulos Hadoop se implementen en diferentes máquinas múltiples.
A continuación, se demostrará la implementación distribuida de un clúster Hadoop (que incluye 1 nodo maestro y 2 nodos esclavos).

(1) Preparación

Prepare tres servidores Linux :
192.168.2.110 (nodo maestro)
192.168.2.111 (nodo esclavo)
192.168.2.112 (nodo esclavo)
Cierre el firewall.
Instale JDK y configure las variables de entorno.
De forma predeterminada, ha instalado JDK y ha configurado las variables de entorno. Instale y configure aquí. No lo repitas.

//192.168.2.110上配置如下:
/usr/local/jdk/jdk1.8.0_192/bin/java

//192.168.2.111上配置如下:
/usr/local/server/jdk1.8.0_171/bin/java

//192.168.2.112上配置如下:
/usr/local/server/jdk1.8.0_171/bin/java

¿Quiere saber si la configuración es correcta? Ver variables globales:

echo $JAVA_HOME

(1) Tres servidores configuran el tiempo de sincronización:

yum install ntpdate
ntpdate cn.pool.ntp.org

(2) Tres nombres de host de configuración de servidor:

vim /etc/sysconfig/network
//192.168.2.110上network配置如下:
NETWORKING=yes
HOSTNAME=node-1

//192.168.2.111上network配置如下:
NETWORKING=yes
HOSTNAME=node-2

//192.168.2.112上network配置如下:
NETWORKING=yes
HOSTNAME=node-3

(2) Tres servidores establecen la asignación de nombres de host y ip:

vim /etc/hosts
//192.168.2.110上hosts配置如下:
192.168.2.110 node-1

//192.168.2.111上hosts配置如下:
192.168.2.111 node-2

//192.168.2.112上hosts配置如下:
192.168.2.112 node-3

(3) El servidor del nodo principal está configurado con inicio de sesión sin contraseña SSH (configurado en 192.168.2.110)
Hay muchas formas de configurar el inicio de sesión sin contraseña SSH en Hadoop en Internet, lo cual es deslumbrante. Todos los caminos conducen a Roma, y ​​el blogger ha compilado el método de configuración más simple:

ssh-keygen -t rsa              # 会有提示,都按回车就可以
//cat id_rsa.pub >> authorized_keys  # 加入授权(非必须执行)
//chmod 600 ./authorized_keys    # 修改文件权限(非必须执行)
ssh-copy-id node-1
ssh -o StrictHostKeyChecking=no node-1
ssh-copy-id node-2
ssh -o StrictHostKeyChecking=no node-2
ssh-copy-id node-3
ssh -o StrictHostKeyChecking=no node-3

ssh-copy-id : el comando puede completar la clave pública generada actualmente en el archivo autorizado_keys en una máquina remota.
ssh -o StrictHostKeyChecking = no : Cuando se conecte al servidor por primera vez, aparecerá un mensaje para confirmar la clave pública. Esto provocará la interrupción de determinadas tareas automatizadas debido a la conexión inicial con el servidor. O porque se vació el contenido del archivo ~ / .ssh / known_hosts, se interrumpió la tarea de automatización. El comando de configuración StrictHostKeyChecking del cliente SSH puede aceptar automáticamente la nueva clave pública cuando se conecta al servidor por primera vez.

Si se informa un error: No se puede establecer la autenticidad del host 'nodo-2 (10.0.0.8)'. No entre en pánico, ejecute el siguiente comando nuevamente:

ssh -o StrictHostKeyChecking=no node-2

Si se informa un error: Los permisos 0644 para '/ root / .ssh / id_rsa' están demasiado abiertos. Que no cunda el pánico, significa que los permisos otorgados por /root/.ssh/id_rsa son demasiado abiertos, ejecute los siguientes comandos para habilitar:

chmod 0600 /root/.ssh/id_rsa

(2) Trabajo de configuración

Transfiera hadoop-2.8.5 al directorio / home / neijiang / (se puede personalizar). Las siguientes configuraciones se realizan en el servidor del nodo maestro. Una vez completada la configuración, copie el hadoop-2.8.5 del nodo maestro a todos los nodos esclavos. Pero:
(Nota especial: debido a que las variables de entorno de hadoop no están configuradas en el directorio hadoop-2.8.5, todas deben configurarse manualmente en el nodo esclavo)
(1) Configurar hadoop-env.sh

vim hadoop-env.sh
//192.168.2.110上hadoop-env.sh配置如下:
/usr/local/jdk1.8.0_171

(2) Modifique el archivo de configuración core-site.xml

//192.168.2.110上core-site.xml配置如下:
<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/neijiang/hadoop-2.8.5/hadoopData</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://node-1:9000</value>
    </property>
</configuration>

(3) Modifique el archivo de configuración hdfs-site.xml:

//192.168.2.110上hdfs-site.xml配置如下:
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>node-2:50090</value>
    </property>
</configuration>

(4) Modifique el archivo de configuración mapred-site.xml.template:

mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
//192.168.2.110上mapred-site.xml.template配置如下:
<configuration>
<!--指定mr运行时框架,这里指定在yarn上,默认是local-->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

(5) yarn-site.xml

//192.168.2.110上yarn-site.xml配置如下:
<!--指定yarn的老大(resourceManager)的地址-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>node-1</value>
    </property>
<!--NodeManager上运行的附属服务,需配置成mapreduce_shuffle,才可运行MapReduce程序的默认值-->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

(6) El archivo de esclavos, en el que se escribe el nombre de host del nodo esclavo.

vim slaves
//192.168.2.110上slaves配置如下:
//删除原先的localhsot,写入如下内容:
node-1
node-2
node-3

(7) Agregue hadoop a las variables de entorno

vim /etc/profile
//192.168.2.110上配置如下:
export HADOOP_HOME=/home/neijiang/hadoop-2.8.5/  #指向hadoop解压路径
export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export PATH=$HBASE_HOME/bin:$ZK_HOME/bin:$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

(8) Copie el directorio raíz hadoop-2.10.0 configurado en el nodo maestro 192.168.2.110 a todos los nodos esclavos:

scp -r /home/neijiang/hadoop-2.8.5/ root@node-2:/home/neijiang/
scp -r /home/neijiang/hadoop-2.8.5/ root@node-3:/home/neijiang/

(9) Configure manualmente las variables de entorno de hadoop configuradas en el nodo maestro 192.168.2.110 para todos los nodos esclavos:

export HADOOP_HOME=/home/neijiang/hadoop-2.8.5  #指向hadoop解压路径
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

(3) Empiece a trabajar

(1) Con respecto al formateo de hdfs: el formateo es
necesario para el primer inicio. La esencia del formateo es inicializar el sistema de archivos y crear algunos archivos que necesita;
después de formatear, el clúster se inicia correctamente y no es necesario formatear posteriormente .
La operación de formateo debe realizarse en la máquina donde se encuentra el nodo maestro (Namenode) del clúster hdfs .
Comando de formateo: hadoop namenode -format
(2) Modo de inicio
/home/neijiang/hadoop-2.8.5/sbin

  hdfs启动:  start-dfs.sh
  yarn启动:  start-yarn.sh
  //等同于:start-all.sh
  hdfs关闭:  stop-dfs.sh
  yarn关闭:  stop-yarn.sh
  //等同于:stop-all.sh

Puede usar el comando jps en cada servidor de nodo para ver las cosas que comenzaron.
Si se siente útil, por favor, "Me gusta", "Seguir" y "Favorito".

Supongo que te gusta

Origin blog.csdn.net/xgb2018/article/details/109329168
Recomendado
Clasificación