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í | ☆☆☆☆☆ |