Pochodzące z @Luis Alvarado odpowiedź , oto moja wersja Ubuntu 14.04 i Hadoop 2.5.1
W skrócie
- Zainstaluj Javę
- Przygotuj użytkownika wykonawczego dla Hadoop
hduser
- Przełącz na
hduser
teraz
- Zezwalaj
hduser
na zdalne przesyłanie przez ssh bez użycia fraz
- Wyłącz IPv6
- Pobierz i skonfiguruj pakiet Hadoop
- Przygotuj ścieżkę systemową $ HADOOP_HOME i $ JAVA_HOME
- Skonfiguruj usługi Hadoop
- Uruchom usługi Hadoop
Gotowy. Powodzenia!
Szczegółowe kroki
Zainstaluj Javę
Ściągnij i zainstaluj
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt-get install oracle-java7-installer
Upewnij się, że masz zainstalowaną Java7
$ which java
$ ls -l /usr/bin/java
$ ls -l /etc/alternatives/java
powinniśmy java
wskazać/usr/lib/jvm/java-7-oracle/jre/bin/java
Przygotuj użytkownika wykonawczego dla Hadoophduser
Utwórz użytkownika hduser
w grupiehadoop
$ sudo addgroup hadoop
$ sudo adduser --ingroup hadoop hduser
Grant hduser
z sudo przywilej
Edytuj sudo
$ sudo visudo
Dodaj do końca tę linię
hduser ALL=(ALL:ALL) ALL
Przełącz na hduser
teraz
$ su - hduser
Zezwalaj hduser
na zdalne przesyłanie przez ssh bez użycia fraz
Zainstaluj openssh
$ sudo apt-get install openssh-server
Wygeneruj klucz publiczny / prywatny RSA dla połączenia SSH; hasło jest puste jakoparameter -P ""
$ ssh-keygen -t rsa -P ""
$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
Upewnij się, że hduser
można ssh zdalnie lokalnie bez hasła
$ ssh localhost
Wyłącz IPv6
Edytuj plik konfiguracyjny
$ sudo nano /etc/sysctl.conf
Skopiuj do końca
#disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Upewnij się, że IPv6 jest wyłączony przez ponowne uruchomienie lub połączenie
$ sudo sysctl -p
Wtedy zadzwoń
$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6
Powinien powiedzieć 1, co oznacza OK ^^
Pobierz i skonfiguruj pakiet Hadoop
Pobierz pakiety Hadoop 2.5.1 ze strony Apache Hadoop
Bezpośrednim adresem URL tego pakietu jest ten link
http://www.eu.apache.org/dist/hadoop/core/hadoop-2.5.1/hadoop-2.5.1.tar.gz
Pobierzmy więc hduser
folder domowy, rozpakuj go i zmień nazwę nahadoop
$ 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
Upewnij się, że Hadoop jest przechowywany w hduser
domu
$ ls /home/hduser/hadoop
Przygotuj ścieżkę systemową $ HADOOP_HOME i $ JAVA_HOME
Edytuj hduser
plik .bashrc
$ nano .bashrc
Dopisz wartości końcowe do $HADOOP_HOME
i$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
Dodaj binary
foldery Hadoop do systemu$PATH
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
Otwórz nowy terminal, zaloguj się jako hduser
i upewnij się, że masz $ HADOOP_HOME z dostępnymi poleceniami
$ echo $HADOOP_HOME
$ which start-all.sh
$ which start-dfs.sh
$ which start-yarn.sh
Powinniśmy zobaczyć pełną ścieżkę tych nazw.
Skonfiguruj usługi Hadoop
Każdy komponent w Hadoop jest konfigurowany przy użyciu pliku XML.
Wspólne właściwości znajdują się w pliku core-site.xml
Właściwości HDFS można znaleźć w pliku hdfs-site.xml
Właściwości MapReduce znajdują się w mapred-site.xml
Wszystkie pliki znajdują się w folderze $ HADOOP_HOME / etc / hadoop
Zdefiniuj ponownie JAVA_HOME, edytując hadoop-env.sh
wiersz
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
Zdefiniuj Hadoop temp folder
i file system
nazwę w core-site.xml at
<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>
Musimy to przygotować temp folder
zgodnie z konfiguracją na/home/hduser/tmp
$ cd /home/hduser
$ mkdir tmp
$ chown hduser:hadoop tmp
$ chmod 755 tmp
Zdefiniuj file system
„s block replication
w 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>
Zdefiniuj map-reduce job
w 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
Uruchom usługę Hadoop
Połączenie
$ start-dfs.sh && start-yarn.sh
te dwa polecenia znajdują się w $ HADOOP_HOME / sbin, które wcześniej dodaliśmy do systemu $ PATH.
Upewnij się, że usługi Hadoop są uruchomione poprawnie
$ jps
powinniśmy zobaczyć