основное содержание
- Установка Hadoop
помещение
- нормальное использование zookeeper
- Переменная среды JAVA_HOME
Инсталляционный пакет
Загрузка Weiyun | каталог пакетов tar
- Hadoop 2.7.7
разделение ролей
Назначение ролей | NN | DN | SNN |
---|---|---|---|
cluster-master | да | нет | нет |
cluster-slave1 | нет | да | да |
cluster-slave1 | нет | да | нет |
cluster-slave1 | нет | да | нет |
1. Подготовка окружающей среды
Загрузить в докер-образ
docker cp hadoop-2.7.7.tar.gz cluster-master:/root/tar
распаковать
tar xivf hadoop-2.7.7.tar.gz -C /opt/hadoop
2. Файл конфигурации
core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://jinbill</value>
</property>
<property>
<name>ha.zookeeper.quorum</name>
<value>cluster-master:2181</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop</value>
</property>
</configuration>
yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>mr_jinbill</value>
</property>
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>cluster-slave2</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>cluster-slave3</value>
</property>
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>192.168.11.46:12181</value>
</property>
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
</configuration>
hadoop-env.sh
export JAVA_HOME=/opt/jdk/jdk1.8.0_221
hdfs-site.xml
<configuration>
<property>
<name>dfs.nameservices</name>
<value>jinbill</value>
</property>
<property>
<name>dfs.ha.namenodes.jinbill</name>
<value>nn1,nn2</value>
</property>
<property>
<name>dfs.namenode.rpc-address.jinbill.nn1</name>
<value>cluster-master:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-address.jinbill.nn2</name>
<value>cluster-slave1:8020</value>
</property>
<property>
<name>dfs.namenode.http-address.shsxt.nn1</name>
<value>cluster-master:50070</value>
</property>
<property>
<name>dfs.namenode.http-address.shsxt.nn2</name>
<value>cluster-slave1:50070</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://cluster-slave1:8485;cluster-slave2:8485;cluster-slave3:8485/jinbill</value>
</property>
<property>
<name>dfs.client.failover.proxy.provider.jinbill</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
</value>
</property>
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
</property>
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/root/.ssh/id_rsa</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/opt/hadoop/data</value>
</property>
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
</configuration>
Создайте новый файл рабов, если он есть, отредактируйте его напрямую
cluster-slave1
cluster-slave2
cluster-slave3
3. Инициализация
Запустить все узлы JournalNode
hadoop-daemon.sh start journalnode
Инициализировать метаданные на NN
hdfs namenode -forma
Скопируйте отформатированные метаданные в SNN
scp /opt/zookeeper/dfs cluster-slave1:/opt/hadoop
Запустите NN мастер-узла
hadoop-daemon.sh start namenode
Выполнить на SNN
hdfs namenode -bootstrapStandby
Начать SNN
hadoop-daemon.sh start namenode
Инициализировать ZKFC на NN или SNN
hdfs zkfc -formatZK
остановить вышеуказанный узел
stop-dfs.sh
4. Старт
start-dfs.sh
start-yarn.sh
5. Успешен ли тест
Поскольку сегмент сети другой, вам нужно добавить маршрут для доступа
- Откройте cmd, нужны права администратора
- route add 172.15.0.0 mask 255.255.0.0 192.168.11.38 -p