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