Abgeleitet von der Antwort von @Luis Alvarado ist hier meine Version für Ubuntu 14.04 und Hadoop 2.5.1
In Kürze
- Installieren Sie Java
- Bereiten Sie einen Executive User für Hadoop vor
hduser
- Wechseln Sie
hduser
von nun an zu
hduser
Remote-Zugriff über ssh mit passphrasenlos zulassen
- Deaktivieren Sie IPv6
- Laden Sie das Hadoop-Paket herunter und konfigurieren Sie es
- Bereiten Sie den Systempfad $ HADOOP_HOME und $ JAVA_HOME vor
- Konfigurieren Sie die Dienste von Hadoop
- Starten Sie die Dienste von Hadoop
Getan. Viel Glück!
Detailschritte
Installieren Sie Java
Herunterladen und installieren
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt-get install oracle-java7-installer
Stellen Sie sicher, dass Java7 installiert ist
$ which java
$ ls -l /usr/bin/java
$ ls -l /etc/alternatives/java
Wir hätten darauf java
hinweisen sollen/usr/lib/jvm/java-7-oracle/jre/bin/java
Bereiten Sie einen Executive User für Hadoop vorhduser
Benutzer hduser
in Gruppe erstellenhadoop
$ sudo addgroup hadoop
$ sudo adduser --ingroup hadoop hduser
Gewähren Sie hduser
das sudo- Privileg
Bearbeiten Sie sudo
$ sudo visudo
Fügen Sie am Ende diese Zeile hinzu
hduser ALL=(ALL:ALL) ALL
Wechseln Sie hduser
von nun an zu
$ su - hduser
hduser
Remote-Zugriff über ssh mit passphrasenlos zulassen
Installieren Sie openssh
$ sudo apt-get install openssh-server
Generieren Sie einen öffentlichen / privaten RSA-Schlüssel für die SSH-Verbindung. Passphrase ist leer alsparameter -P ""
$ ssh-keygen -t rsa -P ""
$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
Stellen Sie sicher, dass hduser
ssh remote lokal ohne Passwort ausgeführt werden kann
$ ssh localhost
Deaktivieren Sie IPv6
Bearbeiten Sie die Konfigurationsdatei
$ sudo nano /etc/sysctl.conf
Kopieren Sie bis zum Ende
#disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Stellen Sie sicher, dass IPv6 durch einen Neustart oder Aufruf ausgeschaltet ist
$ sudo sysctl -p
Dann ruf an
$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6
Es sollte 1 heißen, was OK bedeutet ^^
Laden Sie das Hadoop-Paket herunter und konfigurieren Sie es
Laden Sie Hadoop 2.5.1-Pakete von der Apache Hadoop-Site herunter
Die direkte URL für dieses Paket ist dieser Link
http://www.eu.apache.org/dist/hadoop/core/hadoop-2.5.1/hadoop-2.5.1.tar.gz
Laden Sie sie in hduser
den Home-Ordner von Microsoft herunter , extrahieren Sie sie und benennen Sie sie in umhadoop
$ wget http://www.eu.apache.org/dist/hadoop/core/hadoop-2.5.1/hadoop-2.5.1.tar.gz
$ tar -xvzf hadoop-2.5.1.tar.gz
$ mv hadoop-2.5.1 hadoop
Stellen Sie sicher, dass wir Hadoop zu hduser
Hause aufbewahren
$ ls /home/hduser/hadoop
Bereiten Sie den Systempfad $ HADOOP_HOME und $ JAVA_HOME vor
Bearbeiten Sie hduser
die .bashrc-Datei von
$ nano .bashrc
Setzen Sie die Endwerte für $HADOOP_HOME
und auf$JAVA_HOME
# Set Hadoop-related environment variables
export HADOOP_HOME=/home/hduser/hadoop
# Set JAVA_HOME (we will also configure JAVA_HOME directly for Hadoop later on)
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
Fügen Sie dem binary
System die Hadoop- Ordner hinzu$PATH
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
Öffnen Sie ein neues Terminal, melden Sie sich als hduser
an und stellen Sie sicher, dass Sie $ HADOOP_HOME mit verfügbaren Befehlen haben
$ echo $HADOOP_HOME
$ which start-all.sh
$ which start-dfs.sh
$ which start-yarn.sh
Wir sollten den vollständigen Pfad dieser Namen sehen.
Konfigurieren Sie die Dienste von Hadoop
Jede Komponente in Hadoop wird mithilfe einer XML-Datei konfiguriert.
Allgemeine Eigenschaften finden Sie in core-site.xml
HDFS-Eigenschaften werden in hdfs-site.xml gespeichert
MapReduce-Eigenschaften werden in mapred-site.xml abgelegt
Diese Dateien befinden sich alle im Ordner $ HADOOP_HOME / etc / hadoop
Definieren Sie erneut JAVA_HOME, hadoop-env.sh
indem Sie die Zeile bearbeiten
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
Definieren Sie Hadoop temp folder
und den file system
Namen in der Datei core-site.xml unter
<configuration>
...
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hduser/tmp</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:54310</value>
<description>The name of the default file system. A URI whose
scheme and authority determine the FileSystem implementation. The
uri's scheme determines the config property (fs.SCHEME.impl) naming
the FileSystem implementation class. The uri's authority is used to
determine the host, port, etc. for a filesystem.</description>
</property>
...
</configuration>
Wir müssen dies temp folder
wie unter konfiguriert vorbereiten/home/hduser/tmp
$ cd /home/hduser
$ mkdir tmp
$ chown hduser:hadoop tmp
$ chmod 755 tmp
Definiere file system
's block replication
in hdfs-site.xml
<configuration>
...
<property>
<name>dfs.replication</name>
<value>1</value>
<description>Default block replication.
The actual number of replications can be specified when the file is created.
The default is used if replication is not specified in create time.
</description>
</property>
...
</configuration>
Definieren Sie map-reduce job
in mapred-site.xml
<configuration>
...
<property>
<name>mapred.job.tracker</name>
<value>localhost:54311</value>
<description>The host and port that the MapReduce job tracker runs
at. If "local", then jobs are run in-process as a single map
and reduce task.
</description>
</property>
...
</configuration>
Format name node
$ hdfs namenode -format
Starten Sie den Hadoop-Dienst
Anruf
$ start-dfs.sh && start-yarn.sh
Diese beiden Befehle befinden sich in $ HADOOP_HOME / sbin, das wir zuvor dem System $ PATH hinzugefügt haben.
Stellen Sie sicher, dass die Hadoop-Dienste ordnungsgemäß gestartet wurden
$ jps
wir sollten sehen