Evaluación de instancia de Huawei Cloud Yaoyun Server L | Implementación de Hadoop en el entorno Docker

Directorio de artículos

Prefacio

Este blog presentará 云耀云服务器L实例cómo implementar el contenedor Docker Hadoop en el servidor. Hadoop es un marco informático distribuido de código abierto para procesar conjuntos de datos a gran escala. Al utilizar Docker, podemos implementar Hadoop fácilmente en cualquier entorno sin preocuparnos por dependencias y problemas de configuración. Este blog detallará cómo instalar y configurar Hadoop en Docker. Ya sea un principiante o un desarrollador experimentado, este blog le proporcionará una Docker中部署Hadoopguía detallada sobre cómo empezar.

Este es Maynorel tercer artículo de evaluación de instancias de Huawei Cloud Yaoyun Server L creado por el portal de la serie de evaluación de Huawei Cloud:

Evaluación de instancia de Huawei Cloud Yaoyun Server L | Implementación de la base de datos ClickHouse21.1.9.41 en un entorno de un solo nodo

Evaluación de instancia de Huawei Cloud Yaoyun Server L | Implementación de hadoop2.10.1 en un entorno pseudodistribuido

Introducción a la instancia L de Yunyao Cloud Server

Es云耀云服务器L实例 una nueva generación de servidor de aplicaciones en la nube liviano, especialmente diseñado para pequeñas y medianas empresas y desarrolladores, que brinda comodidad inmediata. 云耀云服务器L实例Proporciona una imagen de aplicación rica y cuidadosamente seleccionada, que se puede implementar con un solo clic, lo que simplifica enormemente el proceso de creación de sitios web de comercio electrónico, aplicaciones web, subprogramas, entornos de aprendizaje y diversas tareas de desarrollo y prueba en la nube.

Introducción a Docker

Docker es un contenedor 开源的容器化平台que ayuda a los desarrolladores a empaquetar aplicaciones y sus dependencias en un contenedor autónomo para una implementación de aplicaciones rápida, confiable y portátil. El concepto central de Docker es un contenedor, que es una unidad de software autónoma, portátil y liviana que contiene todos los componentes necesarios para ejecutar una aplicación, como 代码、运行时环境、系统工具和系统库.

1. Entorno de configuración

Comprar la instancia L de Yunyao Cloud Server

En la página de detalles de la instancia de Yunyao Cloud Server L, haga clic en Comprar.

imagen-20230915164709448

  • Verifica configuración y confirma compra.

imagen-20230915164730739

Verifique el estado de la instancia L de Yunyao Cloud Server

Verifique el estado de la instancia Yunyao Cloud Server L comprada y se está ejecutando normalmente.

imagen-20230915165006300

restablecer la contraseña

Para restablecer la contraseña, haga clic en la opción restablecer contraseña. Se requiere verificación de identidad. Después de seleccionar la verificación del teléfono móvil, la contraseña se puede restablecer exitosamente.

imagen-20230915165053276

Verifique la dirección IP pública elástica

  • Copie la dirección IP pública elástica y úsela cuando se conecte al servidor de forma remota.

imagen-20230915165639764

Servidor de conexión FinalShell

En la herramienta FinalShell, complete la dirección IP pública elástica del servidor, la información de cuenta y contraseña, y conéctese al servidor remoto a través de ssh.

imagen-20230915165703665

2. instalación de la ventana acoplable

Configurar la fuente yum de CentOS7 Alibaba Cloud

cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.bak
wget -O CentOs-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

actualización de la fuente yum

yum clean all
yum makecache

Instale los paquetes de dependencia requeridos por Docker

yum install -y yum-utils device-mapper-persistent-data lvm2

Configurar la fuente yum de Alibaba Cloud Docker

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

Verifique la versión de Docker

yum list docker-ce --showduplicates

Instale Docker versión 18.03.0

yum install docker-ce-18.03.0.ce

Inicie el servicio Docker

systemctl enable docker
systemctl start docker
systemctl status docker

3. Crear contenedor hadoop

Preparación del entorno anfitrión

Extraer imagen

docker pull centos:7

Ingrese el directorio donde está almacenado el paquete de instalación

cd /mnt/docker_share

Sube jdk y hadoop

  • Requisito previo: instalar la herramienta de software de carga (yum install lrzsz)

rz jdk*.tar.gz;rz hadoop*.tar.gz

Descomprimir el paquete

  • Descomprímalo en el directorio opt. Más adelante asignaremos los paquetes de software en este directorio al contenedor Docker.

    tar -xvzf jdk-8u141-linux-x64.tar.gz -C /opt
    tar -xvzf hadoop-2.7.0.tar.gz -C /opt
    

Crear una carpeta para guardar datos

mkdir -p /data/dfs/nn
mkdir -p /data/dfs/dn

imagen-20230918193712822

Preparación del entorno del contenedor.

Iniciar contenedor hadoop

  • Tenga en cuenta que debe agregar --privileged=true; de ​​lo contrario, no se podrán utilizar los servicios del sistema.
docker run \
--net docker-bd0 --ip 172.33.0.121 \
-p 50070:50070 -p 8088:8088 -p 19888:19888 \
-v /mnt/docker_share:/mnt/docker_share \
-v /etc/hosts:/etc/hosts \
-v /opt/hadoop-2.7.0:/opt/hadoop-2.7.0 \
-v /opt/jdk1.8.0_141:/opt/jdk1.8.0_141 \
-v /data/dfs:/data/dfs \
--privileged=true \
-d  -it --name hadoop centos:7 \
/usr/sbin/init

NOTA: Asegúrese de que SELinux esté deshabilitado en el host

Ingrese al contenedor de hadoop

docker exec -it hadoop bash

imagen-20230918193838301

instalar vim

  • Para facilitar la edición posterior del archivo de configuración, instale un vim

    yum install -y vim

instalar ssh

  • Debido a que iniciar un clúster de Hadoop requiere un inicio de sesión sin contraseña, los contenedores Centos7 deben instalar ssh.
yum install -y openssl openssh-server
yum install -y openssh-client*
  • Modificar el archivo de configuración ssh

    vim /etc/ssh/sshd_config
    # 在文件最后添加
    PermitRootLogin yes
    RSAAuthentication yes
    PubkeyAuthentication yes
    
  • Iniciar servicio ssh

    systemctl start sshd.service
    # 设置开机自动启动ssh服务
    systemctl enable sshd.service
    # 查看服务状态
    systemctl status sshd.service
    

Configurar inicio de sesión sin contraseña

Generar clave secreta

ssh-keygen

configurar la clave

  • Establezca la contraseña del usuario root en 123456

    passwd

copiar clave pública

ssh-copy-id hadoop.bigdata.cn

Pruebe el inicio de sesión sin contraseña

ssh hadoop.bigdata.cn

Configurar JDK

vim /etc/profile
# 配置jdk的环境变量
export JAVA_HOME=/opt/jdk1.8.0_141
export CLASSPATH=${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
# 让上一步配置生效
source /etc/profile

imagen-20230918193916756

ConfigurarHadoop

  • sitio-core.xml

      <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop.bigdata.cn:9000</value>
      </property>
      <property>
        <name>hadoop.proxyuser.root.hosts</name>
        <value>*</value>
      </property>
      <property>
        <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
      </property>
      <property>
        <name>hadoop.http.staticuser.user</name>
        <value>root</value>
      </property>
    
  • hdfs-sitio.xml

      <property>
        <name>dfs.namenode.http-address</name>
        <value>hadoop.bigdata.cn:50070</value>
      </property>
      <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop.bigdata.cn:50090</value>
      </property>
      <property>
        <name>dfs.replication</name>
        <value>1</value>
      </property>
      <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///data/dfs/nn</value>
      </property>
      <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///data/dfs/dn</value>
      </property>
      <property>
        <name>dfs.permissions</name>
        <value>false</value>
      </property>
    
  • sitio-hilado.xml

      <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop-yarn</value>
      </property>
      <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
      </property>
      <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop.bigdata.cn</value>
      </property>
      <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
      </property>
      <property>
        <name>yarn.nodemanager.remote-app-log-dir</name>
        <value>/user/container/logs</value>
      </property>
    
  • sitio-mapred.xml

      <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
      </property>
      <property>
        <name>mapreduce.jobhistory.address</name>
        <value>hadoop.bigdata.cn:10020</value>
      </property>
      <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoop.bigdata.cn:19888</value>
      </property>
      <property>
        <name>mapreduce.jobhistory.intermediate-done-dir</name>
        <value>/tmp/mr-history</value>
      </property>
      <property>
        <name>mapreduce.jobhistory.done-dir</name>
        <value>/tmp/mr-done</value>
      </property>
    
  • hadoop-env.sh

    export JAVA_HOME=/opt/jdk1.8.0_141
    
  • esclavos

    hadoop.bigdata.cn
    
  • Configurar variables de entorno

    • vim/etc/perfil
    • fuente /etc/perfil
    export HADOOP_HOME=/opt/hadoop-2.7.0
    export PATH=${HADOOP_HOME}/sbin:${HADOOP_HOME}/bin:$PATH
    

4. Inicialice e inicie Hadoop

formato hdf

hdfs namenode -format

iniciar hadoop

start-all.sh 
# 启动history server
mr-jobhistory-daemon.sh start historyserver

imagen-20230918194219493

prueba hadoop

cd $HADOOP_HOME
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar pi 2 1

imagen-20230918194247221

Ver progreso

bash-4.1# jps
561 ResourceManager
659 NodeManager
2019 Jps
1559 NameNode
1752 SecondaryNameNode
249 DataNode

imagen-20230918194306053

5. Configure y abra el contenedor para iniciar Hadoop.

Crear script de inicio

  • Cree un nuevo archivo para almacenar el script de inicio

    touch /etc/bootstrap.sh
    chmod a+x /etc/bootstrap.sh
    vim /etc/bootstrap.sh
    
  • contenido del documento

    #!/bin/bash
    source /etc/profile
    cd /opt/hadoop-2.7.0
    start-dfs.sh
    start-yarn.sh
    mr-jobhistory-daemon.sh start historyserver
    

imagen-20230918194541916

Únase al servicio de inicio automático

vim /etc/rc.d/rc.local 
/etc/bootstrap.sh
# 开启执行权限
chmod 755 /etc/rc.d/rc.local

imagen-20230918194621739

Configurar la asignación de nombres de dominio para el host

  • Para facilitar el acceso futuro, configure la asignación del nombre de dominio del host en la ventana, el archivo de hosts en el directorio C:\Windows\System32\drivers\etc.

  • Agregue las siguientes asignaciones (puede agregar todas las asignaciones de nombres de dominio planificadas aquí)

    192.168.88.100 hadoop.bigdata.cn
    

6. Ver la interfaz de usuario web

  • HDFS

    • http://192.168.88.100:50070

    imagen-20230919094943687

  • HILO

    • http://192.168.88.100:8088

    imagen-20230919095004408

  • Servidor de historial de trabajos

    • http://192.168.88.100:19888

imagen-20230919095048474

Resumir

Este blog presenta 云耀云服务器L实例los pasos para implementar Hadoop usando Docker. Al comprar una instancia L de servidor en la nube y configurar el entorno, podemos instalar y configurar Docker y crear fácilmente Hadoop容器. Dentro del contenedor podemos cargar y descomprimir los paquetes requeridos y crear carpetas para guardar los datos. Finalmente, podemos verificar la instalación y configuración de Hadoop accediendo a la UI web correspondiente. Al usar Docker, podemos evitar problemas de dependencia y configuración e 任何环境implementar fácilmente Hadoop en formato .

Supongo que te gusta

Origin blog.csdn.net/xianyu120/article/details/133017067
Recomendado
Clasificación