14
Создадим папку downloads в корневом каталоге и скачаем последнюю
версию:
sudo mkdir /downloads
cd /downloads
sudo wget http://apache-mirror.rbc.ru/pub/apache/hadoop/common/stable/hadoop-
2.7.4.tar.gz
Распакуем содержимое пакета в /usr/local/, переименуем папку и выдадим
пользователю hduser права создателя:
sudo mv /downloads/hadoop-2.7.4.tar.gz /usr/local/
cd /usr/local/
sudo tar xzf hadoop-2.7.4.tar.gz
sudo mv hadoop-2.7.4 hadoop
sudo chown -R hduser:hadoop hadoop
1.3.9 Обновление $HOME/.bashrc
Для удобства, добавим в .bashrc список переменных:
#Hadoop variables
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
На этом шаге заканчиваются предварительные подготовки.
1.3.10 Настройка Apache Hadoop
Все последующая работа будет вестись из папки /usr/local/hadoop.
Откроем etc/hadoop/hadoop-env.sh и зададим JAVA_HOME.
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
Опишем, какие у нас будут узлы в кластере в файле etc/hadoop/slaves
master
Этот файл может располагаться только на главном узле. Все новые узлы
необходимо описывать здесь.
Основные настройки системы располагаются в etc/hadoop/core-site.xml:
fs.defaultFS
hdfs://master:9000
Настройки HDFS лежат в etc/hadoop/hdfs-site.xml:
15
dfs.replication
1
dfs.namenode.name.dir
file:/usr/local/hadoop/tmp/hdfs/namenode
dfs.datanode.data.dir
file:/usr/local/hadoop/tmp/hdfs/datanode
Здесь параметр dfs.replication задает количество реплик,
которые будут
хранится на файловой системе. По умолчанию его значение равно 3. Оно не
может быть больше, чем количество узлов в кластере.
Параметры dfs.namenode.name.dir и dfs.datanode.data.dir задают пути, где
будут физически располагаться данные и информация в HDFS. Необходимо
заранее создать папку tmp.
Сообщим нашему кластеру, что мы желаем использовать YARN. Для
этого изменим etc/hadoop/mapred-site.xml:
mapreduce.framework.name
yarn
mapreduce.job.reduces
1
mapreduce.task.io.sort.mb
16
mapreduce.map.memory.mb
256
mapreduce.map.cpu.vcores
1
mapreduce.reduce.memory.mb
256
mapreduce.reduce.cpu.vcores
1
mapreduce.job.heap.memory-mb.ratio
0.8
17
yarn.nodemanager.resource.memory-mb
2060
yarn.scheduler.minimum-allocation-mb
1
yarn.scheduler.increment-allocation-mb
512
yarn.scheduler.maximum-allocation-mb
2316
yarn.nodemanager.vmem-check-enabled
false
Настройки resourcemanager нужны для того,
чтобы все узлы кластера
можно было видеть в панели управления.
Сменим пользователя на hduser:
su hduser
Отформатируем HDFS:
/usr/local/hadoop/bin/hdfs namenode –format
Запустим hadoop службы:
/usr/local/hadoop/sbin/start-dfs.sh
/usr/local/hadoop/sbin/start-yarn.sh
Необходимо убедиться, что запущены следующие java-процессы:
hduser@master:/usr/local/hadoop$ jps
4868 SecondaryNameNode
5243 NodeManager
5035 ResourceManager
4409 NameNode
4622 DataNode
5517 Jps
Теперь у нас есть готовый образ, который послужит основой для создания
кластера.
Далее можно создать требуемое количество копий нашего образа.
На копиях необходимо настроить сеть, сгенерировать новые MAC-адреса
для сетевых интерфейсов, выдать им необходимые IP-адреса и поправить файл
/etc/hosts на
всех узлах кластера так, чтобы в нем были прописаны все
соответствия. Например:
127.0.0.1 localhost
18
192.168.0.1 master
192.168.0.2 slave1
Заменим имя нового узла на slave1, для этого внесем изменения в файл
/etc/hostname.
Сгенерируем на узле новые SSH-ключи и добавим их все в список
авторизованных на узле master.
На каждом узле кластера изменим значения параметра dfs.replication в
/usr/local/hadoop/etc/hadoop/hdfs-site.xml. Например, выставим везде значение 2.
dfs.replication
2
Добавим
на
узле master новый
узел
в
файл
/usr/local/hadoop/etc/hadoop/slaves:
master
slave1
Достарыңызбен бөлісу: