Linux-Hadoop集群配置

文章目录

  • 一、配置Hadoop集群
    • 1、在master虚拟机上配置hadoop
      • (1)编辑Hadoop环境配置文件 - hadoop-env.sh
      • (2)编辑Hadoop核心配置文件 - core-site.xml
      • (3)编辑HDFS配置文件 - hdfs-site.xml
      • (4)编辑MapReduce配置文件 - mapred-site.xml
      • (5)编辑yarn配置文件 - yarn-site.xml
      • (6)编辑workers文件确定数据节点
    • 2、在slave1虚拟机上安装配置hadoop
      • (1)将master虚拟机上的hadoop分发到slave1虚拟机
      • (2)将master虚拟机上环境配置文件分发到slave1虚拟机
      • (3)在slave1虚拟机上让环境配置生效
    • 3、在slave2虚拟机上安装配置hadoop
      • (1)将master虚拟机上的hadoop分发到slave2虚拟机
      • (2)将master虚拟机上环境配置文件分发到slave2虚拟机
      • (3)在slave2虚拟机上让环境配置生效
  • 二、格式化文件系统
  • 三、启动和关闭Hadoop集群
    • 1、主节点上启动hadoop集群
      • (1)启动hdfs服务
      • (2)启动yarn服务
    • 2、主节点上停止Hadoop集群

一、配置Hadoop集群

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

配置文件 功能描述
hadoop-env.sh 配置Hadoop运行所需的环境变量
yarn-env.sh 配置Yarn运行所需的环境变量
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配置文件
workers 配置从节点文件

1、在master虚拟机上配置hadoop

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

  • 执行命令:cd $HADOOP_HOME/etc/hadoop,进入hadoop配置目录
    Linux-Hadoop集群配置_第1张图片

  • 执行命令:vim hadoop-env.sh,添加三条环境变量配置(其实只需要添加第三条,因为前两条已经在/etc/profile里配置过了)
    Linux-Hadoop集群配置_第2张图片

export JAVA_HOME=/usr/local/jdk1.8.0_231 
export HADOOP_HOME=/usr/local/hadoop-3.3.4
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
  • 存盘退出后,执行命令source hadoop-env.sh,让配置生效
    Linux-Hadoop集群配置_第3张图片

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

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

  • 执行命令:vim core-site.xml
    Linux-Hadoop集群配置_第4张图片Linux-Hadoop集群配置_第5张图片
<configuration>
    
    <property>
        <name>fs.defaultFSname>
        <value>hdfs://master:9000value>
    property>
    
    <property>
        <name>hadoop.tmp.dirname>
        <value>/usr/local/hadoop-3.3.4/tmpvalue>
    property>    
configuration>
  • 由于配置了IP地址主机名映射,因此配置HDFS老大节点可用hdfs://master:9000,否则必须用IP地址hdfs://192.168.1.101:9000
    Linux-Hadoop集群配置_第6张图片

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

  • 执行命令:vim hdfs-site.xml
    Linux-Hadoop集群配置_第7张图片

  • 可以不用设置名称节点的目录、数据节点的目录以及辅助名称节点

<configuration>
    
    <property>
        <name>dfs.namenode.name.dirname>
        <value>/usr/local/hadoop-3.3.4/tmp/namenodevalue>
    property>
    
    <property>
        <name>dfs.datanode.data.dirname>
        <value>/usr/local/hadoop-3.3.4/tmp/datanodevalue>
    property>
    
    <property>
        <name>dfs.namenode.secondary.http-addressname>
        <value>master:50090value>
    property>
    
    
    <property>
        <name>dfs.namenode.http-addressname>
        <value>0.0.0.0:9870value>
    property>
    
    <property>
        <name>dfs.replicationname>
        <value>3value>
    property>
    
    <property>
        <name>dfs.permissions.enabledname>
        <value>falsevalue>
    property>
configuration>

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

  • 执行命令:vim mapred-site.xml
    Linux-Hadoop集群配置_第8张图片
<configuration>
    
    <property>
        <name>mapreduce.framework.namename>
        <value>yarnvalue>
    property>
    <property>
        <name>yarn.app.mapreduce.am.envname>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}value>
    property>
    <property>
        <name>mapreduce.map.envname>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}value>
    property>
    <property>
        <name>mapreduce.reduce.envname>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}value>
    property>
configuration>

后三个属性如果不设置,在运行Hadoop自带示例的词频统计时,会报错:Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster

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

  • 执行命令:vim yarn-site.xml
    Linux-Hadoop集群配置_第9张图片
<configuration>
    
    <property>        
        <name>yarn.resourcemanager.hostnamename>
        <value>mastervalue>
    property>
    
    <property>
        <name>yarn.nodemanager.aux-servicesname>
        <value>mapreduce_shufflevalue>
    property>
    
    <property>
        <name>yarn.nodemanager.vmem-check-enabledname>
        <value>falsevalue>
    property>
configuration>

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

  • hadoop-2.x里配置slaves文件,hadoop-3.x里配置workers文件
  • 通过workers文件定义数据节点,根据集群规划,三个节点都要作为数据节点
  • 执行命令:vim workers
    Linux-Hadoop集群配置_第10张图片

这样集群总共有3个数据节点,正好跟副本数配置的3一致。

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

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

  • 执行命令:scp -r $HADOOP_HOME root@slave1:$HADOOP_HOME
    Linux-Hadoop集群配置_第11张图片

  • 在slave1虚拟机上查看分发的hadoop
    Linux-Hadoop集群配置_第12张图片

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

  • 执行命令:scp /etc/profile root@slave1:/etc/profile
    Linux-Hadoop集群配置_第13张图片

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

  • 切换到slave1虚拟机,执行命令:source /etc/profile
    Linux-Hadoop集群配置_第14张图片

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

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

  • 执行命令:scp -r $HADOOP_HOME root@slave2:$HADOOP_HOME
    Linux-Hadoop集群配置_第15张图片

  • 在slave2虚拟机上查看分发的hadoop
    Linux-Hadoop集群配置_第16张图片

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

  • 执行命令:scp /etc/profile root@slave2:/etc/profile
    Linux-Hadoop集群配置_第17张图片

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

  • 切换到slave2虚拟机,执行命令:source /etc/profile
    Linux-Hadoop集群配置_第18张图片

二、格式化文件系统

  • 初次启动HDFS集群时,必须对主节点进行格式化处理。
    执行命令:hdfs namenode -format

  • 查看名称节点格式化成功的信息
    Linux-Hadoop集群配置_第19张图片

三、启动和关闭Hadoop集群

1、主节点上启动hadoop集群

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

(1)启动hdfs服务

  • 执行命令:start-dfs.sh
    Linux-Hadoop集群配置_第20张图片

一个名称节点(namenode)——老大,在master虚拟机上;三个数据节点(datanode)——小弟,在master、slave1与slave2虚拟机上。辅助名称节点(secondary namenode)的地址是master,因为在hdfs-site.xml文件里配置了辅助名称节点。
Linux-Hadoop集群配置_第21张图片

  • 查看master虚拟机上的进程
    Linux-Hadoop集群配置_第22张图片

  • 查看slave1虚拟机上的进程
    Linux-Hadoop集群配置_第23张图片

  • 查看slave2虚拟机上的进程
    Linux-Hadoop集群配置_第24张图片

(2)启动yarn服务

  • 执行命令:start-yarn.sh

Linux-Hadoop集群配置_第25张图片

启动了YARN守护进程;一个资源管理器(ResourceManager)在master虚拟机上,三个节点管理器(NodeManager)在master、slave1与slave2虚拟机上

  • 执行命令jps查看master虚拟机的进程
    Linux-Hadoop集群配置_第26张图片

  • 查看slave1和slave2上的进程,只有NodeManager和DataNode
    Linux-Hadoop集群配置_第27张图片
    Linux-Hadoop集群配置_第28张图片

  • 查看Hadoop服务进程总体状况
    Linux-Hadoop集群配置_第29张图片

2、主节点上停止Hadoop集群

  • 在master虚拟机上执行命令:stop-all.sh(相当于同时执行了stop-dfs.shstop-yarn.sh
    Linux-Hadoop集群配置_第30张图片

你可能感兴趣的:(探索大数据,hadoop,linux,大数据,mapreduce,hdfs)