Устанавливаем CDH4 (YARN) на Ubuntu 10.4 lucid в pseudo-distributed mode
ДО шагов из довольно подробного туториала https://ccp.cloudera.com/display/CDH4DOC/Installing+CDH4+on+a+Single+Linux+Node+in+Pseudo-distributed+Mode делаем следующее:
1) Беспарольный ssh: http://www.ibm.com/developerworks/ru/library/l-hadoop-1/
2) Отключаем IPv6: http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/ Зачем? Не ясно, там по ссылке что-то умное написано...
3) Проверяем, что свободны нужные порты: netstat -tnlp (был занят 9000 - освобождаем).
После этих трех шагов останавливаем и запускаем снова все 6 демонов CDH4. И наконец-то видим результаты. Кстати, посмотреть состояние кластера можно по адресу: http://<url_машины>:8088/cluster
Устанавливаем CDH4 (YARN) на Ubuntu 10.4 Lucid
В принципе, вот подробные руководства:
https://ccp.cloudera.com/display/CDH4DOC/CDH4+Installation и
https://ccp.cloudera.com/display/CDH4DOC/Deploying+CDH4+on+a+Cluster
На всех компьютерах:
0. Предполагаем, что
0.1. Java установлена, JAVA_HOME прописана
0.2. Есть беспарольный ssh (см. выше)
0.3. Отключен IPv6 (см. выше)
0.4. Свободны нужные порты (какие? позже будет понятно =) )
То, чего нет в руководстве или непонятно, подсвечено коричневым. Все остальное из руководства.
На "главном" компьютере должны работать ResourceManager (главный по YARN) и NameNode (главный по HDFS):
1. Загрузить и распаковать пакет:
wget http://archive.cloudera.com/cdh4/one-click-install/lucid/amd64/cdh4-repository_1.0_all.deb
sudo dpkg -i cdh4-repository_1.0_all.deb
2. Добавить репозиторий:
В файле /etc/apt/sources.list.d/cloudera.list для Ubuntu Lucid должно быть:
deb [arch=amd64] http://archive.cloudera.com/cdh4/ubuntu/lucid/amd64/cdh lucid-cdh4 contrib
deb-src http://archive.cloudera.com/cdh4/ubuntu/lucid/amd64/cdh lucid-cdh4 contrib
3. Устанавливаем ResourceManager:
sudo apt-get update; sudo apt-get install hadoop-yarn-resourcemanager
NameNode:
sudo apt-get update; sudo apt-get install hadoop-hdfs-namenode
HystoryServer:
sudo apt-get update; sudo apt-get install hadoop-mapreduce-historyserver hadoop-yarn-proxyserver
Может и еще что-то из https://ccp.cloudera.com/display/CDH4DOC/CDH4+Installation#CDH4Installation-Step3, но главная нода у меня "переродилась" из pseudo-distributed mode и после частичного удаления останков предыдущей установки этого хватило.
4. Прописываем JAVA_HOME в /usr/lib/hadoop/libexec/hadoop-layout.sh
5. Конфигурирование сети:
5.1 Задаем имя узла:
sudo hostname myhost-1.full.qualified.domain.name
5.2. Меняем /etc/hosts: дописываем туда этот узел и главный узел
6. Конфигурация HDFS
6.1. Копируем пустую кофигурацию
sudo cp -r /etc/hadoop/conf.empty /etc/hadoop/conf.my_cluster
6.2. Общая конфигурация. В конфигурации my_cluster меняем...
...core-site.xml:
...hdfs-site.xml:
6.3. Конфигурируем директории, где HDFS будет хранить данные:
В hdfs-site.xml допишем:
(Теперь в hdfs-site.xml только 2 вышеперечисленных свойства!)
И создадим эти директории, задав права:
sudo mkdir -p /data/1/dfs/nn /nfsmount/dfs/nn
sudo chown -R hdfs:hdfs /data/1/dfs/nn /nfsmount/dfs/nn
sudo chmod 700 /data/1/dfs/nn /nfsmount/dfs/nn
6.4 Отформатируем NameNode:
sudo service hadoop-hdfs-namenode init
7. Конфигурация YARN
7.1. Изменить файлы конфигурации mapred-site.xml, yarn-site.xml согласно https://ccp.cloudera.com/display/CDH4DOC/Deploying+MapReduce+v2+%28YARN%29+on+a+Cluster
7.2. Создаем необходимые директории:
sudo mkdir -p /data/1/yarn/local /data/2/yarn/local /data/3/yarn/local /data/4/yarn/local
sudo mkdir -p /data/1/yarn/logs /data/2/yarn/logs /data/3/yarn/logs /data/4/yarn/logs
sudo chown -R yarn:yarn /data/1/yarn/local /data/2/yarn/local /data/3/yarn/local /data/4/yarn/local
sudo chown -R yarn:yarn /data/1/yarn/logs /data/2/yarn/logs /data/3/yarn/logs /data/4/yarn/logs
7.3. В yarn-env.sh дописать JAVA_HOME (где-нибудь повыше, до первого ее упоминания)
# JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
7.4. Пора синхронизироваться с установкой на подчиненных нодах кластера (см инструкцию ниже): здесь впору дойти до шага 7 и выполнить его.
8. alternatives каждой ноды должен показывать на нашу конфигурацию:
Или update-alternatives или создать новую линку через
rm /etc/alternatives/hadoop-conf
ln -s /etc/hadoop/conf.my_cluster /etc/alternatives/hadoop-conf
9. Стартуем HDFS (фактически только DataNode):
9.1. Выполни шаг 9 для подчиненных нодов.
10-12 - Есть и в инструкции для подчиненных нодов, но там их делать не надо. Эти шаги выполняются на главном ноде - результаты будут видны по всей HDFS, в том числе и на подчиненных нодов. Хотя создание на клиенте не повредит - просто скажет, что файлы уже существуют.
10. Создаем HDFS /tmp директорию:
11. Создаем history директорию:
12. Создаем директорию пользователя и для логов:
13. Проверка успехов:
sudo -u hdfs hadoop fs -ls -R /
14. Стартуем ResourceManager
sudo service hadoop-yarn-resourcemanager start
На клиентских машинах (после старта ResourceManager'а) стартуем NodeManager'ы
Стартуем HystoryServer
sudo service hadoop-mapreduce-historyserver start
15. Создаем домашнюю директорию для всех, кто будет пользоваться MapReduce (опять же мы и на подчиненных машинах увидим, что она создалась):
16. Устанавливаем export HADOOP_MAPRED_HOME=/usr/lib/hadoop-mapreduce
Надеюсь работает....
На всех компьютерах кроме ResourceManager:
1. Загрузить и распаковать пакет:
wget http://archive.cloudera.com/cdh4/one-click-install/lucid/amd64/cdh4-repository_1.0_all.deb
sudo dpkg -i cdh4-repository_1.0_all.deb
2. Добавить репозиторий:
В файле /etc/apt/sources.list.d/cloudera.list для Ubuntu Lucid должно быть:
deb [arch=amd64] http://archive.cloudera.com/cdh4/ubuntu/lucid/amd64/cdh lucid-cdh4 contrib
deb-src http://archive.cloudera.com/cdh4/ubuntu/lucid/amd64/cdh lucid-cdh4 contrib
3. Устанавливаем DataNode и NodeManager
sudo apt-get update; sudo apt-get install hadoop-yarn-nodemanager hadoop-hdfs-datanode hadoop-mapreduce
4. Прописываем JAVA_HOME в /usr/lib/hadoop/libexec/hadoop-layout.sh
5. Конфигурирование сети:
5.1 Задаем имя узла:
sudo hostname myhost-2.full.qualified.domain.name
5.2. Меняем /etc/hosts: дописываем туда этот узел и главный узел
6. Конфигурация HDFS
6.1. Копируем пустую кофигурацию
sudo cp -r /etc/hadoop/conf.empty /etc/hadoop/conf.my_cluster
6.2. Общая конфигурация. В конфигурации my_cluster меняем...
...core-site.xml:
...hdfs-site.xml:
6.3. Конфигурируем директории, где HDFS будет хранить данные:
В hdfs-site.xml допишем:
(Теперь в hdfs-site.xml только 2 вышеперечисленных свойства!)
И создадим эти директории, задав права:
sudo mkdir -p /data/1/dfs/dn /data/2/dfs/dn /data/3/dfs/dn
sudo chown -R hdfs:hdfs /data/1/dfs/dn /data/2/dfs/dn /data/3/dfs/dn
sudo chmod 700 /data/1/dfs/dn /data/2/dfs/dn /data/3/dfs/dn
7. Конфигурация YARN
Скопируйте mapred-site.xml, yarn-site.xml с "главного" нода.
7.1. Добавить имя нода в /etc/hosts главного нода.
7.2. Скопировать файл с "главного" нода (так он окажется в домашнем каталоге):
scp file user_name@remote_server:~/
7.3. Создаем необходимые директории:
sudo mkdir -p /data/1/yarn/local /data/2/yarn/local /data/3/yarn/local /data/4/yarn/local
sudo mkdir -p /data/1/yarn/logs /data/2/yarn/logs /data/3/yarn/logs /data/4/yarn/logs
sudo chown -R yarn:yarn /data/1/yarn/local /data/2/yarn/local /data/3/yarn/local /data/4/yarn/local
sudo chown -R yarn:yarn /data/1/yarn/logs /data/2/yarn/logs /data/3/yarn/logs /data/4/yarn/logs
7.4. В yarn-env.sh дописать JAVA_HOME (где-нибудь повыше, до первого ее упоминания)
# JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
8. alternatives каждой ноды должен показывать на нашу конфигурацию:
Или update-alternatives или создать новую линку через
rm /etc/alternatives/hadoop-conf
ln -s /etc/hadoop/conf.my_cluster /etc/alternatives/hadoop-conf
9. Стартуем HDFS (фактически только DataNode):
10-12 - выполняются на главном ноде - результаты будут видны по всей HDFS
10. Зачем-то создаем HDFS /tmp директорию (хотя она уже создана):
11. Создаем history директорию:
12. Создаем директорию пользователя и для логов:
13. Проверка успехов:
sudo -u hdfs hadoop fs -ls -R /
14. Стартуем NodeManager (после старта ResourceManager'а на главной)
sudo service hadoop-yarn-nodemanager start
15. Создаем домашнюю директорию для всех, кто будет пользоваться MapReduce (на главной машине - шаг 15, на клиентской мы увидим результат создания):
16. Устанавливаем export HADOOP_MAPRED_HOME=/usr/lib/hadoop-mapreduce
Надеюсь работает....
Чтобы добавить еще одну ноду к кластеру:
1. Проделать все шаги для еще одной "подчиненной" ноды.
Если НЕ заработало сразу, то:
2. Все остановить
3. Отформатировать NameNode на "главной" ноде, удалить все в папках на подчиненных, где хранит HDFS (в примере /data/1/dfs/dn, ...)
4. Запустить все снова, не забыв создать необходимые папки в HDFS (шаги 10-12, 15 для главной ноды)
ДО шагов из довольно подробного туториала https://ccp.cloudera.com/display/CDH4DOC/Installing+CDH4+on+a+Single+Linux+Node+in+Pseudo-distributed+Mode делаем следующее:
1) Беспарольный ssh: http://www.ibm.com/developerworks/ru/library/l-hadoop-1/
2) Отключаем IPv6: http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/ Зачем? Не ясно, там по ссылке что-то умное написано...
3) Проверяем, что свободны нужные порты: netstat -tnlp (был занят 9000 - освобождаем).
После этих трех шагов останавливаем и запускаем снова все 6 демонов CDH4. И наконец-то видим результаты. Кстати, посмотреть состояние кластера можно по адресу: http://<url_машины>:8088/cluster
Устанавливаем CDH4 (YARN) на Ubuntu 10.4 Lucid
В принципе, вот подробные руководства:
https://ccp.cloudera.com/display/CDH4DOC/CDH4+Installation и
https://ccp.cloudera.com/display/CDH4DOC/Deploying+CDH4+on+a+Cluster
На всех компьютерах:
0. Предполагаем, что
0.1. Java установлена, JAVA_HOME прописана
0.2. Есть беспарольный ssh (см. выше)
0.3. Отключен IPv6 (см. выше)
0.4. Свободны нужные порты (какие? позже будет понятно =) )
То, чего нет в руководстве или непонятно, подсвечено коричневым. Все остальное из руководства.
На "главном" компьютере должны работать ResourceManager (главный по YARN) и NameNode (главный по HDFS):
1. Загрузить и распаковать пакет:
sudo dpkg -i cdh4-repository_1.0_all.deb
2. Добавить репозиторий:
В файле /etc/apt/sources.list.d/cloudera.list для Ubuntu Lucid должно быть:
deb [arch=amd64] http://archive.cloudera.com/cdh4/ubuntu/lucid/amd64/cdh lucid-cdh4 contrib
deb-src http://archive.cloudera.com/cdh4/ubuntu/lucid/amd64/cdh lucid-cdh4 contrib
3. Устанавливаем ResourceManager:
sudo apt-get update; sudo apt-get install hadoop-yarn-resourcemanager
NameNode:
sudo apt-get update; sudo apt-get install hadoop-hdfs-namenode
HystoryServer:
sudo apt-get update; sudo apt-get install hadoop-mapreduce-historyserver hadoop-yarn-proxyserver
Может и еще что-то из https://ccp.cloudera.com/display/CDH4DOC/CDH4+Installation#CDH4Installation-Step3, но главная нода у меня "переродилась" из pseudo-distributed mode и после частичного удаления останков предыдущей установки этого хватило.
4. Прописываем JAVA_HOME в /usr/lib/hadoop/libexec/hadoop-layout.sh
5. Конфигурирование сети:
5.1 Задаем имя узла:
sudo hostname myhost-1.full.qualified.domain.name
5.2. Меняем /etc/hosts: дописываем туда этот узел и главный узел
6. Конфигурация HDFS
6.1. Копируем пустую кофигурацию
sudo cp -r /etc/hadoop/conf.empty /etc/hadoop/conf.my_cluster
6.2. Общая конфигурация. В конфигурации my_cluster меняем...
...core-site.xml:
...hdfs-site.xml:
<property>
<name>dfs.permissions.superusergroup</name>
<value>hadoop</value>
</property>
6.3. Конфигурируем директории, где HDFS будет хранить данные:
В hdfs-site.xml допишем:
(Теперь в hdfs-site.xml только 2 вышеперечисленных свойства!)
И создадим эти директории, задав права:
sudo mkdir -p /data/1/dfs/nn /nfsmount/dfs/nn
sudo chown -R hdfs:hdfs /data/1/dfs/nn /nfsmount/dfs/nn
sudo chmod 700 /data/1/dfs/nn /nfsmount/dfs/nn
6.4 Отформатируем NameNode:
sudo service hadoop-hdfs-namenode init
7. Конфигурация YARN
7.1. Изменить файлы конфигурации mapred-site.xml, yarn-site.xml согласно https://ccp.cloudera.com/display/CDH4DOC/Deploying+MapReduce+v2+%28YARN%29+on+a+Cluster
7.2. Создаем необходимые директории:
sudo mkdir -p /data/1/yarn/local /data/2/yarn/local /data/3/yarn/local /data/4/yarn/local
sudo mkdir -p /data/1/yarn/logs /data/2/yarn/logs /data/3/yarn/logs /data/4/yarn/logs
sudo chown -R yarn:yarn /data/1/yarn/local /data/2/yarn/local /data/3/yarn/local /data/4/yarn/local
sudo chown -R yarn:yarn /data/1/yarn/logs /data/2/yarn/logs /data/3/yarn/logs /data/4/yarn/logs
7.3. В yarn-env.sh дописать JAVA_HOME (где-нибудь повыше, до первого ее упоминания)
# JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
7.4. Пора синхронизироваться с установкой на подчиненных нодах кластера (см инструкцию ниже): здесь впору дойти до шага 7 и выполнить его.
8. alternatives каждой ноды должен показывать на нашу конфигурацию:
Или update-alternatives или создать новую линку через
rm /etc/alternatives/hadoop-conf
ln -s /etc/hadoop/conf.my_cluster /etc/alternatives/hadoop-conf
9. Стартуем HDFS (фактически только DataNode):
for service in /etc/init.d/hadoop-hdfs-*
> do
> sudo $service start
> done
9.1. Выполни шаг 9 для подчиненных нодов.
10-12 - Есть и в инструкции для подчиненных нодов, но там их делать не надо. Эти шаги выполняются на главном ноде - результаты будут видны по всей HDFS, в том числе и на подчиненных нодов. Хотя создание на клиенте не повредит - просто скажет, что файлы уже существуют.
10. Создаем HDFS /tmp директорию:
sudo -u hdfs hadoop fs -mkdir /tmp
sudo -u hdfs hadoop fs -chmod -R 1777 /tmp
11. Создаем history директорию:
sudo -u hdfs hadoop fs -mkdir /user/history
sudo -u hdfs hadoop fs -chmod -R 1777 /user/history
12. Создаем директорию пользователя и для логов:
13. Проверка успехов:
sudo -u hdfs hadoop fs -ls -R /
14. Стартуем ResourceManager
sudo service hadoop-yarn-resourcemanager start
На клиентских машинах (после старта ResourceManager'а) стартуем NodeManager'ы
Стартуем HystoryServer
sudo service hadoop-mapreduce-historyserver start
15. Создаем домашнюю директорию для всех, кто будет пользоваться MapReduce (опять же мы и на подчиненных машинах увидим, что она создалась):
16. Устанавливаем export HADOOP_MAPRED_HOME=/usr/lib/hadoop-mapreduce
Надеюсь работает....
На всех компьютерах кроме ResourceManager:
1. Загрузить и распаковать пакет:
sudo dpkg -i cdh4-repository_1.0_all.deb
2. Добавить репозиторий:
В файле /etc/apt/sources.list.d/cloudera.list для Ubuntu Lucid должно быть:
deb [arch=amd64] http://archive.cloudera.com/cdh4/ubuntu/lucid/amd64/cdh lucid-cdh4 contrib
deb-src http://archive.cloudera.com/cdh4/ubuntu/lucid/amd64/cdh lucid-cdh4 contrib
3. Устанавливаем DataNode и NodeManager
sudo apt-get update; sudo apt-get install hadoop-yarn-nodemanager hadoop-hdfs-datanode hadoop-mapreduce
4. Прописываем JAVA_HOME в /usr/lib/hadoop/libexec/hadoop-layout.sh
5. Конфигурирование сети:
5.1 Задаем имя узла:
sudo hostname myhost-2.full.qualified.domain.name
5.2. Меняем /etc/hosts: дописываем туда этот узел и главный узел
6. Конфигурация HDFS
6.1. Копируем пустую кофигурацию
sudo cp -r /etc/hadoop/conf.empty /etc/hadoop/conf.my_cluster
6.2. Общая конфигурация. В конфигурации my_cluster меняем...
...core-site.xml:
...hdfs-site.xml:
<property>
<name>dfs.permissions.superusergroup</name>
<value>hadoop</value>
</property>
6.3. Конфигурируем директории, где HDFS будет хранить данные:
В hdfs-site.xml допишем:
(Теперь в hdfs-site.xml только 2 вышеперечисленных свойства!)
И создадим эти директории, задав права:
sudo mkdir -p /data/1/dfs/dn /data/2/dfs/dn /data/3/dfs/dn
sudo chown -R hdfs:hdfs /data/1/dfs/dn /data/2/dfs/dn /data/3/dfs/dn
sudo chmod 700 /data/1/dfs/dn /data/2/dfs/dn /data/3/dfs/dn
7. Конфигурация YARN
Скопируйте mapred-site.xml, yarn-site.xml с "главного" нода.
7.1. Добавить имя нода в /etc/hosts главного нода.
7.2. Скопировать файл с "главного" нода (так он окажется в домашнем каталоге):
scp file user_name@remote_server:~/
7.3. Создаем необходимые директории:
sudo mkdir -p /data/1/yarn/local /data/2/yarn/local /data/3/yarn/local /data/4/yarn/local
sudo mkdir -p /data/1/yarn/logs /data/2/yarn/logs /data/3/yarn/logs /data/4/yarn/logs
sudo chown -R yarn:yarn /data/1/yarn/local /data/2/yarn/local /data/3/yarn/local /data/4/yarn/local
sudo chown -R yarn:yarn /data/1/yarn/logs /data/2/yarn/logs /data/3/yarn/logs /data/4/yarn/logs
7.4. В yarn-env.sh дописать JAVA_HOME (где-нибудь повыше, до первого ее упоминания)
# JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
8. alternatives каждой ноды должен показывать на нашу конфигурацию:
Или update-alternatives или создать новую линку через
rm /etc/alternatives/hadoop-conf
ln -s /etc/hadoop/conf.my_cluster /etc/alternatives/hadoop-conf
9. Стартуем HDFS (фактически только DataNode):
for service in /etc/init.d/hadoop-hdfs-*
> do
> sudo $service start
> done
10-12 - выполняются на главном ноде - результаты будут видны по всей HDFS
10. Зачем-то создаем HDFS /tmp директорию (хотя она уже создана):
sudo -u hdfs hadoop fs -mkdir /tmp
sudo -u hdfs hadoop fs -chmod -R 1777 /tmp
11. Создаем history директорию:
sudo -u hdfs hadoop fs -mkdir /user/history
sudo -u hdfs hadoop fs -chmod -R 1777 /user/history
12. Создаем директорию пользователя и для логов:
13. Проверка успехов:
sudo -u hdfs hadoop fs -ls -R /
14. Стартуем NodeManager (после старта ResourceManager'а на главной)
sudo service hadoop-yarn-nodemanager start
15. Создаем домашнюю директорию для всех, кто будет пользоваться MapReduce (на главной машине - шаг 15, на клиентской мы увидим результат создания):
16. Устанавливаем export HADOOP_MAPRED_HOME=/usr/lib/hadoop-mapreduce
Надеюсь работает....
Чтобы добавить еще одну ноду к кластеру:
1. Проделать все шаги для еще одной "подчиненной" ноды.
Если НЕ заработало сразу, то:
2. Все остановить
3. Отформатировать NameNode на "главной" ноде, удалить все в папках на подчиненных, где хранит HDFS (в примере /data/1/dfs/dn, ...)
4. Запустить все снова, не забыв создать необходимые папки в HDFS (шаги 10-12, 15 для главной ноды)
Comments
Post a Comment