Hadoop 3.1.3分布式安装(非HA)

一、服务器规划

Hostname角色
hadoop1NameNode
DataNode
NodeManager
hadoop2DataNode
ResourceManager
NodeManager
JobHistoryServer
hadoop3DataNode
Secondary NameNode
NodeManager

二、Hadoop平台相关节点服务

1、NameNode:

  • 接收用户请求

  • 维护文件系统的目录结构

  • 管理文件与block之间关系,block与DataNode之间的关系

2、DataNode:

  • 存储文件

  • 文件被分成block存储在磁盘上

  • 为保证数据安全,文件会有多个副本

3、Secondary NameNode:

  • 合并来自namenode的fsimage和edits文件来更新namenode的metadata

三、Yarn平台相关节点服务

  1. ResourceManager:

    • 集群中所有资源的统一管理和分配,它接受来自各个节点的NodeManager的资源汇报信息,并把这些信息按照一定的策略分配给各个应用程序,是整个yarn集群中最重要的组件之一。
  2. JobHistoryServer:

    • 历史服务器,可以通过历史服务器查看已经运行完成的Mapreduce作业记录,比如用了多少个Map、多少个Reduce、作业提交时间、作业启动时间、作业完成时间等信息。默认情况下,历史服务器是没有启动的,需要进行参数配置才能启动。
  3. NodeManager:

    • 运行在单个节点上的代理,管理hadoop集群中单个计算节点,它需要与相应用程序ApplicationMaster和集群管理者ResourceManager交互,从ApplicationMaster上接收有关Contioner的命令并执行,向ResourceManager汇报各个Container运行状态和节点健康状况,并领取有关的Container的命令并执行。

四、Hadoop配置环境

BinHadoop最基本的管理脚本和使用脚本的目录,这些脚本是sbin目录下管理脚本的基础实现 。用户可以直接使用这些脚本管理和使用Hadoop
include对外提供的编程库头文件(具体动态库和静态库在lib目录中),这些头文件均是用C++定义的,通常用于C++程序访问HDFS或者编写MapReduce程序。
etcHadoop的配置文件所在的目录,各类**.xml配置文件夹
lib该目录下存放的是Hadoop运行时依赖的jar包,Hadoop在执行时会把lib目录下面的jar全部加到classpath中。
libexec各个服务对用的shell配置文件所在的目录,可用于配置日志输出、启动参数(比如JVM参数)等基本信息。
sbinHadoop管理脚本所在的目录,主要包含HDFS和YARN中各类服务的启动/关闭脚本,
shareHadoop各个模块编译后的jar包所在的目录,也官方自带的doc手册
logs**(hadoop初始化之后才会自动生成)**该目录存放的是Hadoop运行的日志,查看日志对寻找Hadoop运行错误非常有帮助。
namenode_dir在hdfs-site.xml配置后,hadoop首次启动会创建该目录,目录下包含edit文件和fsimage
datanode_dir在hdfs-site.xml配置后,hadoop首次启动会创建该目录:存放数据文件

配置系统环境变量:

vim /etc/profile

export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

立即生效

source /etc/profile

五、配置文件

1、core-site.xml

<configuration>
    <!-- 指定NameNode的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop1:8020</value>
    </property>

    <!-- 指定hadoop数据的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-3.1.3/data</value>
    </property>

    <!-- 配置HDFS网页登录使用的静态用户为root,此处应该用新建用户-->
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>root</value>
    </property>
</configuration>
	

2、hdfs-site.xml

<configuration>
    <!--把hadoop3 设为secondary namenode,端口不能缺少 -->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop3:50090</value>
    </property>    
    <!-- namenode 上存储 hdfs 名字空间元数据-->
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/opt/module/hadoop-3.1.3/namenode</value>
    </property>

    <!-- datanode 上数据块的物理存储位置-->  
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/opt/module/hadoop-3.1.3/datanode</value>
    </property>

    <!-- 设置 hdfs 副本数量 -->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
</configuration>				

3、mapred-site.xml

<configuration>    
	<!-- 指定yarn运行-->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

    <!-- 打开Jobhistory -->
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>hadoop2:10020</value>
    </property>

  	<!-- 指定Hadoop2作为jobhistory服务器 -->
    <property>
      <name>mapreduce.jobhistory.webapp.address</name>
      <value>hadoop2:19888</value>
    </property>

  	<!-- 注意这里的路径不是Linux文件路径,而是hdfs文件系统上的路径 -->
    <property>
        <name>mapreduce.jobhistory.done-dir</name>
        <value>/history/done</value>
    </property>

    <property>
        <name>mapreduce.jobhistory.intermediate-done-dir</name>
        <value>/history/done_intermediate</value>
    </property>

 	 <!-- mp所需要hadoop环境 -->
    <property>
        <name>yarn.app.mapreduce.am.env</name>
        <value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3</value>
    </property>

    <property>
        <name>mapreduce.map.env</name>
        <value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3</value>
    </property>

    <property>
        <name>mapreduce.reduce.env</name>
        <value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3</value>
    </property>

</configuration>

4、yarn-site.xml

<configuration>	
	<!-- Site specific yarn configuration properties -->
    <!-- 指定ResourceManager的地址 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop2</value>
    </property>

    <!-- reducer取数据的方式是mapreduce_shuffle -->  
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

5、配置启动脚本

设置start-dfs.sh和stop-dfs.sh

在文件开头增加如下内容:

HDFS_DATANODE_USER=root 
HADOOP_SECURE_DN_USER=hdfs 
HDFS_NAMENODE_USER=root 
HDFS_SECONDARYNAMENODE_USER=root

设置start-yarn.sh和stop-yarn.sh

在文件开头增加如下内容:

  YARN_RESOURCEMANAGER_USER=root
  HADOOP_SECURE_DN_USER=yarn
  YARN_NODEMANAGER_USER=root

6、启动顺序

  1. 初始化hdfs(namenode所在节点服务器)

  2. 启动dfs(namenode所在节点服务器)

  3. 启动yarn (ResourceManager所在节点服务器)

  4. hadoop2作为yarn主节点的JobHistoryServer服务,还需要启动historyserver

mapred --daemon start historyserver
## 在namenode上执行 
hdfs namenode -format
start-dfs.sh
## 在hadoop2上执行
start-yarn.sh
mapred --daemon start historyserver

检查节点服务启动情况

jps

六、web查看

  • Namenode服务:http://hadoop1:9870/dfshealth.html#tab-overview
    在这里插入图片描述

  • yarn服务:http://hadoop2:8088/cluster
    在这里插入图片描述
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值