installation de hadoop (Centos7)

Prélude

1. Modifiez ensuite le nom d'hôte pour faciliter l'accès entre les clusters

Modification: hostnamectl set-hostname centos1

Voir: nom d'hôte

2. Modifiez le fichier de mappage de résolution de nom de domaine (ajoutez une nouvelle ligne) afin qu'il soit accessible directement par le nom d'hôte à l'avenir

vi / etc / hosts

#Content ajoute une nouvelle ligne à la fin

192.168.190.130 cenos1

192.168.190.131 centos2

192.168.190.132 centos3

 

service redémarrage du réseau #Redémarrez le service de carte réseau

redémarrer #Restart

ping centos1 #Le test est efficace

3. Désactivez le pare-feu et interdisez le démarrage

firewall-cmd --state #View firewall status

systemctl stop firewalld.service #Arrêter le pare-feu

systemctl disable firewalld.service #Prohibit firewall startup

4. Fermez selinux

vim / etc / sysconfig / selinux

Modifier le contenu SELINUX = désactivé

SELINUXTYPE = ciblé commenté

scp / etc / sysconfig / selinux centos2: / etc / sysconfig /

scp / etc / sysconfig / selinux centos3: / etc / sysconfig /

Télécharger vers le bas

http://mirrors.shu.edu.cn/apache/hadoop/common/

hadoop-2.7.7.tar.gz

Plus tard, changé en hadoop-2.6.5.tar.gz afin d'installer oozie

Installer

cd / usr / local

rz

tar xzvf hadoop-2.7.7.tar.gz

rm -rf hadoop-2.7.7.tar.gz

mv hadoop-2.7.7.tar.gz Hadoop

Configurer les variables d'environnement

vim / etc / profile #Configurez les variables d'environnement, entrez en bas pour démarrer la configuration:

export HADOOP_HOME = / usr / local / hadoop

export PATH = $ PATH: $ JAVA_HOME / bin: $ HADOOP_HOME / bin: $ HADOOP_HOME / sbin

wq

Configurer hadoop-env.sh, yarn-env.sh, mapred-env.sh (les trois systèmes ont été modifiés)

vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh

修改 : export JAVA_HOME = $ {JAVA_HOME} 为 : export JAVA_HOME = / usr / local / jdk

wq

 

vim /usr/local/hadoop/etc/hadoop/yarn-env.sh

export JAVA_HOME = / usr / local / jdk

 

vim /usr/local/hadoop/etc/hadoop/mapred-env.sh

export JAVA_HOME = / usr / local / jdk

 

source / etc / profile #effective immédiatement

Test

Après avoir testé la configuration distribuée hadoop, assurez-vous que Hadoop est démarré et qu'il existe un répertoire correspondant.

hadoop version

A l'heure actuelle, l'environnement hadoop le plus basique (ce n'est pas un environnement de développement), teste un programme de test fourni avec hadoop (implémentation de wordcount "bonjour le monde hadoop")

cd / usr / local / hadoop

entrée mkdir

echo bonjour sm bonjour zhangsan bonjour lisi salut sm> input / info.txt

entrée cd

cat info.txt

cd / usr / local / hadoop

 

hadoop jar share / hadoop / mapreduce / sources / hadoop-mapreduce-examples-2.7.7-sources.jar org.apache.hadoop.examples.WordCount entrée sortie

 

sortie cd

ll

0

 

Test sur hdfs:

hadoop fs -put /songtemptest/worldcount.txt / test / input

cd / usr / local / hadoop / share / hadoop / mapreduce

hadoop jar hadoop-mapreduce-examples-2.6.5.jar wordcount / test / input / test / output

La configuration de hadoop de système distribué

Traitement sans connexion SSH

ll ~ #Si vous avez configuré ssh pour qu'il soit supprimé

rm -rf ~ / .ssh

 

ssh-keygen -t rsa #generate clé ssh sur l'hôte centos1

Entrez le traitement par défaut

cat ~ / .ssh / id_rsa.pub >> ~ / .ssh / authorized_keys #Copiez la clé publique dans le fichier d'autorisation

racine ssh @ centos1 #Login

quitter #Logout

 

Remarque: Synchronisez d'autres machines: ssh-copy-id centos2

 

Configuration: core-site.xml Informations de base Hadoop, y compris le répertoire temporaire, l'adresse d'accès, etc.

Configuration: traitement des travaux liés à la configuration yarn-site.xml

Configuration: hdfs-site.xml est très important, vous pouvez déterminer le nombre de sauvegardes de fichiers et le chemin du dossier de données

Configuration: core-site.xml (les trois systèmes sont modifiés)

core-site.xml est les informations de base de Hadoop, y compris le répertoire temporaire, l'adresse d'accès, etc.

vim /usr/local/hadoop/etc/hadoop/core-site.xml

<configuration>

    <propriété>

        <name> hadoop.tmp.dir </name>

        <value> / home / root / hadoop_tmp </value>

        <description> Abase pour d'autres répertoires temporaires. </description>

    </property>

    <propriété>

        <name> fs.defaultFS </name>

        <value> hdfs: // centos1: 9000 </value>

    </property>

</configuration>

Les informations "/ Home / root / hadoop_tmp" sont les plus importantes. Les informations sur les fichiers temporaires de cette configuration de chemin de fichier, si elles ne sont pas configurées, un fichier "tmp" sera généré dans le dossier hadoop (beaucoup de gens le définiront dans "/ user / local / hadoop / tmp "), si configuré de cette manière, toutes les informations seront effacées une fois redémarré, ce qui signifie que l'environnement de Hadoop ne sera pas valide à ce moment.

Le message " centos1: 9000 " décrit le chemin d'accès du gestionnaire de pages qui sera ouvert à l'avenir;

La version hadoop 2.x par défaut est le port 9000. Si la version 1.x est utilisée, la valeur par défaut est 8020.

Afin de vous assurer que l'opération globale est sans erreur, vous pouvez créer directement un répertoire "/ home / root / hadoop_tmp";

cd ~

mkdir hadoop_tmp

Configuration: yarn-site.xml (modifiez uniquement le nœud maître)

Traitement des travaux liés à la configuration Yarn-site.xml

vim /usr/local/hadoop/etc/hadoop/yarn-site.xml

<configuration>

    <propriété>

        <name> yarn.resourcemanager.admin.address </name>

        <value> centos1: 8033 </value>

    </property>

    <propriété>

        <name> yarn.nodemanager.aux-services </name>

        <value> mapreduce_shuffle </value>

    </property>

    <propriété>

        <name> yarn.nodemanager.aux-services.mapreduce_shuffle.class </name>

        <value> org.apache.hadoop.mapred.ShuffleHandler </value>

    </property>

    <propriété>

        <name> yarn.resourcemanager.resource-tracker.address </name>

        <value> centos1: 8025 </value>

    </property>

    <propriété>

        <name> yarn.resourcemanager.scheduler.address </name>

        <value> centos1: 8030 </value>

    </property>

    <propriété>

        <name> yarn.resourcemanager.address </name>

        <value> centos1: 8050 </value>

    </property>

    <propriété>

        <name> yarn.resourcemanager.webapp.address </name>

        <value> centos1: 8088 </value>

    </property>

    <propriété>

        <name> yarn.resourcemanager.webapp.https.address </name>

        <value> centos1: 8090 </value>

    </property>

</configuration>

Configuration: hdfs-site.xml (les trois systèmes sont modifiés)

hdfs-site.xml est très important, vous pouvez déterminer le nombre de sauvegardes de fichiers et le chemin du dossier de données

vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml

<configuration>

    <propriété>

        <name> dfs.replication </name>

        <value> 1 </value>

    </property>

    <propriété>

        <name> dfs.namenode.name.dir </name>

        Fichier <valeur>: /// usr / local / hadoop / dfs / nom </value>

    </property>

    <propriété>

        <name> dfs.datanode.data.dir </name>

        <value> fichier: /// usr / local / hadoop / dfs / data </value>

    </property>

    <propriété>

        <name> dfs.namenode.http-address </name>

        <value> centos1: 50070 </value>

    </property>

    <propriété>

        <name> dfs.namenode.secondary.http-address </name>

        <value> centos1: 50090 </value>

    </property>

    <propriété>

        <name> dfs.permissions </name>

        <value> false </value>

    </property>

<propriété>

             <name> dfs.namenode.datanode.registration.ip-hostname-check </name>

             <value> false </value>

</property>

</configuration>

"Dfs.replication": le nombre de copies du fichier, dans des circonstances normales, le fichier sera sauvegardé 3 copies;

"Dfs.namenode.name.dir": définir le chemin du nœud de nom;

"Dfs.datanode.data.dir": définir le chemin du nœud du fichier de données;

"Dfs.namenode.http-address": accès au chemin http du service de noms;

"Dfs.namenode.secondary.http-address": le deuxième nœud de nom;

"Dfs.permissions": problème d'authentification des autorisations, car s'il est défini, il ne sera peut-être plus possible d'accéder aux fichiers à l'avenir;

dfs.namenode.datanode.registration.ip-hostname-check est false hadoop version 2.7.7 pour configurer cela, ou télécharger des fichiers est invité: "Datanode a refusé la communication avec namenode car le nom d'hôte ne peut pas être résolu (ip = 192.168.190.138, hostname = 192.168.190.138) "tm lit ipv6, il devrait en fait être ipv4 ip.

Configuration: mapred-site.xml (modifiez uniquement le nœud maître)

cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml

vim /usr/local/hadoop/etc/hadoop/mapred-site.xml

<configuration>

    <propriété>

              <name> mapreduce.framework.name </name>

              <value> fil </value>

</property>

</configuration>

Autre configuration

Créer des fichiers maîtres, esclaves

vim / usr / local / hadoop / etc / hadoop / masters # 加入 «centos1»

 

vim / usr / local / hadoop / etc / hadoop / slaves #Changez "localhost" en

centos2

centos3

 

hadoop appartient à un environnement de développement distribué, étant donné que le cluster sera construit à l'avenir;

Il est recommandé de créer un fichier maître dans le répertoire "/ usr / local / hadoop / etc / hadoop /", d'écrire le nom de l'hôte, le contenu est centos1 (le nom de l'hôte défini dans le fichier hosts avant): s'il ne se trouve pas dans un environnement autonome, Peu importe

 

Créer un nom de dossier, des données

cd / usr / local / hadoop

mkdir dfs dfs / nom dfs / data

 

Parce qu'à l'heure actuelle, tous les chemins de stockage du namenode et du datanode sont définis dans le répertoire hadoop, si vous voulez être sûr, vous pouvez créer le vôtre;

Remarque: S'il y a un problème avec votre hadoop et qu'il est reconfiguré, assurez-vous de supprimer complètement ces deux dossiers

Format

cd / usr / local / hadoop / bin

hdfs intentode -format

Système de fichiers formaté "INFO util.ExitUtil: sortie avec le statut 0" réussie

Démarrer / vérifier / accéder / arrêter

1. Démarrer

cd / usr / local / hadoop / bin

start-all.sh #start hadoop

2. Vérification

jps #Vérifiez le processus java, s'il y en a 6 comme ci-dessous

2536 DataNode

2408 NameNode

3034 NodeManager

2907 ResourceManager

3339 Jps

2748 SecondaryNameNode

Remarque: S'il s'agit d'un déploiement en cluster, il n'y en a que 4, et les deux autres NodeManager et DataNode sont sur la machine esclave

3. Visite

http://192.168.190.130:50070

Si vous souhaitez également utiliser le nom centos1 en externe (Windows), vous devez modifier le fichier hosts et ajouter la configuration de mappage:

Augmentation de C: \ Windows \ System32 \ drivers \ etc \ hosts: 192.168.190.130 centos1

 

http://192.168.190.130:8088/cluster

4. Arrêtez

stop-all.sh

Tester la connexion sans mot de passe

ssh centos2

accès au système de fichiers hdfs

http://192.168.190.130:50070/explorer.html#/

 

Si l'accès au nom d'hôte est requis, le mappage du nom d'hôte doit être effectué dans C: \ Windows \ System32 \ drivers \ etc \ hosts.

Tai Hang

1. Le naménode secondaire ne démarre pas

Hadoop doit être supprimé après avoir changé la version: / home / root / hadoop_tmp ce répertoire,

Ne vous confondez pas avec le répertoire / root / hadoop_tmp

 

Un autre fichier journal est le suivant:

/usr/local/hadoop/logs/hadoop-root-secondarynamenode-centos1.log

Pas ceci: /usr/local/hadoop/logs/hadoop-root-secondarynamenode-centos1.out

2. Configuration de hdfs-site.xml

dfs.namenode.datanode.registration.ip-hostname-check est false hadoop version 2.7.7 pour configurer cela, ou télécharger des fichiers est invité: "Datanode a refusé la communication avec namenode car le nom d'hôte ne peut pas être résolu (ip = 192.168.190.138, hostname = 192.168.190.138) "tm lit ipv6, il devrait en fait être ipv4 ip.

Opérations communes à Hadoop

hadoop fs et hdfs dfs sont les mêmes

 

Opérations d'annuaire

hadoop dfsadmin -safemode quitter # Quitter le mode sans échec

hadoop fs -mkdir -p / test / test1 #Cascade pour créer un répertoire

hadoop fs -ls / #View répertoire racine

hadoop fs -ls #View / user / root /

hadoop fs -rm -r -f / test #Cascade supprimer le répertoire

Opérations sur les fichiers

hadoop fs -put / usr / local / hadoop / output / part-r-00000 / test / #upload fichiers locaux vers le répertoire hdfs / test

hadoop fs -put / usr / local / hadoop / output / part-r-00000 hdfs: // centos1: 9000 / test #ou l'écrire comme ceci

hadoop fs -rm / test / part-r-00000 #Effacer les fichiers

hadoop fs -get / test / part-r-00000 #Téléchargez le fichier sur hdfs dans le répertoire courant

 

Je suppose que tu aimes

Origine www.cnblogs.com/yingjie926/p/12689151.html
conseillé
Classement