# Hadoop 安装部署全分布式模式

全分布模式:集群模式,用于在生产上,Hadoop 安装在最少需要两台服务器集群中。

# 准备工作和规划机器

  1. 192.168.3.12 -> bigdata12
  2. 192.168.3.13 -> bigdata13
  3. 192.168.3.14 -> bigdata14

# 服务节点规划

  1. 192.168.3.12
    • NameNode
    • SencondaryNameNode
    • ResourceManager
  2. 192.168.3.13
    • DataNode
    • NodeManager
  3. 192.168.3.14
    • DataNode
    • NodeManager

# 准备工作

  1. 关闭防火墙

    • systemctl stop firewalld.service
    • systemctl disable firewalld.service
    • 注:在生产环境中,服务器的防火墙是不能关闭的,只能通过打开特定的服务端口进行开放
  2. 安装 JDK

  3. 配置主机名 vi /etc/hosts

    • 192.168.3.12 bigdata12
    • 192.168.3.13 bigdata13
    • 192.168.3.14 bigdata14
  4. 配置免密码登陆:俩俩之间的免密码登陆

  5. 保证每个服务器的时间同步

    • 可单独搭建时间服务器,每台服务器跟同步时间服务器进行同步
    • 每台服务器同时执行时间同步命令:data -s 2020-05-02 10:00:00

# 安装 Hadoop

  1. 在主节点(192.168.3.12)进行安装
# 解压并
tar -zxvf ~/tools/hadoop-2.10.0.tar.gz -C /usr/software/

# 设置环境变量
vi /etc/profile

HADOOP_HOME=/usr/software/hadoop-2.10.0
JAVA_HOME=/usr/software/jdk1.8.0_251

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:

# 使环境生效
source /etc/profile
  1. 修改配置文件
    1. hadoop-env.sh
      • 修改 hadoop-env.sh 中的 JAVA_HOME=/usr/software/jdk1.8.0_251 (在25行)
    2. core-site.xml
    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://bigdata11:9000</value>
        </property>
        <!--可选,如果不配置,则hdfs-site.xml 需要配置 DateNode的元数据存储路径-->
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/usr/software/hadoop-2.10.0/tmp</value>
        </property>
    </configuration>
    
    1. hdfs-site.xml
    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>2</value>
        </property>
    
        <!-- 可选,如果没配置 hadoop.tmp.dir,则需要进行修改-->
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>file:///usr/software/hadoop-2.10.0/data/datanode</value>
        </property>
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>file:///usr/software/hadoop-2.10.0/data/namenode</value>
        </property>
    </configuration>
    
    1. mapred-site.xml
    cp mapred-site.xml.template mapred-site.xml
    
    <!-- 官方的默认配置:local -->
    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>
    
    1. yarn-site.xml
    <configuration>
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>bigdata12</value>
        </property>
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
    </configuration>
    
    1. slaves: 指明从节点地址(数据节点 DataNode 地址)
      • bigdata13
      • bigdata14
  2. 格式化
hdfs namenode -format
  1. 拷贝,把主节点配置好的 hadoop 复制到从节点上
# 拷贝 hadoop安装包到其他两台机器
scp -r /usr/software/hadoop-2.10.0 root@bigdata13:/usr/software
scp -r /usr/software/hadoop-2.10.0 root@bigdata14:/usr/software

# 拷贝配置环境变量
scp -r /etc/hosts root@bigdata13:/etc/
scp -r /etc/hosts root@bigdata14:/etc/

scp -r /etc/profile root@bigdata13:/etc/
scp -r /etc/profile root@bigdata14:/etc/

# 在从节点上刷新配置环境,使其生效
source /etc/profile
  1. 在主节点上启动 Hadoop
# 启动
start-all.sh

# 停止
stop-all.sh

如果日志上打印了以下信息,则集群部署成功!

启动 Hadoop

  1. 查看 Hadoop 的各节点相关进程

通过 jps 命令查看 Hadoop 的相关进程

在 192.168.3.12 节点上

192.168.3.12

在 192.168.3.13 节点上

192.168.3.13

在 192.168.3.14 节点上

192.168.3.14

  1. 主节点(192.168.3.12)访问 Web 控制台

HDFS Console

HDFS Console

Yarn Console

上次更新: 2020-05-10 13:33:57