Installer Hadoop sur MacBook puce silicone (M1 ou M2)
Comment installer et configurer Hadoop sur MacBook M1 ou M2, étape par étape de Java JDK à l'interface utilisateur HDFS.
Dans cet article, je vais vous montrer comment installer Hadoop sur votre MacBook M1 ou M2.
Veuillez confirmer que votre MacBook répond aux spécifications suivantes :
- Un MacBook M1 ou M2 (puce silicone) avec macOS Ventura 13.2.1 ou supérieur
- 8 Go de RAM minimum
Les étapes d'installation
- Vérifier et installer JDK Java
- Activer le SSH du MacBook dans les paramètres systèmes
- Télécharger Hadoop via le site officiel
- Configurer Hadoop (variable
JAVA_HOME, fichierscore-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml) - Formater le HDFS NameNode
- Démarrer les services Hadoop
- Utiliser l'interface utilisateur Hadoop
Prérequis : un terminal et un éditeur de texte ou de code (VS Code, Sublime Text, Xcode, IntelliJ IDEA).
Étape 1 : Vérifier et installer JDK Java
Exécutez la commande suivante pour vérifier si Java est installé :
java -version
Si Java n'est pas installé, téléchargez Java SE Development Kit 8 ou 11 depuis le site officiel Oracle. La version 11 est recommandée pour Hadoop.
Si vous avez une version incompatible (JDK 17, 19, 20...), supprimez-la :
cd /Library/Java/JavaVirtualMachines && ls
sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-19.1.jdk
Vérifiez de nouveau après l'installation :
java -version
Étape 2 : Activer le SSH du MacBook
Recherchez Partage dans Spotlight, puis activez Session à distance et accordez l'accès aux utilisateurs distants à l'ensemble du disque.
Générez ensuite une paire de clés RSA SSH :
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
Ajoutez la clé publique au fichier authorized_keys :
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Sécurisez les autorisations :
chmod 0600 ~/.ssh/id_rsa.pub
Testez la connexion SSH à localhost :
ssh localhost
Vous devriez voir un message du type Dernière connexion : Mardi 12 Septembre…. SSH fonctionne. Fermez la connexion avec Ctrl + D.
Étape 3 : Télécharger Hadoop
Rendez-vous sur le site officiel Apache et téléchargez le fichier .tar.gz de la dernière version stable de Hadoop.
Décompressez l'archive le dossier s'appellera hadoop-<version>. Déplacez-le dans votre répertoire personnel (~).
Étape 4 : Configurer Hadoop
Variables d'environnement
Trouvez d'abord le chemin de votre JDK :
/usr/libexec/java_home
cd /Library/Java/JavaVirtualMachines/jdk-11.jdk && pwd
Copiez le chemin affiché, puis ouvrez votre fichier .zprofile ou .zshrc :
nano ~/.zprofile
Ajoutez les lignes suivantes (remplacez dimitri par votre nom d'utilisateur, trouvable avec cd ~ && pwd) :
JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home"
export HADOOP_HOME=/Users/dimitri/hadoop-3.3.6/
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
hadoop-env.sh
Ouvrez le fichier de configuration de l'environnement Hadoop :
nano $HADOOP_HOME/etc/hadoop/hadoop-env.sh
Trouvez la ligne commentée contenant JAVA_HOME (environ ligne 54) et décommentez-la en ajoutant votre chemin :
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home"
core-site.xml
nano $HADOOP_HOME/etc/hadoop/core-site.xml
Entre les balises <configuration> et </configuration>, ajoutez (remplacez dimitri) :
<property>
<name>hadoop.tmp.dir</name>
<value>/Users/dimitri/hdfs/tmp/</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://127.0.0.1:9000</value>
</property>
hdfs-site.xml
nano $HADOOP_HOME/etc/hadoop/hdfs-site.xml
<property>
<name>dfs.data.dir</name>
<value>/Users/dimitri/hdfs/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/Users/dimitri/hdfs/datanode</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
mapred-site.xml
nano $HADOOP_HOME/etc/hadoop/mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
yarn-site.xml
nano $HADOOP_HOME/etc/hadoop/yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>127.0.0.1</value>
</property>
<property>
<name>yarn.acl.enable</name>
<value>0</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>
Étape 5 : Formater le HDFS NameNode
hdfs namenode -format
Si cette commande renvoie une erreur parce que Hadoop tourne déjà, arrêtez-le d'abord avec stop-all.sh, puis relancez.
Étape 6 : Démarrer les services Hadoop
start-all.sh
Vérifiez que tous les démons sont bien lancés :
jps
Vous devriez voir : NameNode, DataNode, ResourceManager, NodeManager et leurs IDs de processus.
Étape 7 : Interface utilisateur Hadoop
Ouvrez votre navigateur et accédez à :
http://localhost:9870
Vous pouvez surveiller l'état de votre cluster HDFS depuis cette interface.
Pour arrêter Hadoop :
stop-all.sh
Félicitations Hadoop tourne sur votre MacBook M1/M2. Vous pouvez maintenant exploiter la puissance de la puce silicone pour le traitement et l'analyse de données.
Un problème qui ressemble à celui-là ? Raconte-le-moi, je te réponds sous 48 h.