将配置1主 2从 Hadoop Multi Node Cluster 构架:

服务器名称 内部IP HDFS YARN
master 192.168.56.100 NameNode ResourceManager
data01 192.168.56.101 DataNode NodeManager
data02 192.168.56.102 DataNode NodeManager

1. 网络配置

  1. 复制 SingleNode 虚拟机,初始化所有网卡MAC地址;

    若新建虚拟机可参照 0. Virtualbox+Centos8.md 进行网络配置;

  1. 修改网络配置,设置 IP;

    CentOS

  1. data01 data02 master 三台服务器分别设置而非复制而成,需设置三台服务器间的免密登陆 ```bash

    假设登陆服务器为 master

    ssh master

ssh-copy-id -i ~/.ssh/id_rsa.pub root@data01 ssh-copy-id -i ~/.ssh/id_rsa.pub root@data02

  1. <br />data01 data02 服务器也需进行该操作,来实现三台服务器之间的免密登陆;
  2. <a name="32f31fb3"></a>
  3. ## 2. 设置 data 服务器
  4. 1. 设置 hostname
  5. ```bash
  6. sudo vim /etc/hostname
  7. data01
  1. 编辑 hosts 文件 ```bash sudo vim /etc/hosts

192.168.56.100 master 192.168.56.101 data01 192.168.56.102 data02

  1. 3. 设置 core-site.xml<br />当程序存取 HDFS时,使用 `fs.default.name`作为目标节点
  2. ```bash
  3. sudo vim /usr/local/hadoop/etc/hadoop/core-site.xml
  1. 设置 YARN-site.xml
    MapReduce(YARN) 相关配置
    1. sudo vim /usr/local/hadoop/etc/hadoop/yarn-site.xml
  1. 设置 mapred-site.xml
    1. sudo vim /usr/local/hadoop/etc/hadoop/mapred-site.xml
  1. 设置 hdfs-site.xml
    1. sudo vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml
  1. 复制 data01 到 data02 master, data02 修改 IP 和 hostname

3. 设置 master 服务器

master 由 data 镜像,若单独配置 master 服务器,除下述配置外,其他配置参照 data 配置即可;

  1. 设置 hostname
  1. sudo vim /etc/hostname
  2. master
  1. 编辑 hosts 文件
  1. sudo vim /etc/hosts
  2. 192.168.56.100 master
  3. 192.168.56.101 data01
  4. 192.168.56.102 data02
  1. 设置 hdfs-site.xml
  1. sudo vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml
  1. <configuration>
  2. <!-- 设置 blocks 副本备份数量 -->
  3. <property>
  4. <name>dfs.replication</name>
  5. <value>3</value>
  6. </property>
  7. <!-- 设置 NameNode 数据存储目录 -->
  8. <property>
  9. <name>dfs.namenode.data.dir</name>
  10. <value>file:/usr/local/hadoop/hadoop_data/hdfs/namenode</value>
  11. </property>
  12. <!-- 任意网卡均可访问 -->
  13. <property>
  14. <name>dfs.http.address</name>
  15. <value>0.0.0.0:50070</value>
  16. </property>
  17. </configuration>
  1. 设置 masters 文件
  1. sudo vim /usr/local/hadoop/etc/hadoop/masters
  2. master
  1. 设置 workers 文件
  1. sudo vim /usr/local/hadoop/etc/hadoop/workers
  2. data01
  3. data02

4. 设置 HDFS

  1. DataNode 服务器
  1. sudo rm -rf /usr/local/hadoop/hadoop_data/hdfs
  2. mkdir -p /usr/local/hadoop/hadoop_data/hdfs/datanode
  1. NameNode 服务器
  1. sudo rm -rf /usr/local/hadoop/hadoop_data/hdfs
  2. mkdir -p /usr/local/hadoop/hadoop_data/hdfs/namenode

格式化 NameNode HDFS 目录

  1. hadoop namenode -format

5. 测试

  1. start-all.sh
  1. 使用 JPS 查看相关进程
  • NameNode:
  1. 1585 NameNode
  2. 2007 ResourceManager
  3. 2312 Jps
  4. 1791 SecondaryNameNode
  • DataNode:
  1. 1266 DataNode
  2. 1411 NodeManager
  3. 1542 Jps
  1. Hadoop ResourceManager Web:本机访问 localhost:8088 或 服务器IP:8088 ;
  2. HDFS Web: 本机访问 localhost:50070 或 服务器IP:50070 ;
  3. 若开启端口转发,2、3步骤中 端口号换为转发端口号;