hadoop Tutoriel
Démarrer avec hadoop
Recherche…
Remarques
Qu'est-ce qu'Apache Hadoop?
La bibliothèque de logiciels Apache Hadoop est une infrastructure permettant le traitement distribué de grands ensembles de données sur des grappes d’ordinateurs à l’aide de modèles de programmation simples. Il est conçu pour passer de serveurs uniques à des milliers de machines, chacune offrant des fonctions de calcul et de stockage locales. Plutôt que de dépendre du matériel pour fournir une haute disponibilité, la bibliothèque elle-même est conçue pour détecter et gérer les défaillances au niveau de la couche application, offrant ainsi un service hautement disponible au-dessus d'un cluster
Apache Hadoop comprend ces modules:
- Hadoop Common : les utilitaires communs qui prennent en charge les autres modules Hadoop.
- Système de fichiers distribué Hadoop (HDFS) : système de fichiers distribué qui fournit un accès à haut débit aux données des applications.
- Hadoop YARN : un cadre pour la planification des tâches et la gestion des ressources de cluster.
- Hadoop MapReduce : Un système basé sur YARN pour le traitement parallèle de grands ensembles de données.
Référence:
Versions
Version | Notes de version | Date de sortie |
---|---|---|
3.0.0-alpha1 | 2016-08-30 | |
2.7.3 | Cliquez ici - 2.7.3 | 2016-01-25 |
2.6.4 | Cliquez ici - 2.6.4 | 2016-02-11 |
2.7.2 | Cliquez ici - 2.7.2 | 2016-01-25 |
2.6.3 | Cliquez ici - 2.6.3 | 2015-12-17 |
2.6.2 | Cliquez ici - 2.6.2 | 2015-10-28 |
2.7.1 | Cliquez ici - 2.7.1 | 2015-07-06 |
Installation ou configuration sous Linux
Procédure de configuration d'un cluster pseudo-distribué
Conditions préalables
Installez JDK1.7 et définissez la variable d'environnement JAVA_HOME.
Créez un nouvel utilisateur en tant que "hadoop".
useradd hadoop
Configurer la connexion SSH sans mot de passe sur son propre compte
su - hadoop ssh-keygen << Press ENTER for all prompts >> cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 0600 ~/.ssh/authorized_keys
Vérifier en effectuant
ssh localhost
Désactivez IPV6 en éditant
/etc/sysctl.conf
avec les éléments suivants:net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1
Vérifiez que vous utilisez
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
(devrait retourner 1)
Installation et configuration:
Téléchargez la version requise de Hadoop à partir des archives Apache en utilisant la commande
wget
.cd /opt/hadoop/ wget http:/addresstoarchive/hadoop-2.x.x/xxxxx.gz tar -xvf hadoop-2.x.x.gz mv hadoop-2.x.x.gz hadoop (or) ln -s hadoop-2.x.x.gz hadoop chown -R hadoop:hadoop hadoop
Mettre à jour
.bashrc
/.kshrc
fonction de votre shell avec les variables d'environnement ci-dessousexport HADOOP_PREFIX=/opt/hadoop/hadoop export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop export JAVA_HOME=/java/home/path export PATH=$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin:$JAVA_HOME/bin
Dans le
$HADOOP_HOME/etc/hadoop
, éditez ci-dessous les fichierscore-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:8020</value> </property> </configuration>
mapred-site.xml
Créer
mapred-site.xml
partir de son modèlecp mapred-site.xml.template mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
yarn-site.xml
<configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>localhost</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:///home/hadoop/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///home/hadoop/hdfs/datanode</value> </property> </configuration>
Créez le dossier parent pour stocker les données hadoop
mkdir -p /home/hadoop/hdfs
Format NameNode (nettoie le répertoire et crée les fichiers méta nécessaires)
hdfs namenode -format
Démarrer tous les services:
start-dfs.sh && start-yarn.sh mr-jobhistory-server.sh start historyserver
Au lieu de cela, utilisez start-all.sh (obsolète).
Vérifiez tous les processus Java en cours d'exécution
jps
Interface Web Namenode: http: // localhost: 50070 /
Interface Web du gestionnaire de ressources: http: // localhost: 8088 /
Pour arrêter les démons (services):
stop-dfs.sh && stop-yarn.sh mr-jobhistory-daemon.sh stop historyserver
Utilisez plutôt stop-all.sh (obsolète).
Installation de Hadoop sur Ubuntu
Création d'un utilisateur Hadoop:
sudo addgroup hadoop
Ajouter un utilisateur:
sudo adduser --ingroup hadoop hduser001
Configuration de SSH:
su -hduser001
ssh-keygen -t rsa -P ""
cat .ssh/id rsa.pub >> .ssh/authorized_keys
Remarque : Si vous obtenez des erreurs [ bash: .ssh / authorized_keys: pas de fichier ou répertoire de ce type ] lors de l'écriture de la clé autorisée. Vérifiez ici .
Ajouter l'utilisateur hadoop à la liste de sudoer:
sudo adduser hduser001 sudo
Désactiver IPv6:
Installation de Hadoop:
sudo add-apt-repository ppa:hadoop-ubuntu/stable
sudo apt-get install hadoop
Vue d'ensemble de Hadoop et HDFS
- Hadoop est une infrastructure logicielle à code source libre pour le stockage et le traitement à grande échelle d'ensembles de données dans un environnement informatique distribué. Il est sponsorisé par Apache Software Foundation. Il est conçu pour passer de serveurs uniques à des milliers de machines, chacune offrant des fonctions de calcul et de stockage locales.
- Hadoop a été créé par Doug Cutting et Mike Cafarella en 2005.
- Cutting, qui travaillait chez Yahoo! à l'époque, l'a nommé après l'éléphant de jouet de son fils.
- Il a été initialement développé pour prendre en charge la distribution du projet de moteur de recherche.
- Système de fichiers distribué Hadoop (HDFS): système de fichiers distribué qui fournit un accès à haut débit aux données des applications. Hadoop MapReduce: cadre logiciel pour le traitement distribué de grands ensembles de données sur des grappes de calcul.
- Très tolérant aux pannes. Haut débit. Convient aux applications avec de grands ensembles de données. Peut être construit à partir de matériel de base.
- Architecture maître / esclave. Le cluster HDFS se compose d'un seul Namenode, un serveur maître qui gère l'espace de noms du système de fichiers et régule l'accès aux fichiers par les clients. Les nœuds de données gèrent le stockage attaché aux nœuds sur lesquels ils s'exécutent. HDFS expose un espace de noms de système de fichiers et permet de stocker les données utilisateur dans des fichiers. Un fichier est divisé en un ou plusieurs blocs et un ensemble de blocs est stocké dans DataNodes. DataNodes: sert à lire, à écrire des requêtes, à créer, à supprimer et à répliquer des blocs sur instruction de Namenode.
- HDFS est conçu pour stocker des fichiers très volumineux sur plusieurs ordinateurs d'un grand cluster. Chaque fichier est une séquence de blocs. Tous les blocs du fichier, sauf le dernier, ont la même taille. Les blocs sont répliqués pour la tolérance aux pannes. Le Namenode reçoit un Heartbeat et un BlockReport de chaque DataNode du cluster. BlockReport contient tous les blocs d'un Datanode.
- Commandes communes utilisées: -
- ls Usage: hadoop fs –ls Chemin (répertoire / chemin du fichier à lister). Utilisation du chat : hadoop fs -cat PathOfFileToView
Lien pour les commandes du shell hadoop: - https://hadoop.apache.org/docs/r2.4.1/hadoop-project-dist/hadoop-common/FileSystemShell.html