01--大数据Hadoop部署

前言:

整理下云计算的内容,就从大数据开头吧,结合生活中的经历与工作中的项目,尽量归纳一下能用到的知识。

1、大数据介绍

1.1、使用大数据的原因

  • 数据量越来越大:随着互联网的普及和各种传感器技术的发展,我们生产的数据量呈指数增长。大数据技术可以帮助组织有效地管理、存储和处理这些海量数据,从中提取有价值的信息。
  • 数据分析的实时性越来越强:随着业务环境的快速变化,实时数据分析变得至关重要。大数据技术能够以高速处理数据,并且支持实时或近实时的数据分析,使组织能够更快地做出决策并作出针对性的调整。
  • 数据结果的应用越来越广泛:大数据分析不仅仅局限于传统的业务分析,还可以应用于各个领域,如市场营销、医疗保健、金融服务、智能制造等。通过大数据技术,组织可以挖掘出隐藏在数据背后的模式和趋势,从而优化业务流程、提高效率和创新能力

 1.2、大数据的定义

  • 大数据是收集、整理、处理大容量数据集,并从中获得结果的技术总称。

2、大数据应用领域

1.广告:

淘宝广告投放及广告策略

2.电信:
奇安信的包检测,探针,流量监控

3.金融:
风险预警,量化打板

4.能源生科:

肿瘤基因组分析,地质勘探推测

5.安全

入侵检测,图像识别

6.社交游戏

用户流失分析,社交对象推荐

7.电商零售 

推荐系统,交易模式分析

3、大数据处理框架

3.1、大数据处理框架的定义

处理框架和处理引擎负责对数据系统中的数据进行计算。
虽然“引擎”和“框架”之间的区别没有什么权威的定义,但大部分时候可以将前者定义为实际负责处理数据操作的组件,后者则可定义为承担类似作用的一系列组件。

3.2、处理框架分类

1)仅批处理框架,类似地铁拥挤时分批进入
用于批量处理大数据集的处理框架,可对整个数据集进行操作。
例如:
Apache Hadoop,一种以MapReduce作为默认处理引擎批处理框架。

2)仅流处理框架,类似地铁畅通时随时逐个进入
用于对随时进入系统的数据进行计算,是一种“无数据边界”的操作方式。
例如:
Apache Storm
 Apache Samza

3)混合处理框架
一些大数据处理框架可同时处理批处理和流处理工作负载。
例如:
Apache Spark(微批处理)
Apache Flink

4、hadoop

4.1、hadoop描述:

开源软件
大数据处理架构
单台服务可以,数千台服务器
每台服务器都存自己的数据及运算自己的数据
把硬件故障认为常态,通过软件把控故障

4.2、核心项目(组件)

Hadoop分布式文件系统(HDFS™):一种分布式文件系统,可提供对应用程序数据的高吞吐量访问。
Hadoop YARN:作业调度和集群资源管理的框架。
Hadoop MapReduce:基于YARN的系统,用于并行处理大型数据集。

Hadoop Common:支持其他Hadoop模块的常用实用程序。
Hadoop Ozone: Hadoop集群所提供的对象存储。

4.3、相关项目(组件)

Ambari™
基于Web的工具,用于配置,管理和监控Apache Hadoop集群,包括对Hadoop HDFS,Hadoop MapReduce,Hive,HCatalog,HBase,ZooKeeper,Oozie,Pig和Sqoop的支持。
Ambari还提供了一个用于查看集群运行状况的仪表板,例如热图,以及可视化查看MapReduce,Pig和Hive应用程序的功能,以及以用户友好的方式诊断其性能特征的功能。

Avro™
数据序列化系统。
Cassandra™
可扩展的多主数据库,没有单点故障。
Chukwa™
用于管理大型分布式系统的数据收集系统。
HBase™
可扩展的分布式数据库,支持大型表的结构化数据存储。

Hive™
一种数据仓库基础架构,提供数据汇总和即时查询。

Mahout™
可扩展的机器学习和数据挖掘库。(人工智能方向必备)

Pig™
用于并行计算的高级数据流语言和执行框架。
Spark™:
用于Hadoop数据的快速通用计算引擎。Spark提供了一种简单而富有表现力的编程模型,支持广泛的应用程
序,包括ETL,机器学习,流处理和图形计算。
Tez™
基于Hadoop YARN构建的通用数据流编程框架,它提供了一个功能强大且灵活的引擎,可以执行任意DAG任务
来处理批量和交互式用例的数据。Tez正在被Hadoop生态系统中的Hive™,Pig™和其他框架以及其他商业软件
(例如ETL工具)采用,以取代Hadoop™MapReduce作为底层执行引擎。
ZooKeeper™
用于分布式应用程序的高性能协调服务。

5、分布式文件系统HDFS介绍

5.1、hadoop文件系统定义 

  • HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)
  • 它是一个高度容错性的系统
  • 它适合部署在廉价的机器上
  • 它能提供高吞吐量的数据访问
  • 它适合那些有着超大数据集(large data set,机器学习)的应用程序

 5.2、hadoop文件系统特点

  • 支持大文件(非常适合TB,PB级别文件)
  • 分块(文件分块存储)
  • 廉价设备(普通pc机)
  • 支持硬件故障(保存副本)

 5.3、hadoop名词解释

block(块)

最基本的存储单位;将文件进行分块处理,Hadoop 2.X 通常是128M/块,1.x为64M

NameNode(主节点)

用于保存整个文件系统的目录信息、文件信息及分块信息,这是由唯一一台主机专门保存,当然这台主机如果出错,NameNode就失效了。

  • 接收用户的操作请求
  • 维护文件系统的目录结构
  • 管理文件和Block之间的映射管理
  • 管理 block 和 DataNode 之间的映射

 在Hadoop2.X开始支持activity-standy模式,如果主NameNode失效,启动备用主机运NameNode。

DataNode(从节点)

  • 分布在廉价的计算机上,用于存储Block块文件。
  • 文件被分成块存储到 DataNode 的磁盘上
  • 每个Block(块)可以设置多副本

 5.4、HDFS写数据流程

流程概述:

客户端向namenode发起请求,namenode根据查询元数据允许请求

客户端向datanode发起建立连接请求,dn向不同机柜建立通道,完成后同意请求

客户端向datanode写入数据,dn们对namenode进行更新

5.5、HDFS读数据流程

流程概述:
客户端发送请求至namenode,namenode检察元数据后返回dn信息

客户端接收到dn信息后向所有dn发送读取信息,请求同时读取

dn发送每个block文件,多线程供客户端读取

6、核心编程模型MapReduce介绍

6.1、MapReduce的作用

将大的数据分析分成小块逐个分析,最后再将提取出来的数据汇总分析,最终获得我们想要的内容。通俗说MapReduce是一套从海量源数据提取、分析元素,最后返回结果集的方法。
当然怎么分块分析,怎么做Reduce操作非常复杂,Hadoop已经提供了数据分析的实现,我们只需要编写简单的需求命令即可达成我们想要的数据。
总结:
map 把大数据分成小数据,进行计算 通过洗牌的方式给reduce,达成多线程同时处理的效果,reduce 对map的结果进行汇总

例如:

求和1+5+7+3+4+9+3+5+6=?

6.2、MapReduce工作流程

  • 划分输入数据

    • 输入数据被划分成若干个大小适中的数据块(Input Splits),每个数据块可以被一个Map任务处理。
    • 这些数据块通常存储在分布式文件系统(如HDFS)中。
  • Map阶段

    • 在Map阶段,每个Map任务并行处理一个或多个输入数据块。
    • 用户定义的Map函数被应用于每个输入数据块中的每个记录(或键值对),生成中间键值对集合。
  • 分区(Partitioning)

    • 生成的中间键值对根据它们的键被分配到不同的分区中。
    • 分区数通常等于Reduce任务的数量,用于后续的数据传输和Reduce任务的并行执行。
  • Shuffle阶段

    • 在Shuffle阶段,Map输出的中间键值对被分发到各个Reduce任务所在的节点。
    • 数据传输过程中,相同键的数据被合并(如排序和合并)以减少网络传输量。
  • Reduce阶段

    • 在Reduce阶段,每个Reduce任务处理一个或多个分区中的中间键值对。
    • 用户定义的Reduce函数被应用于每个键及其关联的值的集合,生成最终的输出。
  • 输出

    • 每个Reduce任务生成的输出被写入到输出文件系统(如HDFS)中

以快递公司需要通过一批快递获得本地派送信息举例

想象一家快递公司需要处理大量的包裹订单。他们采用MapReduce来处理这些订单:

  1. 订单分配

    • 首先,所有的订单被划分成多个区域,比如城市或者区域,以便更好地进行处理。每个区域对应一个输入数据块。
  2. 派送员任务

    • 每个派送员(Map任务)拿到一个区域的订单。他们按照订单上的地址,将包裹送到对应的目的地。
    • 在这个过程中,他们还会记录下每个目的地的包裹数量,以及其他相关信息(比如送达时间)。
  3. 信息整理

    • 派送员完成派送后,他们将收集到的信息整理归纳,比如按照目的地进行分类,统计每个目的地的包裹数量。
    • 这个过程就像是Shuffle阶段,数据被整理和分类,以便后续的处理。
  4. 总结汇总

    • 派送员将整理好的信息交给分拣中心(Reduce任务)。在这里,对每个目的地的数据进行进一步的处理和汇总。
    • 他们可能会统计每个目的地的包裹总量,计算平均派送时间,或者识别出哪些目的地需求最大。
  5. 结果输出

    • 最后,分拣中心生成了最终的统计报告,包括每个目的地的包裹数量、平均派送时间等信息。
    • 这个报告被发送给管理人员,以帮助他们做出业务决策。

7、hadoop部署模式

本地模式(Local Mode):
在本地模式下,Hadoop作业在单个计算节点上运行,不涉及分布式计算和数据存储。这种模式通常用于开发、调试和测试目的,以便在单个节点上快速验证Hadoop作业的正确性

伪分布式模式(Pseudo-Distributed Mode):
在伪分布式模式下,Hadoop集群的各个组件(包括HDFS和YARN)都在单个物理节点上运行,但是它们被配置成模拟一个真正的分布式环境。这意味着每个节点都运行一个或多个Hadoop守护进程,并且可以通过网络通信相互交互。伪分布式模式常用于开发、测试和学习目的,以便在较小的规模上模拟真实集群的行为。

完全分布式模式(Fully-Distributed Mode):
完全分布式模式是Hadoop的生产环境部署方式,其中集群由多个物理节点组成,每个节点运行一个或多个Hadoop守护进程,并且各节点之间通过网络通信进行数据交换和任务调度。在完全分布式模式下,Hadoop集群可以处理大规模的数据集,并实现高可用性、容错性和性能扩展。

高可用性模式(High Availability Mode):
高可用性模式是一种完全分布式模式的扩展,它通过引入额外的故障转移和容错机制来提高系统的可用性。在高可用性模式下,Hadoop集群的关键组件(如NameNode和ResourceManager)可以配置成主备模式或者使用其他高可用性技术(如ZooKeeper)来实现故障切换和自动恢复,以确保集群的持续可用性。

模式各个模块占用JVM进程数各个模块运行在几台机器上
本地模式11
伪分布式模式1
完全分布式模式
高可用模式

8、本地(单机)模式部署

  • 单机(本地模式)是Hadoop的默认部署模式。
  • 当配置文件为空时,Hadoop完全运行在本地。
  • 不需要与其他节点交互,单机(本地模式)就不使用HDFS,也不加载任何Hadoop的守护进程。使用本地文件系统存储数据。
  • 该模式主要用于开发调试MapReduce程序的应用逻辑。

 8.1、软件包获取

jdk下载链接

hadoop下载链接


8.2、部署

jdk部署

[root@localhost ~]# tar xf jdk-8u202-linux-x64.tar.gz -C /usr/local
[root@localhost ~]# cd /usr/local
[root@localhost local]# mv jdk1.8.0_202 jdk

hadoop部署

[root@localhost ~]# tar xf hadoop-2.10.2.tar.gz -C /opt
[root@localhost ~]# cd /opt/
[root@localhost opt]# mv hadoop-2.10.2 hadoop

配置环境变量

[root@localhost opt]# vim /etc/profile

export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/opt/hadoop
export PATH=${JAVA_HOME}/bin:${HADOOP_HOME}/bin:$PATH

[root@localhost opt]# source /etc/profile

8.3、测试

[root@localhost ~]#mkdir /home/input
[root@localhost ~]#cp /opt/hadoop/etc/hadoop/*.xml /home/input
这条是随便拷一些东西到输入目录,也可以自己写进去,做实验的话自己写更清晰

[root@localhost ~]#hadoop jar /opt/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.2.jar wordcount /home/input/ /home/output/00

hadoop调用hadoop-mapreduce-examples-2.8.5.jar示例程序中的wordcount作业对输入目录/home/input/进行词频统计,并将结果输出到/home/output/00

[root@localhost ~]#cat /home/output/00/*
部分结果如下图

[root@localhost ~]# cd /home/output/00
[root@localhost 00]# ls
part-r-00000  _SUCCESS

输出目录中有_SUCCESS文件说明JOB运行成功,part-r-00000是输出结果文件

9、伪分布式部署

  • Hadoop守护进程运行在本地机器上,模拟一个小规模的的集群。
  • 该模式在单机模式之上增加了代码调试功能,允许你检查内存使用情况,HDFS输入/输出,以及其他的守护进程交互。

9.1、软件包获取

同本地模式

9.2、部署

同本地模式

9.3、修改配置文件

9.3.1、JAVA_HOME参数修改

去到/opt/hadoop/etc/hadoop下

修改hadoop-env.sh、mapred-env.sh、yarn-env.sh文件中JAVA_HOME参数

export JAVA_HOME=/usr/local/jdk

9.3.2、修改core-site.xml

此处按照实际使用的流程,需要配置地址解析,此处将本机域名配置为hd1

去到/opt/hadoop/etc/hadoop下

vim /opt/hadoop/etc/hadoop/core-site.xml



<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://hd1:8020</value>
        </property>
        
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/opt/data/tmp</value>
        </property>
</configuration>

参数详解:

<name>fs.defaultFS</name>:

这行配置指定了默认的文件系统(File System),即Hadoop集群中的文件系统地址。
fs.defaultFS 是 Hadoop 中用于指定默认文件系统的属性名。
hdfs://hd1:8020 是指定的默认文件系统的地址,其中 hdfs:// 表示使用 Hadoop 分布式文件系统(HDFS),hd1 是指定的 NameNode 主机名或 IP 地址,8020 是指定的 NameNode 监听的端口号。

<name>hadoop.tmp.dir</name>:

这行配置指定了 Hadoop 的临时目录,用于存储临时文件和数据。
hadoop.tmp.dir 是 Hadoop 中用于指定临时目录的属性名。
/opt/data/tmp 是指定的临时目录的路径,这个目录会在 Hadoop 各节点上被使用,例如用于存储临时数据、作业执行过程中的中间结果等

9.3.3、配置hdfs-site.xml

dfs.replication配置的是HDFS存储时的备份数量,因为这里是伪分布式环境只有一个节点,所以这里设置为 1。

vim /opt/hadoop/etc/hadoop/hdfs-site.xml




<configuration>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
</configuration>

9.3.4、初始化hdfs

格式化后,查看core-site.xml里hadoop.tmp.dir(前面设置的是/opt/data/tmp)指定的目录下是否有了dfs目录,如果有,说明格式化成功。

hdfs namenode -format

[root@localhost hadoop]# ls /opt/data/tmp/
dfs

9.3.5、查看hdfs临时目录

[root@localhost hadoop]# ls /opt/data/tmp/dfs/name/current/
fsimage_0000000000000000000  fsimage_0000000000000000000.md5  seen_txid  VERSION

fsimage_0000000000000000000:

    这是格式化后的文件系统初始状态的镜像文件。它包含了一个空的文件系统目录结构,并且没有任何文件或目录。这个镜像文件是 NameNode 启动时加载的起点,用于构建初始的文件系统状态。

fsimage_0000000000000000000.md5:

    这是 fsimage 文件的校验和文件,用于验证 fsimage 文件的完整性。MD5 校验和是通过对文件内容进行哈希计算生成的一个固定长度的校验和。在文件传输或存储过程中,可以用这个校验和来验证文件的完整性,确保文件没有被篡改或损坏。

seen_txid:

    这个文件记录了 NameNode 已经处理过的事务 ID(Transaction ID)。在 Hadoop 中,每个对文件系统的操作都被称为一个事务,每个事务都有一个唯一的事务 ID。在格式化后,这个文件通常会被重置为初始值,以表示文件系统已经被格式化。

VERSION:

    这个文件包含了 NameNode 的版本信息以及与版本相关的一些元数据信息,比如文件系统布局版本、软件版本等。在格式化后,这个文件会包含新的版本信息,反映了格式化后的文件系统状态

9.4、启动角色 

请把hadoop安装目录中的sbin目录中的命令添加到/etc/profile环境变量中,不然无法使用hadoop daemon.sh

[root@localhost hadoop]# vim /etc/profile
[root@localhost hadoop]# tail -3  /etc/profile
export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/opt/hadoop
export PATH=${JAVA_HOME}/bin:${HADOOP_HOME}/sbin:${HADOOP_HOME}/bin:$PATH
[root@localhost hadoop]# source /etc/profile

启动角色并验证

[root@localhost hadoop]# hadoop-daemon.sh start namenode
starting namenode, logging to /opt/hadoop/logs/hadoop-root-namenode-localhost.out
[root@localhost hadoop]# hadoop-daemon.sh start datanode
starting datanode, logging to /opt/hadoop/logs/hadoop-root-datanode-localhost.out
[root@localhost hadoop]# jps
2162 NameNode
2323 Jps
2246 DataNode

9.5、HDFS上文件操作

命令帮助

[root@localhost ~]# hdfs dfs --help

创建目录

[root@localhost hadoop]# hdfs dfs -mkdir /input
[root@localhost hadoop]# hdfs dfs -ls /
Found 1 items
drwxr-xr-x   - root supergroup          0 2024-05-14 18:24 /input

上传文件

[root@localhost ~]# vim test_hdfs
[root@localhost ~]# hdfs dfs -put /root/test_hdfs /input
[root@localhost ~]# hdfs dfs -ls /input
Found 1 items
-rw-r--r--   1 root supergroup        157 2024-05-14 18:29 /input/test_hdfs

读取文件

[root@localhost ~]# hdfs dfs -cat /input/test_hdfs
LLLLLLLLLLLLLLL
111111111111111
MMMMMMMMMMMMMMM
2222222222222222
QQQQQQQQQQ
uuuuuuuuu
aaaaaaaaa
nnnnnnnnnnnnnnn

下载文件

[root@localhost ~]# ls
anaconda-ks.cfg       jdk-8u202-linux-x64.tar.gz
hadoop-2.10.2.tar.gz  mysql80-community-release-el9-5.noarch.rpm
[root@localhost ~]# hdfs dfs -get /input/test_hdfs
[root@localhost ~]# ls
anaconda-ks.cfg       jdk-8u202-linux-x64.tar.gz                  test_hdfs
hadoop-2.10.2.tar.gz  mysql80-community-release-el9-5.noarch.rpm
[root@localhost ~]# 

9.6、配置yarn

9.6.1、yarn介绍

在Hadoop中,YARN(Yet Another Resource Negotiator)是Apache Hadoop生态系统中的一个集群资源管理器。作为Hadoop的第二代资源管理框架,YARN负责管理和分配集群中的计算资源。在古老的Hadoop 1.0版本中,MapReduce的JobTracker负责了过多的工作,包括资源调度和管理众多的TaskTracker等工作。由于这种设计不合理,Hadoop在1.0到2.0的升级过程中将JobTracker的资源调度工作独立出来,形成了YARN。YARN的主要目标是提供一个通用的资源管理框架,使得Hadoop能够更好地支持各种计算模型和应用程序。通过核心组件ResourceManager(资源管理器)、NodeManager(节点管理器)、ApplicationMaster(应用程序管理器)和Container(容器),YARN有效地管理和分配集群中的计算资源,以满足不同应用程序的需求。 YARN的作用是对CPU、内存等集群计算资源进行有效管理和分配,从而实现更高效的计算任务调度和执行。

9.6.2、YARN 的特点和组成部分

资源管理器(ResourceManager):
ResourceManager 是 YARN 的核心组件之一,负责整个集群的资源管理和作业调度。它通过接收来自客户端的应用程序提交请求,并协调集群中的资源分配和作业执行,以确保各个应用程序能够公平地共享集群资源。

节点管理器(NodeManager):
NodeManager 在每个集群节点上运行,卧底提供信息,负责监控节点资源使用情况,并与 ResourceManager 进行通信以报告节点的资源可用性。NodeManager 还负责启动和监控容器,容器是 YARN 中运行应用程序的基本单元,用于隔离不同应用程序之间的资源使用。

应用程序管理器(ApplicationManager):
每个 YARN 应用程序都有一个对应的 ApplicationMaster,负责管理该应用程序的生命周期,包括资源申请、任务调度、容错处理等。ApplicationMaster 运行在一个由 ResourceManager 分配的容器中,并与 ResourceManager 和 NodeManager 交互以执行作业。

资源调度器(Scheduler):
资源调度器负责根据应用程序的资源需求和集群资源的可用性进行资源分配和调度。YARN 提供了多种资源调度器的实现,包括容量调度器(CapacityScheduler)和公平调度器(FairScheduler),可以根据需求选择不同的调度策略。

主从架构
流程图

通过这些组件的协作,YARN 提供了一个灵活且高效的资源管理和作业调度框架,使得 Hadoop 生态系统能够支持各种类型的数据处理工作负载,并且能够有效地利用集群资源,提高作业的执行效率和资源利用率。

9.6.2、配置文件

默认没有mapred-site.xml文件,但是有个mapred-site.xml.template配置模板文件。复制模板生成mapred site.xml。

[root@localhost hadoop]# cp mapred-site.xml.template mapred-site.xml
[root@localhost hadoop]# vim mapred-site.xml
[root@localhost hadoop]# tail -6 mapred-site.xml
<configuration>
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
</configuration>



通过将 mapreduce.framework.name 设置为 yarn,Hadoop将使用YARN作为MapReduce 作业的执行框架

编辑yarn-site.xml

yarn.nodemanager.aux-services配置了yarn的默认混洗方式,选择为mapreduce的默认混洗算法。

yarn.resourcemanager.hostname指定了Resourcemanager运行在哪个节点上。

[root@localhost hadoop]# vim yarn-site.xml 
[root@localhost hadoop]# tail -11 yarn-site.xml 
<configuration>
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
 	</property>
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>hd1</value>
	</property>
<!-- Site specific YARN configuration properties -->
</configuration>

9.6.3、启动yarn

[root@localhost hadoop]# yarn-daemon.sh start resourcemanager
starting resourcemanager, logging to /opt/hadoop/logs/yarn-root-resourcemanager-localhost.out
[root@localhost hadoop]# yarn-daemon.sh start nodemanager
starting nodemanager, logging to /opt/hadoop/logs/yarn-root-nodemanager-localhost.out
[root@localhost hadoop]# jps
1717 ResourceManager
1765 NodeManager
2198 DataNode
2279 Jps
2107 NameNode

9.6.4、测试yarn

[root@localhost hadoop]# hadoop jar /opt/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.2.jar wordcount /input /output/00
[root@localhost hadoop]# hdfs dfs -ls /output/00
Found 2 items
-rw-r--r--   1 root supergroup          0 2024-05-15 16:52 /output/00/_SUCCESS
-rw-r--r--   1 root supergroup        194 2024-05-15 16:52 /output/00/part-r-00000



另一种

[root@localhost hadoop]# yarn jar /opt/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.2.jar wordcount /input /output/01
[root@localhost hadoop]# hdfs dfs -ls /output/01
Found 2 items
-rw-r--r--   1 root supergroup          0 2024-05-15 17:32 /output/01/_SUCCESS
-rw-r--r--   1 root supergroup        194 2024-05-15 17:32 /output/01/part-r-00000

部分运行过程展示

 10、排错及yarn_web查看

日志位置

[root@localhost hadoop]# pwd
/opt/hadoop
[root@localhost hadoop]# ls
bin  etc  include  lib  libexec  LICENSE.txt  logs  NOTICE.txt  README.txt  sbin  share
[root@localhost hadoop]# ls logs/
hadoop-root-datanode-localhost.log    SecurityAuth-root.audit
hadoop-root-datanode-localhost.out    userlogs
hadoop-root-datanode-localhost.out.1  yarn-root-nodemanager-localhost.log
hadoop-root-namenode-localhost.log    yarn-root-nodemanager-localhost.out
hadoop-root-namenode-localhost.out    yarn-root-resourcemanager-localhost.log
hadoop-root-namenode-localhost.out.1  yarn-root-resourcemanager-localhost.out
[root@localhost hadoop]#

yarn_web查看

防火墙放行或关闭后使用本机浏览器访问8088端口,可以看到更加明了的过程

 11、停止hadoop

[root@localhost hadoop]# jps
3378 Jps
1717 ResourceManager
1765 NodeManager
2198 DataNode
2107 NameNode
[root@localhost hadoop]# hadoop-daemon.sh stop namenode
stopping namenode
[root@localhost hadoop]# hadoop-daemon.sh stop datanode
stopping datanode
[root@localhost hadoop]# yarn-daemon.sh stop resourcemanager
stopping resourcemanager
[root@localhost hadoop]# yarn-daemon.sh stop nodemanager
stopping nodemanager
nodemanager did not stop gracefully after 5 seconds: killing with kill -9
[root@localhost hadoop]# jps
3474 Jps

12、扩展

开启历史服务及查看 
Hadoop开启历史服务可以在web页面上查看Yarn上执行job情况的详细信息。可以通过历史服务器查看已经运行完的Mapreduce作业记录,比如用了多少个Map、用了多少个Reduce、作业提交时间、作业启动时间、作业完成时间等信息。

[root@localhost hadoop]# mr-jobhistory-daemon.sh start historyserver
starting historyserver, logging to /opt/hadoop/logs/mapred-root-historyserver-localhost.out

开启后,可以通过Web页面查看历史服务器:
http://localhost:19888

  • 18
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值