Marco Hadoop: construcción de un entorno distribuido en modo clúster

Código fuente de este artículo: GitHub · haga clic aquí || GitEE · haga clic aquí

1. Configuración del entorno básico

1. Tres conjuntos de servicios

Prepare tres servicios Centos7 y el entorno básico se clona del entorno pseudodistribuido.

133 hop01,134 hop02,136 hop03

2. Establecer el nombre de host

## 设置名称
hostnamectl set-hostname hop01
## 重启
reboot -f

3, comunicación del nombre principal

vim /etc/hosts
# 添加服务节点
192.168.37.133 hop01
192.168.37.134 hop02
192.168.37.136 hop03

4. Inicio de sesión sin contraseña SSH

Configure el inicio de sesión sin contraseña SSH de tres servicios.

[root@hop01 ~]# ssh-keygen -t rsa
...一路回车结束
[root@hop01 ~]# cd .ssh
...权限分配到指定集群服务
[root@hop01 .ssh]# ssh-copy-id hop01
[root@hop01 .ssh]# ssh-copy-id hop02
[root@hop01 .ssh]# ssh-copy-id hop03
...在hop01免密登录到hop02
[root@hop01 ~]# ssh hop02

Para el servicio hop01, esta operación debe realizarse en los servicios hop02 y hop03.

5. Sincronizar la hora

instalación del componente ntp

# 安装
yum install ntpdate ntp -y
# 查看
rpm -qa|grep ntp

Comandos de gestión básicos

# 查看状态
service ntpd status
# 启动
service ntpd start
# 开机启动
chkconfig ntpd on

Modificar la hora del servicio hop01

# 修改ntp配置
vim /etc/ntp.conf
# 添加内容
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
server 127.0.0.1
fudge 127.0.0.1 stratum 10

Modifique el mecanismo de tiempo de hop02 \ hop03, sincronice el tiempo de hop01 y cierre la sesión del mecanismo de adquisición de red.

server 192.168.37.133
# server 0.centos.pool.ntp.org iburst
# server 1.centos.pool.ntp.org iburst
# server 2.centos.pool.ntp.org iburst
# server 3.centos.pool.ntp.org iburst

Escribe tareas cronometradas

[root@hop02 ~]# crontab -e
*/10 * * * * /usr/sbin/ntpdate hop01

Modificar el tiempo de servicio hop02 y hop03

# 指定时间
date -s "2018-05-20 13:14:55"
# 查看时间
date

De esta forma, la hora se corregirá o sincronizará continuamente en función de la hora del servicio hop01.

6. Limpieza ambiental

Clone tres servicios Centos7 de la máquina virtual en el entorno pseudodistribuido y elimine las carpetas de registro y datos de la configuración original del entorno hadoop.

[root@hop02 hadoop2.7]# rm -rf data/ logs/

Dos, construcción de entornos de clúster

1. Descripción general de la configuración del clúster

Lista de servicios Archivos HDFS Programación de YARN Servicio único
hop01 DataNode NodeManager NameNode
hop02 DataNode NodeManager Administrador de recursos
hop03 DataNode NodeManager SecondaryNameNode

2. Modificar la configuración

vim core-site.xml

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://hop01:9000</value>
</property>

Los tres servicios aquí deben especificar el nombre de host actual, respectivamente.

vim hdfs-site.xml

<property>
    <name>dfs.replication</name>
    <value>3</value>
</property>

<property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>hop03:50090</value>
</property>

Aquí, modifique el número de réplicas a 3 y especifique el servicio SecondaryNameNode, y los tres servicios también modifican el SecondaryNameNode especificado en el servicio hop03.

vim yarn-site.xml

<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hop02</value>
</property>

Especifique el servicio ResourceManager en hop02.

vim mapred-site.xml

<!-- 服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hop01:10020</value>
</property>

<!-- 服务器web端地址 -->
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hop01:19888</value>
</property>

Especifique el terminal web relevante para ver la dirección en el servicio hop01.

3. Configuración del servicio de clúster

Ruta: /opt/hadoop2.7/etc/hadoop

Archivo: vim slaves

hop01
hop02
hop03

Configure aquí la lista de clústeres de tres servicios. Modifique sincrónicamente la misma configuración de otros servicios.

4. Formatee el NameNode

Tenga en cuenta que NameNode está configurado en el servicio hop01.

[root@hop01 hadoop2.7]# bin/hdfs namenode -format

5. Inicie HDFS

[root@hop01 hadoop2.7]# sbin/start-dfs.sh
Starting namenodes on [hop01]
hop01: starting namenode
hop03: starting datanode
hop02: starting datanode
hop01: starting datanode
Starting secondary namenodes [hop03]
hop03: starting secondarynamenode

Preste atención a la información impresa aquí, que es completamente consistente con la configuración. Los nodos de nombre se inician en hop01 y los nodos de nombre secundarios se inician en hop03. Puede ver y verificar cada servicio mediante el comando JPS.

6. Inicie YARN

Tenga en cuenta que Yarn está configurado en el servicio hop02, así que ejecute el comando de inicio en el servicio hop02.

[root@hop02 hadoop2.7]# sbin/start-yarn.sh
starting yarn daemons
starting resourcemanager
hop03: starting nodemanager
hop01: starting nodemanager
hop02: starting nodemanager,

Preste atención al registro de impresión de inicio aquí, hasta ahora se han iniciado los servicios planificados para el clúster.

[root@hop01 hadoop2.7]# jps
4306 NodeManager
4043 DataNode
3949 NameNode
[root@hop02 hadoop2.7]# jps
3733 ResourceManager
3829 NodeManager
3613 DataNode
[root@hop03 hadoop2.7]# jps
3748 DataNode
3928 NodeManager
3803 SecondaryNameNode

Verifique el proceso del clúster en cada servicio, que sea consistente con la configuración planificada.

7. Interfaz web

NameNode:http://hop01:50070
SecondaryNameNode:http://hop03:50090

3. Dirección de código fuente

GitHub·地址
https://github.com/cicadasmile/big-data-parent
GitEE·地址
https://gitee.com/cicadasmile/big-data-parent

Lectura recomendada: sistema de programación de acabado

Número de serie nombre del proyecto Dirección de GitHub Dirección GitEE Recomendado
01 Java describe patrones de diseño, algoritmos y estructuras de datos GitHub · haga clic aquí GitEE · Haga clic aquí ☆☆☆☆☆
02 Fundamentos Java, concurrencia, orientado a objetos, desarrollo web GitHub · haga clic aquí GitEE · Haga clic aquí ☆☆☆☆
03 Explicación detallada del caso del componente básico del microservicio SpringCloud GitHub · haga clic aquí GitEE · Haga clic aquí ☆☆☆
04 Caso completo de combate real de arquitectura de microservicio SpringCloud GitHub · haga clic aquí GitEE · Haga clic aquí ☆☆☆☆☆
05 Comenzando con la aplicación básica de SpringBoot framework a avanzada GitHub · haga clic aquí GitEE · Haga clic aquí ☆☆☆☆
06 SpringBoot framework integra y desarrolla middleware común GitHub · haga clic aquí GitEE · Haga clic aquí ☆☆☆☆☆
07 Caso básico de gestión de datos, distribución, diseño de arquitectura GitHub · haga clic aquí GitEE · Haga clic aquí ☆☆☆☆☆
08 Grandes series de datos, almacenamiento, componentes, informática y otros marcos GitHub · haga clic aquí GitEE · Haga clic aquí ☆☆☆☆☆

Supongo que te gusta

Origin blog.csdn.net/cicada_smile/article/details/108824066
Recomendado
Clasificación