Directorio de artículos
-
- Prefacio
- 1. Entorno de configuración
- 2. instalación de la ventana acoplable
- 3. Crear contenedor hadoop
-
- Preparación del entorno anfitrión
- Extraer imagen
- Ingrese el directorio donde está almacenado el paquete de instalación
- Sube jdk y hadoop
- Descomprimir el paquete
- Crear una carpeta para guardar datos
- Preparación del entorno del contenedor.
- Iniciar contenedor hadoop
- Ingrese al contenedor de hadoop
- instalar vim
- instalar ssh
- Configurar inicio de sesión sin contraseña
- Generar clave secreta
- configurar la clave
- copiar clave pública
- Pruebe el inicio de sesión sin contraseña
- Configurar JDK
- ConfigurarHadoop
- 4. Inicialice e inicie Hadoop
- 5. Configure y abra el contenedor para iniciar Hadoop.
- 6. Ver la interfaz de usuario web
- Resumir
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中部署Hadoop
guía detallada sobre cómo empezar.
Este es Maynor
el 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:
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.
- Verifica configuración y confirma compra.
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.
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.
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.
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.
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
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
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
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
prueba hadoop
cd $HADOOP_HOME
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar pi 2 1
Ver progreso
bash-4.1# jps
561 ResourceManager
659 NodeManager
2019 Jps
1559 NameNode
1752 SecondaryNameNode
249 DataNode
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
Únase al servicio de inicio automático
vim /etc/rc.d/rc.local
/etc/bootstrap.sh
# 开启执行权限
chmod 755 /etc/rc.d/rc.local
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
-
HILO
- http://192.168.88.100:8088
-
Servidor de historial de trabajos
- http://192.168.88.100:19888
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 .