Notas de estudio de Linux centos7 Hadoop


La configuración de hadoop se cambia en 3 lugares: cambie el nombre del host, cambie la IP, cambie el MAC
y cambie el nombre del host:

hostnamectl set-hostname hadoop1


Instale el comando nano:

yum install nano


Configuración de la puerta de enlace:

Pedido:

nano  /etc/sysconfig/network-scripts/ifcfg-ens33 #ens33网卡名,需要修改BOOTPROTO,IPADDR,添加NETMASK,DNS1

Contenido modificado:

BOOTPROTO=static #静态
IPADDR=IP地址 #ip地址
NETMASK=255.255.255.0 #子网掩码
DNS1=192.168.91.2 #dns解析,设置为和网关一样


Ver la configuración de la puerta de enlace: cat /etc/sysconfig/network-scripts/ifcfg-ens33
Guardar: Ctrl+O-->Enter

Salir: Ctrl+X
3. Cambie la dirección MAC: sed -i '/UUID=/c\UUID='`uuidgen`'' /etc/sysconfig/network-scripts/ifcfg-ens33
Actualice el kernel de la máquina virtual: yum - y actualizar
yum -y actualizar

Inicio de sesión sin contraseña:
clave de configuración: ssh-keygen -t rsa
Introduzca: cd /root/.ssh #(. indica archivos ocultos)
Ver todo: ll -a

Inicio de sesión sin clave: ssh root@hadoop2

Configure la asignación de ip y nombre de host: después de la configuración, puede conectarse por nombre de host, como ssh root@hadoop
Ver un archivo: cat /etc/hosts
Edite el archivo usando la herramienta nano: nano /etc/hosts
Agregue lo siguiente:
 

192.168.91.129 hadoop1
192.168.91.130 hadoop2
192.168.91.131 hadoop3

Instale la herramienta de sincronización de tiempo:

yum install chrony -y #-y全自动安装
查看文件:rpm -qa | grep chrony
启动服务:systemctl start chronyd
查看服务:systemctl status chronyd
开机启动服务:systemctl enable chronyd --now

Configuración del cortafuegos:
 

查看状态:systemctl status firewalld
关闭防火墙:systemctl stop firewalld
禁止防火墙开机启动:systemctl disable firewalld

Configure la sincronización de tiempo:
edite la sincronización de tiempo: nano /etc/chrony.conf
Comente server0,1,2,3,
agregue el servidor de sincronización de tiempo: servidor Hadoop1 iburst #Los otros dos inician uno sincrónicamente

Reiniciar chronyd: systemctl restart chronyd
Ver estado de sincronización de tiempo: chronyc fuentes -v

configurar jdk

Configure las variables de entorno: /etc/profile Use el comando nano /etc/profile

export JAVA_HOME=~/export/servers/jdk1.8.0_202
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

Ejecute el comando "source /etc/profile" para inicializar las variables de entorno del sistema para que la configuración surta efecto.
#copiar variables de entorno

scp /etc/profile root@hadoop2:/etc

#otra copia jdk

scp -r export/servers/ root@hadoop2:export/ #-r表示递归,可以拷贝多层文件夹,把servers拷贝到export下


#Hacer que la variable de entorno surta efecto

source /etc/profile

Configurar cuidador del zoológico

Copie zookeeper a /exportar/servidores/

Ingrese al directorio conf bajo el directorio de instalación de ZooKeeper
Copie el archivo de plantilla zoo_sample.cfg al archivo de configuración zoo.cfg
cp zoo_sample.cfg zoo.cfg edite el contenido de
zoo.cfg
vi zoo.cfg dataDir=/export/data/zookeeper /zkdata #Recuerde Para crear esta carpeta /export/data/zookeeper/zkdata server.1=spark1.2888:3888 server.2=spark2.2888:3888 server.3=spark3.2888:3888 pwd muestra la ruta actual en el directorio zkdata de hadoop1 Ejecute echo 1 > myid en el directorio zkdata de hadoop2 Ejecute echo 2 > myid en el directorio zkdata de hadoop3 Ejecute echo 3 > myid








Configure la variable de entorno zookeeper
export ZK_HOME=/export/se

rvers/zookeeper-3.4.10#Tenga en cuenta la
exportación de la versión de zookeeper PATH=$PATH:$ZK_HOME/bin

Luego copie zookeeper y perfil a 2,3 hosts


zkServer.sh status#Ver el estado de
zk zkServer.sh start#Iniciar zk
ps#Ver el proceso
jps#Ver el proceso relacionado con java

Instalar Hadoop:

Copie el paquete hadoop en /export/software/

Use el comando para extraer a /exportar/servidores/

tar -zxvf /export/software/hadoop-2.7.4.tar.gz -C /export/servers/

configurar el comando sh

Ingrese al directorio /etc/hadoop/ del paquete de instalación de Hadoop. Los siguientes comandos son todas las operaciones en este directorio. Edite el archivo hadoop-env.sh

vi hadoop-env.sh#可以用nano命令

Cambie el parámetro JAVA_HOME predeterminado en el archivo a la ruta donde el JDK está instalado localmente.

export JAVA_HOME=/export/servers/jdk1.8.0

Ingrese al directorio /etc/hadoop/ del paquete de instalación de Hadoop y edite el archivo yarn-env.sh

vi yarn-env.sh

Cambie el parámetro JAVA_HOME predeterminado en el archivo a la ruta donde el JDK está instalado localmente, igual que en el paso anterior

Comando para editar el archivo de configuración central de Hadoop core-site.xml

vi core-site.xml

Modificar la siguiente dirección

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://master</value><!--master集群名字-->
</property>
<property>
    <name>hadoop.tmp.dir</name>
    <value>/export/servers/hadoop-2.7.4/tmp</value><!--tmp临时文件目录,不存在需要手动创建-->
</property>
<property>
    <name>ha.zookeeper.quorum</name>
    <value>spark01:2181,spark02:2181,spark03:2181</value>
</property>

Comando para editar el archivo de configuración central hdfs-site.xml de HDFS

vi hdfs-site.xml

Las modificaciones son las siguientes:

<property>
    <name>dfs.replication</name>
    <value>3</value><!--集群数-->
</property>
<property>
    <name>dfs.namenode.name.dir</name>
    <value>/export/data/hadoop/namenode</value><!--没有路径需要手动创建-->
</property>
<property>    
    <name>dfs.datanode.data.dir</name>    
    <value>/export/data/hadoop/datanode</value><!--没有路径需要手动创建-->    
</property>
<!---->
<property>
    <name>dfs.nameservices</name>
    <value>master</value>
</property>
<property>
    <name>dfs.ha.namenodes.master</name>
    <value>nn1,nn2</value>
</property>
<property>
    <name>dfs.namenode.rpc-address.master.nn1</name>
    <value>spark01:9000</value>
</property>
<!---->
<property>
    <name>dfs.namenode.rpc-address.master.nn2</name>
    <value>spark02:9000</value>
</property>
<property>
    <name>dfs.namenode.http-address.master.nn1</name>
    <value>spark01:50070</value>
</property>
<property>
    <name>dfs.namenode.http-address.master.nn2</name>
    <value>spark02:50070</value>
</property>
<!---->
<property>
  <name>dfs.namenode.shared.edits.dir</name>
  <value>qjournal://spark01:8485;spark02:8485;spark03:8485/master</value>
</property>
<property>
    <name>dfs.journalnode.edits.dir</name>
    <value>/export/data/hadoop/journaldata</value>
</property>
<property>
  <name>dfs.client.failover.proxy.provider.master</name>
  <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<!---->
<property>
    <name>dfs.ha.fencing.methods</name>
    <value>
        sshfence
        shell(/bin/true)
    </value>
</property>
<property>
    <name>dfs.ha.fencing.ssh.private-key-files</name>
    <value>/root/.ssh/id_rsa</value>
</property>
<property>
    <name>dfs.ha.automatic-failover.enabled</name>
    <value>true</value>
</property>
<!---->
<property>
	<name>dfs.ha.fencing.ssh.connect-timeout</name>
	<value>30000</value><!--超时-->
</property>
<property> 
	<name>dfs.webhdfs.enabled</name> 
	<value>true</value> 
</property>

Ingrese al directorio /etc/hadoop/ del paquete de instalación de Hadoop, ejecute el comando y cree
el archivo de configuración central mapred-site.xml de MapReduce copiando el archivo de plantilla

cp mapred-site.xml.template mapred-site.xml

Ejecute el comando para editar el archivo de configuración mapred-site.xml y especifique el marco de tiempo de ejecución de MapReduce.

vi mapred-site.xml

enmendar como sigue:

<property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value><!--资源调度器-->
</property>

Ejecute el comando para editar el archivo de configuración principal de YARN yarn-site.xml

cp yarn-site.xml

enmendar como sigue:

<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<property>
    <name>yarn.resourcemanager.ha.enabled</name>
    <value>true</value>
</property>
<property>
    <name>yarn.resourcemanager.cluster-id</name>
    <value>yarncluster</value>
</property>
<!---->
<property>
    <name>yarn.resourcemanager.ha.rm-ids</name>
    <value>rm1,rm2</value>
</property>
<property>
    <name>yarn.resourcemanager.hostname.rm1</name>
    <value>spark01</value>
</property>
<property>
    <name>yarn.resourcemanager.hostname.rm2</name>
    <value>spark02</value>
</property>
<!---->
<property>
    <name>yarn.resourcemanager.zk-address</name>
    <value>spark01:2181,spark02:2181,spark03:2181</value>
</property>
<property>
    <name>yarn.resourcemanager.recovery.enabled</name>
    <value>true</value>
</property>
<property>
      <name>yarn.resourcemanager.ha.automatic-failover.enabled</name>
      <value>true</value>
</property>
<!---->
<property>
    <name>yarn.resourcemanager.store.class</name>
    <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
</property>
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
  </property>
<!---->

Modificar el archivo de esclavos

Ejecute el comando para editar los archivos esclavos que registran los nombres de host de todos los nodos DataNode y NodeManager en el clúster de Hadoop.

vi slaves

El contenido es el siguiente:

spark01
spark02
spark03

Configurar variables de entorno de Hadoop

Ejecute el comando para editar el perfil del archivo de la variable de entorno del sistema y configurar las variables de entorno del sistema Hadoop.

vi /etc/profile

Agrega el siguiente contenido:

export HADOOP_HOME=/export/servers/hadoop-2.7.4
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

Ejecute el comando para inicializar las variables de entorno del sistema para que la configuración surta efecto

source /etc/profile

El directorio de instalación de Hadoop y los archivos de variables de entorno del sistema se distribuyen a otras 2 máquinas virtuales 

#将Hadoop安装目录分发到虚拟机Spark02和Spark03
$ scp -r /export/servers/hadoop-2.7.4/ root@spark02:/export/servers/
$ scp -r /export/servers/hadoop-2.7.4/ root@spark03:/export/servers/
#将系统环境变量文件分发到虚拟机Spark02和Spark03
$ scp /etc/profile root@spark02:/etc/
$ scp /etc/profile root@spark03:/etc/

Ejecute el comando para ver la versión de Hadoop del entorno del sistema actual 

hadoop version

Inicie el servicio Hadoop, un total de 5 pasos

1. Inicie ZooKeeper
y ejecútelo en las máquinas virtuales Spark01, Spark02 y Spark03 respectivamente

zkServer.sh start

El comando inicia el servicio ZooKeeper para cada máquina virtual.

2. Iniciar JournalNode Ejecute los siguientes comandos
en las máquinas virtuales Spark01, Spark02 y Spark03 para iniciar el servicio JournalNode de cada máquina virtual.

hadoop-daemon.sh start journalnode

Tenga en cuenta que el comando solo se ejecuta en el primer arranque:

Inicialice NameNode (solo para el inicio inicial)
Ejecute el comando "hdfs namenode -format" en la máquina virtual Spark01 del nodo maestro del clúster de Hadoop para inicializar la operación de NameNode.

Inicialice ZooKeeper (solo para el inicio inicial)
En la máquina virtual Spark01 del nodo maestro de NameNode, ejecute el comando "hdfs zkfc -formatZK" para inicializar el estado HA en ZooKeeper.

Sincronización de NameNode (solo para la ejecución de inicio inicial)
Después de que el nodo maestro de NameNode en la máquina virtual Spark01 ejecuta el comando de inicialización, el contenido del directorio de metadatos debe copiarse a otros nodos en espera de NameNode sin formato (máquina virtual Spark02) para garantizar que el maestro nodo y los datos de NameNode del nodo en espera son consistentes

scp -r /export/data/hadoop/namenode/ root@spark02:/export/data/hadoop/

3. Inicie HDFS
En la máquina virtual Spark01 , ejecute el comando de secuencia de comandos de inicio con un solo clic para iniciar el HDFS del clúster de Hadoop. En este momento, NameNode y ZKFC en las máquinas virtuales Spark01 y Spark02 y DataNodes en las máquinas virtuales Spark01 , se iniciarán Spark02 y Spark03, el siguiente comando:

start-dfs.sh

4. Inicie YARN Inicie YARN del clúster de Hadoop ejecutando el comando de secuencia de comandos de inicio con un solo clic
en la máquina virtual Spark01 , de la siguiente manera:

start-yarn.sh

En este punto, se iniciarán ResourceManager en la máquina virtual Spark01 y NodeManagers en las máquinas virtuales Spark01, Spark02 y Spark03.

5. Inicie el Administrador de recursos

El nodo en espera de ResourceManager en la máquina virtual Spark02 debe iniciarse por separado en la máquina virtual Spark02. Ejecute el siguiente comando:

yarn-daemon.sh start resourcemanager

jps: comando para verificar si los procesos relacionados con el clúster de alta disponibilidad de Hadoop se iniciaron correctamente

Inicio de nodo completo zk

zkServer.sh start

El nodo maestro inicia dfs

start-dfs.sh

 El nodo maestro inicia hilo

start-yarn.sh

Se inicia el nodo secundario 1

yarn-daemon.sh start resourcemanager 

Cierre de servicio completo

stop-all.sh

Inicio de servicio completo

start-all.sh

Ver datos

#浏览器查看
ip:50070
ip:8088

Acceda por nombre de host, abra el siguiente archivo

C:\Windows\System32\drivers\etc\hosts

Agregue la siguiente configuración

192.168.8.134 hadoop1
192.168.8.135 hadoop2
192.168.8.136 hadoop3

Operaciones en HDFS:

Eliminar carpeta:

hadoop fs -rm -r /文件夹名称

Crea la carpeta:

hadoop fs -mkdir /文件夹名称

Consulta el catálogo:

hadoop fs -ls /

Modificar permisos Permisos de operación HDFS:

hadoop fs  -chmod  777 /input

Para salir del modo seguro manualmente:

//若配置环境变量,使用以下命令
hadoop dfsadmin -safemode leave

Manejo de excepciones:

Aparece de la siguiente manera:

Error al recuperar datos de /webhdfs/v1/data/clickLog/2022_04_24?op=LISTSTATUS:

cambiar navegador google

Supongo que te gusta

Origin blog.csdn.net/baidu_39105563/article/details/123905936
Recomendado
Clasificación