1 descargar hadoop
Sitio web oficial: http://hadoop.apache.org/
2 Instalar hadoop
El documento oficial: http://hadoop.apache.org/docs/r3.1.0/hadoop-project-dist/hadoop-common/SingleCluster.html
el archivo hadoop en /app
una carpeta
cd /opt
tar -zxvf hadoop-3.1.0.tar.gz -C /app
Cambiemos al directorio de la aplicación y modifiquemos el nombre de la carpeta hadoop. (Este paso se puede hacer o no)
mv hadoop-3.1.0 hadoop3.1
2.1 Configurar el entorno de Hadoop
A continuación, comenzamos a configurar el entorno de desarrollo de Hadoop.
Construyamos un clúster de un solo nodo y configuremos una pseudodistribución ¿Por qué no distribuirlo?
De hecho, la configuración distribuida es similar a la configuración pseudo-distribuida, excepto que se incrementa el número de máquinas distribuidas, y las demás no son diferentes. Por lo tanto, es mejor construir pseudo-distribuidos como Hadoop learning, pero construiremos un entorno distribuido real más tarde.
2.1.1 Establecer inicio de sesión sin contraseña SSH
Necesitamos iniciar sesión en el host y el esclavo con frecuencia cuando se opera el clúster más tarde, por lo que es necesario configurar el inicio de sesión sin contraseña SSH.
Ingrese el siguiente código:
ssh-keygen -t rsa -P ''
Genere un par de claves sin contraseña, solicite la ruta de guardado e ingrese directamente Enter para generar un par de claves: id_rsa
y id_rsa.pub
, que se almacenan en el ~/.ssh
directorio de forma predeterminada .
Siguiente: id_rsa.pub
agréguelo a la clave autorizada.
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Luego modifique los permisos:
chmod 600 ~/.ssh/authorized_keys
Luego, debe habilitar la autenticación RSA, iniciar el método de autenticación de emparejamiento de clave privada de clave pública:
vim /etc/ssh/sshd_config
si el indicador es insuficiente, agréguelo antes del comando sudo
;
modifique la ssh
configuración:
RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile %h/.ssh/authorized_keys # 公钥文件路径
Reinicie SSH (puede reiniciar en su propia máquina virtual localmente, pero no puede reiniciar en la plataforma, y no es necesario, no podrá conectarse a la línea de comandos después de reiniciar).
service ssh restart
2.1.2 Configurar archivos Hadoop
6 archivos en total
hadoop-env.sh;
yarn-env.sh ;
core-site.xml;
hdfs-site.xml;
mapred-site.xml;
yarn-site.xml。
2.1.3 configuración de hadoop-env.sh
Los dos env.sh
archivos son principalmente JDK
la ubicación de la configuración.
Consejo: si olvidas la ubicación del JDK, ingresa echo $JAVA_HOME
, puedes ver, oh.
Primero cambiamos al hadoop
directorio
cd /app/hadoop3.1/etc/hadoop/
Editar hadoop-env.sh
Inserte el siguiente código en el archivo:
# The java implementation to use.
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/app/jdk1.8.0_171
2.1.4 configuración yarn-env.sh
Edite e yarn-env.sh
inserte el siguiente código:
export JAVA_HOME=/app/jdk1.8.0_171
2.1.5 ubicación de core-site.xml
Este es el archivo de configuración del núcleo tenemos que añadir en el archivo HDFS
son URI
y NameNode
los archivos temporales de la carpeta ubicación, se crea esta carpeta temporal a continuación. Agregue el siguiente código a
la configuration
etiqueta al final del archivo :
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
<description>HDFS的URI,文件系统://namenode标识:端口号</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/tmp</value>
<description>namenode上本地的hadoop临时文件夹</description>
</property>
</configuration>
2.1.6 configuración del archivo hdfs-site.xml
replication
Se refiere a la cantidad de réplicas, ahora somos un solo nodo, así que sí 1
.
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/usr/hadoop/hdfs/name</value>
<description>namenode上存储hdfs名字空间元数据 </description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/hadoop/hdfs/data</value>
<description>datanode上数据块的物理存储位置</description>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
2.1.7 configuración del archivo mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
2.1.8 colocación de yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>192.168.2.10:8099</value>
<description>这个地址是mr管理界面的</description>
</property>
</configuration>
2.1.9 Crear carpeta
Hemos configurado en el archivo de configuración de alguna ruta de la carpeta, y ahora tenemos que crearlos, /usr/hadoop/
utilice el directorio de hadoop
operación del usuario, la acumulación tmp
, hdfs/name
, hdfs/data
directorio, ejecute el siguiente comando:
mkdir -p /usr/hadoop/tmp
mkdir /usr/hadoop/hdfs
mkdir /usr/hadoop/hdfs/data
mkdir /usr/hadoop/hdfs/name
2.2 Agregar Hadoop a las variables de entorno
vim /etc/profile
Inserte el siguiente código al final del archivo:
export HADOOP_HOME=/app/hadoop3.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
Finalmente, haga que los cambios surtan efecto:source /etc/profile
2.3 Verificación
Ahora que el trabajo de configuración está básicamente hecho, el siguiente paso es completar:
- Formatear
HDFS
archivos, - inicio
hadoop
, - Solo verifica
Hadoop
.
2.4 Formato
Antes de usar Hadoop
, necesitamos formatear cierta hadoop
información básica.
Utilice el siguiente comando:
hadoop namenode -format
puesta en marcha
A continuación, iniciamos Hadoop:
start-dfs.sh
Ingrese el comando y debería aparecer la interfaz como se muestra en la siguiente figura:
Esto significa que el inicio no fue exitoso, porque el root
usuario aún no puede iniciarlo hadoop
, así que configurémoslo.
En la /hadoop3.1/sbin
siguiente cd /app/hadoop3.1/sbin
ruta:.
Will start-dfs.sh
, stop-dfs.sh
dos en la parte superior del archivo, agregará los siguientes parámetros
#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
Además,start-yarn.sh
, stop-yarn.sh
la parte superior también hay que añadir lo siguiente:
#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
Comience de nuevo start-dfs.sh
y finalmente ingrese el comando jps
para verificar, la siguiente interfaz representa el inicio exitoso:
Si después de usted hay una interfaz gráfica, puede abrir la entrada del navegador Firefox en la interfaz gráfica de su máquina virtual: http: // localhost: 9870 / o Windows Ingrese http: // dirección IP de la máquina virtual: 9870 / en la máquina para acceder a la página de administración de hadoop.