sitio web oficial de hdoop: https://hadoop.apache.org/docs/r3.2.2/
1. Construcción del entorno preliminar
1.1 configuración del entorno java
Primero descomprímalo en el siguiente directorio
/usr/lib/jvm/jdk-15.0.2
Entonces vete a casacd ~
vim .bashrc
Pegue la configuración a continuación en cualquier ubicación
#java environment
export JAVA_HOME=/usr/lib/jvm/jdk-15.0.2
#export PATH=$PATH:$JAVA_HOME/bin
export PATH=${
JAVA_HOME}/bin:$PATH
# Hadoop Enviroment
export HADOOP_HOME=/usr/local/hadoop-3.2.2
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
1.2 Instalar sin contraseña
sudo apt instll ssh
ssh-keygen
Vista
ls .ssh
cat .ssh/id_rsa.pub>> .ssh/authorized_keys
Inicie sesión en otras computadoras
ssh localhost
2.configuración de Hadoop
2.1 Configuración de permisos
Hadoop extraerá al /usr/loca/
directorio
Y autorizar al superusuario a /usr/local/hadoop-3.2.2
chown -R charles /usr/local/hadoop-3.2.2
2.2 Modificar el archivo de configuración
2.2.1 hadoop-env.sh
vim /usr/local/hadoop-3.2.2/etc/hadoop/hadoop-env.sh
Alrededor de la línea 54
export JAVA_HOME=/usr/lib/jvm/jdk-15.0.2
2.2.2 Configuración del núcleo core-site.xml
No es necesario que usted mismo cree el directorio temporal, el sistema lo generará automáticamente
vim /usr/local/hadoop-3.2.2/etc/hadoop/core-site.xml
<configuration>
<!--配置hdfs默认的命名-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<!--配置临时目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop-3.2.2/tmp</value>
</property>
</configuration>
2.2.3 hdfs-site.xml
vim /usr/local/hadoop-3.2.2/etc/hadoop/hdfs-site.xml
<configuration>
<!--配置副本个数 伪分布 默认为1-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!--配置元数据的存储位置-->
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop-3.2.2/hadoop_data/hdfs/namenode</value>
</property>
<!--配置datanode数据存放位置-->
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop-3.2.2/hadoop_data/hdfs/datanode</value>
</property>
</configuration>
2.2.4 configuración de mapreduce mapred-site.xml
Asignar varias tareas a la tarea informática y luego asignarlas a cada nodo
vim /usr/local/hadoop-3.2.2/etc/hadoop/mapred-site.xml
<configuration>
<!--指定mapreduce运行框架-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<final>true</final> <!--此处是否加上待定-->
</property>
<!---->
<property>
<name>mapreduce.application.classpath</name>
<value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
</property>
</configuration>
2.2.5 ajuste del hilo yarn-site.xml
Recurso, administrador de nodos, para ver si cada nodo está disponible
vim /usr/local/hadoop-3.2.2/etc/hadoop/yarn-site.xml
<configuration>
<!--指定mapreduce的shuffle-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- -->
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>
2.3 Dar formato al nodo de nombre
A continuación, cree un sistema de archivos distribuido
hadoop namenode -format
La última eliminación es equivalente a matar el sistema de archivos distribuido (generalmente no se ejecuta aquí)
ls /usr/local/hadoop-3.2.2/hadoop_data/
rm -rf /usr/local/hadoop-3.2.2/hadoop_data/
2.4 Inicie el sistema de archivos completamente distribuido
start-dfs.sh
Verifique que el nodo tenga 4 procesos
jps
2.5 Iniciar el Explorador
Aquí se inician dos servicios
start-yarn.sh
En este momento, hay 5 servicios en segundo plano.
hadoop jar /usr/local/hadoop-3.2.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.2.jar pi 5 10