Notes d'étude Linux centos7 Hadoop


La configuration hadoop est modifiée à 3 endroits : changer le nom d'hôte, changer l'IP, changer le MAC
et renommer le nom d'hôte :

hostnamectl set-hostname hadoop1


Installez la commande nano :

yum install nano


Configuration de la passerelle :

Commande:

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

Contenu modifié :

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


Afficher la configuration de la passerelle : cat /etc/sysconfig/network-scripts/ifcfg-ens33
Enregistrer : Ctrl+O-->Entrée

Quittez : Ctrl+X
3. Modifiez l'adresse MAC : sed -i '/UUID=/c\UUID='`uuidgen`'' /etc/sysconfig/network-scripts/ifcfg-ens33
Mettez à jour le noyau de la machine virtuelle : yum - y mettre à jour
miam -y mettre à jour

Connexion sans mot de passe :
configurez la clé : ssh-keygen -t rsa
Entrez : cd /root/.ssh #(. indique les fichiers cachés)
Afficher tout : ll -a

Connexion sans clé : ssh root@hadoop2

Configurez le mappage d'adresse IP et de nom d'hôte : après la configuration, vous pouvez vous connecter par nom d'hôte, tel que ssh root@hadoop
Afficher un fichier : cat /etc/hosts
Modifier le fichier à l'aide de l'outil nano : nano /etc/hosts
Ajoutez ce qui suit :
 

192.168.91.129 hadoop1
192.168.91.130 hadoop2
192.168.91.131 hadoop3

Installez l'outil de synchronisation de l'heure :

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

Configuration du pare-feu :
 

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

Configurez la synchronisation de l'heure :
modifiez la synchronisation de l'heure : nano /etc/chrony.conf
Commentez server0,1,2,3,
ajoutez le serveur de synchronisation de l'heure : server Hadoop1 iburst #Les deux autres en démarrent un de manière synchrone

Redémarrer chronyd : systemctl restart chronyd
Afficher l'état de la synchronisation de l'heure : chronyc sources -v

configurer jdk

Configurez les variables d'environnement : /etc/profile Utilisez la commande 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

Exécutez la commande "source /etc/profile" pour initialiser les variables d'environnement système afin que la configuration prenne effet.
#copier les variables d'environnement

scp /etc/profile root@hadoop2:/etc

#autre copie jdk

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


#Faire en sorte que la variable d'environnement prenne effet

source /etc/profile

Configurer le gardien du zoo

Copiez zookeeper dans /export/servers/

Entrez le répertoire conf sous le répertoire d'installation de ZooKeeper
Copiez le fichier de modèle zoo_sample.cfg dans le fichier de configuration
zoo.cfg cp zoo_sample.cfg zoo.cfg modifiez le contenu de
zoo.cfg
vi zoo.cfg dataDir=/export/data/zookeeper /zkdata #Remember Pour créer ce dossier /export/data/zookeeper/zkdata server.1=spark1.2888:3888 server.2=spark2.2888:3888 server.3=spark3.2888:3888 pwd affiche le chemin actuel dans le Répertoire zkdata de hadoop1 Exécutez echo 1 > myid dans le répertoire zkdata de hadoop2 Exécutez echo 2 > myid dans le répertoire zkdata de hadoop3 Exécutez echo 3 > myid








Configurez la variable d'environnement
zookeeper export ZK_HOME=/export/se

rvers/zookeeper-3.4.10#Notez la version
de zookeeper export PATH=$PATH:$ZK_HOME/bin

Ensuite, copiez le gardien du zoo et le profil sur 2,3 hôtes


zkServer.sh status#Afficher l'état de zk
zkServer.sh start#Démarrer zk
ps#Afficher le processus
jps#Afficher le processus lié à java

Installez Hadoop :

Copiez le package hadoop dans /export/software/

Utilisez la commande pour extraire vers /export/servers/

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

configurer la commande sh

Entrez le répertoire /etc/hadoop/ du package d'installation Hadoop. Les commandes suivantes sont toutes des opérations dans ce répertoire. Modifiez le fichier hadoop-env.sh

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

Remplacez le paramètre par défaut JAVA_HOME dans le fichier par le chemin où le JDK est installé localement.

export JAVA_HOME=/export/servers/jdk1.8.0

Entrez dans le répertoire /etc/hadoop/ du package d'installation Hadoop et modifiez le fichier yarn-env.sh

vi yarn-env.sh

Remplacez le paramètre par défaut JAVA_HOME dans le fichier par le chemin où le JDK est installé localement, comme à l'étape précédente

Commande pour modifier le fichier de configuration principal de Hadoop core-site.xml

vi core-site.xml

Modifier l'adresse suivante

<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>

Commande pour modifier le fichier de configuration principal hdfs-site.xml de HDFS

vi hdfs-site.xml

Les modifications sont les suivantes :

<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>

Entrez dans le répertoire /etc/hadoop/ du package d'installation Hadoop, exécutez la commande et créez
le fichier de configuration principal mapred-site.xml de MapReduce en copiant le fichier modèle

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

Exécutez la commande pour modifier le fichier de configuration mapred-site.xml et spécifiez le framework d'exécution MapReduce.

vi mapred-site.xml

modifier comme ci-dessous :

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

Exécutez la commande pour modifier le fichier de configuration principal de YARN yarn-site.xml

cp yarn-site.xml

modifier comme ci-dessous :

<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>
<!---->

Modifier le fichier des esclaves

Exécutez la commande pour modifier le fichier esclaves qui enregistre les noms d'hôte de tous les nœuds DataNode et nœuds NodeManager dans le cluster Hadoop

vi slaves

Le contenu est le suivant :

spark01
spark02
spark03

Configurer les variables d'environnement Hadoop

Exécutez la commande pour modifier le profil de fichier de variable d'environnement système et configurer les variables d'environnement système Hadoop

vi /etc/profile

Ajoutez le contenu suivant :

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

Exécutez la commande pour initialiser les variables d'environnement système pour que la configuration prenne effet

source /etc/profile

Le répertoire d'installation Hadoop et les fichiers de variables d'environnement système sont distribués à 2 autres machines virtuelles 

#将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/

Exécutez la commande pour afficher la version Hadoop de l'environnement système actuel 

hadoop version

Démarrer le service Hadoop, un total de 5 étapes

1. Démarrez ZooKeeper
et exécutez-le dans les machines virtuelles Spark01, Spark02 et Spark03 respectivement

zkServer.sh start

La commande démarre le service ZooKeeper pour chaque machine virtuelle.

2. Démarrez JournalNode Exécutez les commandes suivantes
dans les machines virtuelles Spark01, Spark02 et Spark03 pour démarrer le service JournalNode de chaque machine virtuelle.

hadoop-daemon.sh start journalnode

Notez que la commande n'est exécutée qu'au premier démarrage :

Initialiser le NameNode (uniquement pour le démarrage initial)
Exécutez la commande "hdfs namenode -format" sur la machine virtuelle Spark01 du nœud maître du cluster Hadoop pour initialiser l'opération NameNode.

Initialiser ZooKeeper (uniquement pour le démarrage initial)
Sur la machine virtuelle Spark01 du nœud maître NameNode, exécutez la commande "hdfs zkfc -formatZK" pour initialiser l'état HA dans ZooKeeper.

Synchronisation NameNode (uniquement pour l'exécution du démarrage initial)
Une fois que le nœud maître NameNode de la machine virtuelle Spark01 a exécuté la commande d'initialisation, le contenu du répertoire de métadonnées doit être copié vers d'autres nœuds de secours NameNode non formatés (machine virtuelle Spark02) pour s'assurer que le nœud maître nœud et les données du NameNode du nœud de secours sont cohérentes

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

3. Démarrez HDFS
Dans la machine virtuelle Spark01 , exécutez la commande de script de démarrage en un clic pour démarrer le HDFS du cluster Hadoop. À ce stade, le NameNode et le ZKFC sur les machines virtuelles Spark01 et Spark02 et les DataNodes sur les machines virtuelles Spark01 , Spark02 et Spark03 seront démarrés. La commande suivante :

start-dfs.sh

4. Démarrez YARN Démarrez le YARN du cluster Hadoop en exécutant la commande de script de démarrage en un clic
dans la machine virtuelle Spark01 , comme suit :

start-yarn.sh

À ce stade, le ResourceManager sur la machine virtuelle Spark01 et les NodeManagers sur les machines virtuelles Spark01, Spark02 et Spark03 seront démarrés.

5. Démarrez ResourceManager

Le nœud de secours ResourceManager sur la machine virtuelle Spark02 doit être démarré séparément sur la machine virtuelle Spark02. Exécutez la commande suivante :

yarn-daemon.sh start resourcemanager

jps : commande pour vérifier si les processus liés au cluster haute disponibilité Hadoop sont démarrés avec succès

Démarrage complet du nœud zk

zkServer.sh start

Le nœud maître démarre dfs

start-dfs.sh

 Le nœud maître démarre le fil

start-yarn.sh

Le nœud enfant 1 démarre

yarn-daemon.sh start resourcemanager 

Arrêt complet du service

stop-all.sh

Début du service complet

start-all.sh

Afficher les données

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

Accès par nom d'hôte, ouvrez le fichier suivant

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

Ajoutez la configuration suivante

192.168.8.134 hadoop1
192.168.8.135 hadoop2
192.168.8.136 hadoop3

Opérations dans HDFS :

Supprimer le dossier:

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

Créez le dossier :

hadoop fs -mkdir /文件夹名称

Consultez le catalogue :

hadoop fs -ls /

Modifier les autorisations Autorisations d'opération HDFS :

hadoop fs  -chmod  777 /input

Pour quitter le mode sans échec manuellement :

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

Gestion des exceptions:

Apparaît comme suit :

Échec de la récupération des données depuis /webhdfs/v1/data/clickLog/2022_04_24?op=LISTSTATUS :

changer de navigateur google

Je suppose que tu aimes

Origine blog.csdn.net/baidu_39105563/article/details/123905936
conseillé
Classement