Tabla de contenido
Descripción básica del entorno
Instalación del entorno básico de JDK
Establecer variables de entorno
Actualizar la configuración del entorno
Instalación del entorno Hadoop
Descarga y descomprime Hadoop 3.2.2
Establecer variables de entorno
Actualizar la configuración del entorno
Ajustes del archivo de configuración del núcleo de Hadoop
Configuración del núcleo de Hadoop hdfs start-dfs.sh y stop-dfs.sh
Configuración del núcleo de hilo de Hadoop start-yarn.sh y stop-yarn.sh
Configuración de inicio de sesión sin contraseña SSH
Configuración completa del entorno
Descripción básica del entorno
Entorno del sistema: centos8
Nombre de host: www.boonya.cn
vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 www.boonya.cn boonya.cn
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
Instalación del entorno básico de JDK
Descarga y descomprime jdk8
cd /usr/local
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"
tar -zxvf jdk-8u141-linux-x64.tar.gz
mv jdk1.8.0_141 jdk
Establecer variables de entorno
##Java home
export JAVA_HOME=/usr/local/jdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
Actualizar la configuración del entorno
source /etc/profile
Instalación del entorno Hadoop
Este artículo toma la instalación de la pseudodistribución de Hadoop como ejemplo
Descarga y descomprime Hadoop 3.2.2
cd /usr/local
wget https://mirrors.bfsu.edu.cn/apache/hadoop/common/hadoop-3.2.2/hadoop-3.2.2.tar.gz
tar -zxvf hadoop-3.2.2.tar.gz
Establecer variables de entorno
#hadoop home
export HADOOP_HOME=/usr/local/hadoop-3.2.2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
Actualizar la configuración del entorno
source /etc/profile
Establecer Hadoop JAVA_HOME
#hadoop-env.sh
vi hadoop-env.sh
export JAVA_HOME=/usr/local/jdk
Ajustes del archivo de configuración del núcleo de Hadoop
#core-site.xml
<!-- 制定HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://www.boonya.cn:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop-3.2.2/tmp</value>
</property>
#hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
# mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
#yarn-site.xml
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>www.boonya.cn</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
Configuración del núcleo de Hadoop hdfs start-dfs.sh y stop-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
Configuración del núcleo de hilo de Hadoop start-yarn.sh y stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HDFS_DATANODE_SECURE_USER=yarn
YARN_NODEMANAGER_USER=root
Configuración de inicio de sesión sin contraseña SSH
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
Iniciar Hadoop
vista de proceso jps
Hdfs y acceso a clústeres
El puerto de la dirección de acceso de Hadoop 3.0 dfs es 9870 (50070 para la versión anterior):
Nota: aquí debe abrir el firewall para agregar el puerto hdfs de respuesta 9870; de lo contrario, no se puede acceder al exterior, debe cerrar el firewall después de la configuración (8088 es el puerto de administración del clúster).
Las siguientes son las razones por las que no se puede acceder al 8088 desde el exterior:
Apaga Hadoop
Instalación del entorno Spark
Spark depende de Scala, por lo que primero debe instalar Scala.
instalación de scala
Versiones de Scala: https://www.scala-lang.org/download/all.html
Tome 2.12.13 como ejemplo:
cd /usr/local
wget https://downloads.lightbend.com/scala/2.12.13/scala-2.12.13.tgz
tar -zxvf scala-2.12.13.tgz
Establecer variables de entorno
##scala home
export SCALA_HOME=/usr/local/scala-2.12.13
export PATH=.:$SCALA_HOME/bin:$PATH
Actualizar la configuración del entorno
source /etc/profile
instalación de chispa
Cada versión de Spark: https://archive.apache.org/dist/spark/
Descarga y descomprime Spark
wget https://archive.apache.org/dist/spark/spark-3.0.0/spark-3.0.0-bin-hadoop3.2.tgz
tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz
Establecer variables de entorno
#spark home
export SPARK_HOME=/usr/local/spark-3.0.0-bin-hadoop3.2
export PATH=$PATH:$SPARK_HOME/bin
Establecer el modo de inicio
$ mv spark-defaults.conf.template spark-defaults.conf
$ mv slaves.template slaves
$ mv spark-env.sh.template spark-env.sh
#修改spark-defaults.conf启用yarn模式
spark.master yarn
Establecer spark JAVA_HOME, modificar spark-config.sh
export JAVA_HOME=/usr/local/jdk
Iniciar ejecución: sbin / start-all.sh
[root@www sbin]# start-all.sh
starting org.apache.spark.deploy.master.Master, logging to /usr/local/spark-3.0.0-bin-hadoop3.2/logs/spark-root-org.apache.spark.deploy.master.Master-1-www.boonya.cn.out
localhost: starting org.apache.spark.deploy.worker.Worker, logging to /usr/local/spark-3.0.0-bin-hadoop3.2/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-www.boonya.cn.out
[root@www sbin]# tail -f -n 200 /usr/local/spark-3.0.0-bin-hadoop3.2/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-www.boonya.cn.out
Spark Command: /usr/local/jdk/bin/java -cp /usr/local/spark-3.0.0-bin-hadoop3.2/conf/:/usr/local/spark-3.0.0-bin-hadoop3.2/jars/* -Xmx1g org.apache.spark.deploy.worker.Worker --webui-port 8081 spark://localhost:7077
========================================
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
21/02/17 14:04:18 INFO Worker: Started daemon with process name: [email protected]
21/02/17 14:04:18 INFO SignalUtils: Registered signal handler for TERM
21/02/17 14:04:18 INFO SignalUtils: Registered signal handler for HUP
21/02/17 14:04:18 INFO SignalUtils: Registered signal handler for INT
21/02/17 14:04:18 WARN Utils: Your hostname, www.boonya.cn resolves to a loopback address: 127.0.0.1; using 192.168.0.120 instead (on interface enp0s3)
21/02/17 14:04:18 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address
21/02/17 14:04:20 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
21/02/17 14:04:20 INFO SecurityManager: Changing view acls to: root
21/02/17 14:04:20 INFO SecurityManager: Changing modify acls to: root
21/02/17 14:04:20 INFO SecurityManager: Changing view acls groups to:
21/02/17 14:04:20 INFO SecurityManager: Changing modify acls groups to:
21/02/17 14:04:20 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(root); groups with view permissions: Set(); users with modify permissions: Set(root); groups with modify permissions: Set()
21/02/17 14:04:22 INFO Utils: Successfully started service 'sparkWorker' on port 45731.
21/02/17 14:04:23 INFO Worker: Starting Spark worker 192.168.0.120:45731 with 1 cores, 1024.0 MiB RAM
21/02/17 14:04:23 INFO Worker: Running Spark version 3.0.0
21/02/17 14:04:23 INFO Worker: Spark home: /usr/local/spark-3.0.0-bin-hadoop3.2
21/02/17 14:04:23 INFO ResourceUtils: ==============================================================
21/02/17 14:04:23 INFO ResourceUtils: Resources for spark.worker:
21/02/17 14:04:23 INFO ResourceUtils: ==============================================================
21/02/17 14:04:23 INFO Utils: Successfully started service 'WorkerUI' on port 8081.
21/02/17 14:04:23 INFO WorkerWebUI: Bound WorkerWebUI to 0.0.0.0, and started at http://192.168.0.120:8081
21/02/17 14:04:23 INFO Worker: Connecting to master localhost:7077...
21/02/17 14:04:24 INFO TransportClientFactory: Successfully created connection to localhost/127.0.0.1:7077 after 194 ms (0 ms spent in bootstraps)
21/02/17 14:04:24 INFO Worker: Successfully registered with master spark://localhost:7077
Dirección de la interfaz de administración de Spark UI: http://192.168.0.120:8081 (se ha proporcionado en el registro anterior)
Programa de muestra de Spark
Proyecto Github Spark: https://github.com/open-micro-services/springcloud/tree/master/demo-projects/sb-spark
Lo anterior es el registro de finalización del programa de muestra. Si hay un problema con el inicio, ajuste la configuración de los parámetros.
Integrar el servicio de puerto Spark UI 4040:
Configuración completa del entorno
##Java home
export JAVA_HOME=/usr/local/jdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
#hadoop home
export HADOOP_HOME=/usr/local/hadoop-3.2.2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
##scala home
export SCALA_HOME=/usr/local/scala-2.12.13
export PATH=.:$SCALA_HOME/bin:$PATH
#spark home
export SPARK_HOME=/usr/local/spark-3.0.0-bin-hadoop3.2
export PATH=$PATH:$SPARK_HOME/bin
Articulo de referencia:
Configuración del firewall de Centos8