Используйте докер перед зеркалом, которое приходит с установкой, то эта сборка Hadoop кластера с использованием зеркальных Али, также относятся к онлайн-части подкаста, но более или менее существует проблема, я иду через все это подкаста практика успешно протестирована разбегаются.
1, зеркало монтажа Hadoop
1) вытащить зеркало
Али вытащил Hadoop зеркала
docker pull registry.cn-hangzhou.aliyuncs.com/kaibb/hadoop
зеркала
docker images
3) Создание контейнера Hadoop
(1) Создание мастер - узла
docker run --name master -d -h master registry.cn-hangzhou.aliyuncs.com/kaibb/hadoop
Параметры:
-h имя хоста контейнера устанавливается
-name имя Настройки Контейнер
-d работать в фоновом режиме
Создание Slave1 и slave2 узел (2), таким образом ,
docker run --name slave1 -d -h slave1 registry.cn-hangzhou.aliyuncs.com/kaibb/hadoop
docker run --name slave2 -d -h slave2 registry.cn-hangzhou.aliyuncs.com/kaibb/hadoop
(3) Просмотр контейнер
docker ps -s
(4) в контейнер , чтобы просмотреть JDK
docker exec -it master bash
JDK уже поставляется с
(5) , выполненными с возможностью генерации ключей SSH, все узлы должны быть сконфигурированы
в контейнер после
запуска SSH
/etc/init.d/ssh start
поколения клавиши
* ssh-keygen -t rsa
(5) , соответственно , к каждому узлу, открытый ключ других узлов также копируются в authorized_keys, что означает , что каждый> authorized_keys файл , хранящийся в открытом ключе 3 и является таким же , как
в файл - контейнере CentOS копируются на локальный
- docker cp 容器id/容器名称:/root/.ssh/authorized_keys /home/hadoop/authorized_keys_master
эти три файла , чтобы скопировать файл
cd /home/hadoop/
cat authorized_keys_master authorized_keys_slave1 authorized_keys_slave2 > authorized_keys
cat authorized_keys
для копирования файлов на локальный контейнер CentOS
docker cp /home/hadoop/authorized_keys 容器id/容器名称:/root/.ssh/authorized_keys
каждой конфигурации узла IP - адрес (6), соответственно,
в контейнер, этот контейнер может быть использован непосредственно просмотреть команды IP - адрес IP Addr
для каждого контейнера , чтобы установить адрес, vi /etc/hosts
настроить
SSH мастер - тест, тест успешен
2, настроить Hadoop (профиль каталога, как правило, в /opt/tools/hadoop-2.7.2/etc/hadoop/ ниже)
1) Конфигурация hadoop-env.sh , расположенных JDK
(1) в месте хранения контейнера, чтобы найти hadoop-env.sh
find / -name hadoop-env.sh
(2) файл Просмотр hadoop-env.sh
export JAVA_HOME=/opt/tools/jdk1.8.0_77
2) Конфигурация ядро-site.xml, настроить адрес и номер порта HDFS
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop/tmp</value>
</property>
3) Настройка HDFS-site.xml, HDFS количество резервной конфигурации, конфигурации тракта данных NameNode и DataNode
/ Hadoop / данных и / Hadoop / имя, чтобы создать эту папку заранее
mkdirp -p /hadoop/data
mkdirp -p /hadoop/name
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/hadoop/data</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/hadoop/name</value>
</property>
</configuration>
Больше или равно числу ведомая поддержкой, а не те, кто будет жаловаться
4) расположен mapred-site.xml, обозначенная MapReduce работать на нити, расположенный адрес и порт JobTracker.
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
5), расположенная пряжа site.xml, настроить количество резервной HDFS
параметры конфигурации
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value> </property> <property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8089</value>
</property>
6) посылает эти параметры к другим узлам
scp /opt/tools/hadoop-2.7.2/etc/hadoop/yarn-site.xml slave1:/opt/tools/hadoop-2.7.2/etc/hadoop/
Site.xml процессор hadoop-env.sh передачи HDFS-site.xml mapred-site.xml yarn- site.xml slave2 узла и Slave1
3, запустить Hadoop
1) Настройка рабов
2) на мастер-формате NameNode
hadoop namenode -format
3) Запустить кластер на мастер
cd /opt/tools/hadoop/sbin/
./start-all.sh