Похідна від @Luis Альварадо відповіді , ось моя версія для Ubuntu 14.04 і Hadoop 2.5.1
Коротко
- Встановіть Java
- Підготуйте виконавчого користувача для Hadoop
hduser
- Переключитися на
hduser
зараз
- Дозволити
hduser
віддалено через ssh із пропуском без фрази
- Вимкнути IPv6
- Завантажте та конфігуруйте пакет Hadoop
- Підготуйте системний шлях $ HADOOP_HOME та $ JAVA_HOME
- Налаштування послуг Hadoop
- Запустіть послуги Hadoop
Зроблено. Удачі!
Детальні кроки
Встановіть Java
Завантажте та встановіть
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt-get install oracle-java7-installer
Переконайтеся, що у вас встановлений Java7
$ which java
$ ls -l /usr/bin/java
$ ls -l /etc/alternatives/java
ми мусимо java
вказати на це/usr/lib/jvm/java-7-oracle/jre/bin/java
Підготуйте виконавчого користувача для Hadoophduser
Створіть користувача hduser
в групіhadoop
$ sudo addgroup hadoop
$ sudo adduser --ingroup hadoop hduser
Надайте привілей hduser
на судо
Редагувати судо
$ sudo visudo
Додайте до кінця цей рядок
hduser ALL=(ALL:ALL) ALL
Переключитися на hduser
зараз
$ su - hduser
Дозволити hduser
віддалено через ssh із пропуском без фрази
Встановити openssh
$ sudo apt-get install openssh-server
Створення загальнодоступного / приватного ключа RSA для з'єднання SSH; парольна фраза є порожньою якparameter -P ""
$ ssh-keygen -t rsa -P ""
$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
Переконайтесь, що ви hduser
можете віддалено локально відтворити без пароля
$ ssh localhost
Вимкнути IPv6
Відредагуйте файл конфігурації
$ sudo nano /etc/sysctl.conf
Скопіюйте до кінця
#disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Переконайтесь, що IPv6 вимкнено перезавантаженням або викликом
$ sudo sysctl -p
Тоді дзвоніть
$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6
Слід сказати 1, що означає ОК ^^
Завантажте та конфігуруйте пакет Hadoop
Завантажте пакети Hadoop 2.5.1 з сайту Apache Hadoop
Пряма URL-адреса цього пакету - це посилання
http://www.eu.apache.org/dist/hadoop/core/hadoop-2.5.1/hadoop-2.5.1.tar.gz
Тож давайте завантажимо в hduser
домашню папку, витягнемо її та перейменоваємо вhadoop
$ 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
Переконайтеся , що у нас є Hadoop зберігається в hduser
будинку
$ ls /home/hduser/hadoop
Підготуйте системний шлях $ HADOOP_HOME та $ JAVA_HOME
Редагувати hduser
.bashrc файл
$ nano .bashrc
Поставте до кінця значення для $HADOOP_HOME
і$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
Додайте binary
до системи папки Hadoop$PATH
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
Відкрийте новий термінал, увійдіть як hduser
і переконайтеся, що у вас є $ HADOOP_HOME з доступними командами
$ echo $HADOOP_HOME
$ which start-all.sh
$ which start-dfs.sh
$ which start-yarn.sh
Ми повинні побачити повний шлях цих імен.
Налаштування послуг Hadoop
Кожен компонент в Hadoop налаштовується за допомогою XML-файлу.
Загальні властивості містяться в core-site.xml
Властивості HDFS переходять у hdfs-site.xml
Властивості MapReduce переходять у mapred-site.xml
Усі ці файли знаходяться у папці $ HADOOP_HOME / тощо / hadoop
Визначте знову JAVA_HOME в hadoop-env.sh
редагуванні рядка
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
Визначте Hadoop temp folder
та file system
ім’я в core-site.xml за адресою
<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>
Нам потрібно підготувати це, temp folder
як налаштовано в/home/hduser/tmp
$ cd /home/hduser
$ mkdir tmp
$ chown hduser:hadoop tmp
$ chmod 755 tmp
Визначте file system
's block replication
у 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>
Визначте map-reduce job
у 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>
Формат name node
$ hdfs namenode -format
Запустіть послугу Hadoop
Дзвінок
$ start-dfs.sh && start-yarn.sh
ці дві команди знаходяться на $ HADOOP_HOME / sbin, які ми додавали до системи $ PATH раніше.
Переконайтесь, що послуги Hadoop запускаються належним чином
$ jps
ми повинні бачити