一、配置Hadoop集群

Hadoop的配置文件都在$HADOOP_HOME/etc/hadoop目录里

配置文件

功能描述

hadoop-env.sh

配置Hadoop运行所需的环境变量

yarn-env.sh

配置Hadoop运行所需的环境变量

core-site.xml

Hadoop核心全局配置文件,可在其他配置文件中引用

hdfs-site.xml

HDFS配置文件,继承core-site.xml配置文件

mapred-site.xml

MapReduce配置文件,继承core-site.xml配置文件

yarn-site.xml

Yarn配置文件,继承core-site.xml配置文件

yarn-site.xml

配置从节点文件

1、在master虚拟机上配置hadoop

(1)编辑Hadoop环境配置文件 - hadoop-env.sh

执行命令:cd $HADOOP_HOME/etc/hadoop,进入hadoop配置目录

执行命令:vim hadoop-env.sh,添加三条环境变量配置

Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_Hadoop 的配置文件


存盘退出后,执行命令source hadoop-env.sh,让配置生效

Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_大数据_02


查看三个配置的三个环境变量

Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_大数据_03

(2)编辑Hadoop核心配置文件 - core-site.xml

执行命令:vim core-site.xml

Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_hadoop_04


Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_配置文件_05

(3)编辑HDFS配置文件 - hdfs-site.xml

执行命令:vim hdfs-site.xml

Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_hdfs_06

<configuration>
    <!--设置名称节点的目录-->
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/usr/local/hadoop-3.3.4/tmp/namenode</value>
    </property>
    <!--设置数据节点的目录-->
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/usr/local/hadoop-3.3.4/tmp/datanode</value>
    </property>
    <!--设置辅助名称节点-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>master:50090</value>
    </property>
    <!--hdfs web的地址,默认为9870,可不配置-->
    <!--注意如果使用hadoop2,默认为50070-->
    <property>
        <name>dfs.namenode.http-address</name>
        <value>0.0.0.0:9870</value>
    </property>
    <!--副本数,默认为3,可不配置-->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <!--是否启用hdfs权限,当值为false时,代表关闭-->
    <property>
        <name>dfs.permissions.enabled</name>
        <value>false</value>
    </property>
</configuration>

(4)编辑MapReduce配置文件 - mapred-site.xml

执行命令:vim mapred-site.xml

Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_配置文件_07

<configuration>
    <!--配置MR资源调度框架YARN-->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>yarn.app.mapreduce.am.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
    <property>
        <name>mapreduce.map.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
    <property>
        <name>mapreduce.reduce.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
</configuration>

(5)编辑yarn配置文件 - yarn-site.xml

执行命令:vim yarn-site.xml

Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_hdfs_08

<configuration>
    <!--配置资源管理器:集群master-->
    <property>        
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
    <!--配置节点管理器上运行的附加服务-->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <!--关闭虚拟内存检测,在虚拟机环境中不做配置会报错-->
    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>
</configuration>

(6)编辑workers文件确定数据节点

hadoop-2.x里配置slaves文件,hadoop-3.x里配置workers文件

通过workers文件定义数据节点,根据集群规划,三个节点都要作为数据节点

执行命令:vim workers

Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_hdfs_09

2、在slave1虚拟机上安装配置hadoop

(1)将master虚拟机上的hadoop分发到slave1虚拟机

执行命令:scp -r $HADOOP_HOME root@slave1:$HADOOP_HOME

Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_Hadoop 的配置文件_10


在slave1虚拟机上查看分发的hadoop

Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_hdfs_11

(2)将master虚拟机上环境配置文件分发到slave1虚拟机

执行命令:scp /etc/profile root@slave1:/etc/profile

Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_配置文件_12

(3)在slave1虚拟机上让环境配置生效

切换到slave1虚拟机,执行命令:source /etc/profile

Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_Hadoop 的配置文件_13

3、在slave2虚拟机上安装配置hadoop

(1)将master虚拟机上的hadoop分发到slave2虚拟机

执行命令:scp -r $HADOOP_HOME root@slave2:$HADOOP_HOME

Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_配置文件_14


在slave2虚拟机上查看分发的hadoop

Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_配置文件_15

(2)将master虚拟机上环境配置文件分发到slave2虚拟机

执行命令:scp /etc/profile root@slave2:/etc/profile

Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_配置文件_16

(3)在slave2虚拟机上让环境配置生效

切换到slave2虚拟机,执行命令:source /etc/profile

Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_Hadoop 的配置文件_17

二、格式化文件系统

初次启动HDFS集群时,必须对主节点进行格式化处理。

执行命令:hdfs namenode -format

查看名称节点格式化成功的信息

Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_hadoop_18

三、启动和关闭Hadoop集群

1、主节点上启动hadoop集群

执行start-all.sh命令,一起启动hdfs和yarn服务,也可以分开启动两种服务。

(1)启动hdfs服务

执行命令:start-dfs.sh

Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_大数据_19


查看master虚拟机上的进程

Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_配置文件_20


查看slave1虚拟机上的进程

Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_Hadoop 的配置文件_21


查看slave2虚拟机上的进程

Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_配置文件_22

(2)启动yarn服务

执行命令:start-yarn.sh

Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_配置文件_23


执行命令jps查看master虚拟机的进程

Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_配置文件_24


查看slave1和slave2上的进程,只有NodeManager和DataNode

Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_hadoop_25


Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_hdfs_26

2、主节点上停止Hadoop集群

在master虚拟机上执行命令:stop-all.sh(相当于同时执行了stop-dfs.sh与stop-yarn.sh)

Hadoop 的配置文件 hadoop的配置文件都在etc/hadoop目录下_配置文件_27