【linux】之大数据基础平台实施及运维上

news2024/12/25 23:38:41

一、大数据介绍

学习目标

  • 能够了解为什么使用大数据技术
  • 能够了解大数据指的是什么
  1. 为什么使用大数据技术? 数据量越来越大

    • 数据量越来越大
    • 数据分析的实时性越来越强
    • 数据结果的应用越来越广泛

结论:我们需要使用大数据技术

大数据的定义

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

二、大数据应用领域

学习目标

  • 能够了解大数据应用在哪些领域
  1. 广告

    • 广告投放
    • 广告策略
  2. 电信

    • 深度包检测
    • 流失分析
    • 网络质量
  3. 金融

    • 风险识别
    • 预测
  4. 能源生物

    • 基因组分析
    • 地质分析
  5. 安全

    • 入侵检测
    • 图像识别
  6. 社交游戏

    • 流失分析
    • 社交推荐
    • 使用分析
  7. 电商零售

    • 推荐系统
    • 交易分析

三、大数据技术处理框架有哪些?

学习目标

  • 能够了解大数据处理框架有哪些
  • 能够了解每种大数据处理框架所对应的产品
  1. 什么是大数据处理框架?

处理框架处理引擎负责对数据系统中的数据进行计算。

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

大数据处理框架有哪些?

  • 仅批处理框架
    用于批量处理大数据集的处理框架,可对整个数据集进行操作。
    例如:
    Apache Hadoop,一种以MapReduce作为默认处理引擎批处理框架。
  • 仅流处理框架
    用于对随时进入系统的数据进行计算,是一种“无数据边界”的操作方式。
    例如:
    Apache Storm
    Apache Samza
  • 混合处理框架
    一些大数据处理框架可同时处理批处理和流处理工作负载。
    例如:
    Apache Spark
    Apache Flink

总结:

  • 处理框架 一组组件
  • 处理引擎 具体对数据操作的工具
  • 框架分类
    • 仅批处理框架 apache hadoop MapReduce
    • 仅流处理框架 apache storm apache samza
    • 混合处理框架 apache spark apache flink

四、hadoop生态圈

学习目标

  • 能够了解Hadoop历史
  • 能够了解Hadoop项目定义
  • 能够了解Hadoop核心项目
  • 能够了解Hadoop相关项目

1)Hadoop历史

雏形开始于2002年的Apache的Nutch,Nutch是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。

随后在2003年Google发表了一篇技术学术论文谷歌文件系统(GFS)。GFS也就是google File System,google公司为了存储海量搜索数据而设计的专用文件系统。

2004年Nutch创始人Doug Cutting基于Google的GFS论文实现了分布式文件存储系统名为NDFS。

2004年Google又发表了一篇技术学术论文MapReduce。MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行分析运算。

2005年Doug Cutting又基于MapReduce,在Nutch搜索引擎实现了该功能。

2006年,Yahoo雇用了Doug Cutting,Doug Cutting将NDFS和MapReduce升级命名为Hadoop,Yahoo开建了一个

独立的团队给Goug Cutting专门研究发展Hadoop。

总结:

  • NDFS—>HDFS
  • MapReduce

2)项目定义

  • Apache™Hadoop®项目用于可靠,可扩展的分布式计算的开源软件。
  • Apache Hadoop是一个大数据处理框架,允许使用简单的编程模型跨计算机集群分布式处理大型数据集。
  • Apache Hadoop可以从单个服务器扩展到数千台计算机
  • Apache Hadoop集群中每台计算机都提供本地计算和存储。
  • Apache Hadoop集群不是依靠硬件来提供高可用性,而是设计了用于检测和处理应用程序层的故障,从而在计
  • 算机集群之上提供高可用性服务。

总结:

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

3)核心项目

  • Hadoop分布式文件系统(HDFS™):一种分布式文件系统,可提供对应用程序数据的高吞吐量访问。
  • Hadoop YARN:作业调度和集群资源管理的框架。
  • Hadoop MapReduce:基于YARN的系统,用于并行处理大型数据集。
  • Hadoop Common:支持其他Hadoop模块的常用实用程序。
  • Hadoop Ozone: Hadoop集群所提供的对象存储。

4)相关项目

Apache的其他Hadoop相关项目包括:

  • 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™
    用于分布式应用程序的高性能协调服务。
    在这里插入图片描述

总结:

  • 核心项目 hdfs mapreduce yarn
  • 相关项目 ambari hbase hive spark zookeeper

五、Hadoop核心项目Hadoop分布式文件系统(HDFS)介绍

学习目标

  • 能够掌握HDFS功能

  • 能够掌握HDFS特点

  • 能够了解HDFS中Block大小

  • 能够掌握HDFS中NameNode作用

  • 能够掌握HDFS中DataNode作用

  • 能够绘制HDFS写数据流程图

  • 能够绘制HDFS读数据流程图

  • Hadoop的基础核心就是HDFS和MapReduce,

  • Hadoop旗下有很多经典子项目,比如HBase、Hive等,这些都是基于HDFS和MapReduce发展出来的。要想了解Hadoop,就必须知道HDFS和MapReduce是什么。

1)hadoop文件系统定义

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

超大数据集指的是:海量数据分析、机器学习等

2)hadoop文件系统特点

  • 支持大数据文件
    非常适合上TB级别的大文件或者一堆大数据文件的存储,如果文件只有几个G甚至更小就没啥意思了。
  • 支持文件分块存储HDFS会将一个完整的大文件平均分块存储到不同计算节点上,它的意义在于读取文件时可以同时从多个计算节点上读取不同区块的文件,多主机读取比单主机读取效率要高得多。
  • 支持一次写入,多次读取,顺序读取(流式数据访问)
    这种模式跟传统文件不同,它不支持动态改变文件内容,而是要求让文件一次写入就不做变化,要变化也只能在文件末添加内容。
  • 支持廉价硬件
    HDFS可以部署在普通PC机上,这种机制能够让给一些公司用几十台廉价的计算机就可以撑起一个大数据集群。
  • 支持硬件故障
    HDFS认为所有计算机都可能会出问题,为了防止某个主机失效读取不到该主机的块文件,它将同一个文件块副本分配到其它某几个主机上,如果其中一台主机失效,可以迅速找另一块副本取文件。

总结:

  • 支持大文件
  • 分块
  • 廉价设备
  • 支持硬件故障

3)hadoop分布式文件系统关键词

  • Block
    最基本的存储单位;将文件进行分块处理,通常是128M/块,例如:256M文件会被分为2个Block。

Hadoop 1.x版本,Block默认大小为64M;Hadoop 2.x,Block默认大小为128M。

  • Hadoop集群架构(主从架构)
  • NameNode(主节点)
    用于保存整个文件系统的目录信息、文件信息及分块信息,这是由唯一一台主机专门保存,当然这台主机如果出错,NameNode就失效了。
    • 接收用户的操作请求
    • 维护文件系统的目录结构
    • 管理文件和Block之间的映射管理
    • 管理 block 和 DataNode 之间的映射

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

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

总结:

  • block 文件块 128M/块
  • namenode 目录 文件 分块 接收用户访问 文件与block block与datanode
  • datanode 存block 副本存储

4)hdfs写数据流程

在这里插入图片描述

总结:

  • 客户端向namenode发起请求
  • 客户端向dn发起建立连接请求
  • 客户端向dn存储数据

5)hdfs读数据流程

在这里插入图片描述

六、Hadoop核心项目编程模型(MapReduce)介绍

学习目标

  • 能够理解MapReduce作用
  • 能够了解MapReduce工作流程

1)MapReduce作用

通过对HDFS分布式文件系统的了解,我们已经可以把海量数据存储在集群中DataNode之上了,但这仅是Hadoop工作的第一步,那么如何从海量的数据中找到我们所需要的数据呢,这就是MapReduce要做的事情了。下面通过2个例子给予说明:

案例1:
问题:求和:1+5+7+3+4+9+3+5+6=?
答案:
在这里插入图片描述

案例2
问题 一个银行有上亿储户,银行希望找到存储金额最高的金额是多少?
答案

方法1:按照传统的计算方式,我们会这样(java代码):

Long moneys[] ...
Long max = 0L;
for(int i=0;i<moneys.length;i++){
if(moneys[i]>max){
max = moneys[i];
}
}

此种方法存在问题:如果数组元素比较少的话,完全可以胜任,但是如果数组中的元素数量是海量的话,那么这个方法就会浪费非常多的时间。

方法2:
首先数字是分布存储在不同块中的,以某几个块为一个Map,计算出Map中最大的值,然后将每个Map中的最大值做Reduce操作,Reduce再取最大值给用户。
在这里插入图片描述
结论:
将大的数据分析分成小块逐个分析,最后再将提取出来的数据汇总分析,最终获得我们想要的内容。

通俗说MapReduce是一套从海量源数据提取、分析元素,最后返回结果集的方法。

当然怎么分块分析,怎么做Reduce操作非常复杂,Hadoop已经提供了数据分析的实现,我们只需要编写简单的需求命令即可达成我们想要的数据。

总结:

  • map 把大数据分成小数据,进行计算 通过洗牌的方式给reduce
  • reduce 对map的结果进行汇总

2)MapReduce工作流程

MapReduce 框架的核心步骤主要分两部分:Map 和Reduce。

当向MapReduce 框架提交一个计算作业时,它会首先把计算作业拆分成若干个Map 任务,然后分配到不同的节点(DataNode)上去执行,每一个Map 任务处理输入数据中的一部分,当Map 任务完成后,它会生成一些中间文件,这些中间文件将会作为Reduce 任务的输入数据。Reduce 任务的主要目标就是把前面若干个Map 的输出汇总到一起并输出。

从高层抽象来看,MapReduce的数据流图如下图所示:
在这里插入图片描述
MapReduce工作流程
在这里插入图片描述
总结:

  • map
  • reduce

七、Hadoop部署区分依据

学习目标

  • 能够了解Hadoop部署的意义
  • 能够了解不同部署模式区分依据

1)要求

通过部署Hadoop过程了解Hadoop工作方式,进一步了解Hadoop工作原理。

2)本地模式、伪分布式、完全分布式区分依据

主要的区别依据是NameNode、DataNode、ResourceManager、NodeManager等模块运行在几个JVM进程、几个机器。如下表所示:
在这里插入图片描述

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

学习目标

  • 能够了解Hadoop默认部署模式
  • 能够掌握Hadoop部署软件包获取
  • 能够对部署完成的Hadoop进行测试

1.1)单机部署模式介绍

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

1.2)部署软件包获取

1.2.1)获取hadoop软件包

在这里插入图片描述

[root@localhost ~]#wget
http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.8.5/hadoop2.8.5.tar.gz

1.2.2)获取JDK软件包

在这里插入图片描述

[root@localhost ~]#firefox http://download.oracle.com

1.3)部署

1.3.1)jdk部署

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

解压到指定目录后,请修改目录名称

1.3.2)hadoop部署

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

解压至指定目录后,请修改目录名称

1.3.3)Linux系统环境变量

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

1.3.4)应用测试

1.3.4.1)加载环境变量
[root@localhost ~]#source /etc/profile
1.3.4.2)测试hadoop可用性
[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-mapreduceexamples-2.8.5.jar wordcount /home/input/ /home/output/00
[root@localhost ~]#cat /home/output/00/*

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

九、伪分布式部署

学习目标

  • 能够了解伪分布式部署模式
  • 能够正确修改配置文件
  • 能够掌握YARN架构及架构角色功能
  • 能够对已部署的Hadoop集群进行应用测试

1)伪分布式部署模式介绍

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

2)获取软件包

可参考:第八节 1.2.1与1.2.2小节

3)修改配置文件

主要涉及的配置文件有:hadoop-env.sh、mapred-env.sh、yarn-env.sh、core-site.xml

.anchor}

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

[root@localhost ~]#vim ${HADOOP_HOME}/etc/hadoop/hadoop-env.sh

修改JAVA_HOME参数为:
export JAVA_HOME="/usr/local/jdk"

3.2)修改core-site.xml

[root@localhost ~]#vim ${HADOOP_HOME}/etc/hadoop/core-site.xml

(1)配置fs.defaultFS
<property>
<name>fs.defaultFS</name>
<value>hdfs://hd1:8020</value>
</property>

(2)配置hadoop临时目录
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/data/tmp</value>
</property>

配置临时目录前,请先创建此目录,不创建也可以。
HDFS的NameNode数据默认都存放这个目录下,查看 *-default.xml 等默认配置文件,就可以看到很多依赖
h a d o o p . t m p . d i r 的 配 置 。 默 认 的 h a d o o p . t m p . d i r 是 / t m p / h a d o o p − {hadoop.tmp.dir} 的配置。 默认的 hadoop.tmp.dir 是 /tmp/hadoop- hadoop.tmp.dirhadoop.tmp.dir/tmp/hadoop{user.name} ,此时有个问题就是NameNode会将HDFS的元数据存
储在这个/tmp目录下,如果操作系统重启了,系统会清空/tmp目录下的东西,导致NameNode元数据丢失,
是个非常严重的问题,所有我们应该修改这个路径。

3.3)配置hdfs-site.xml

[root@localhost ~]#vim ${HADOOP_HOME}/etc/hadoop/hdfs-site.xml

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

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

3.4)格式化hdfs

[root@localhost ~]#hdfs namenode –format

格式化是对HDFS这个分布式文件系统中的DataNode进行分块,统计所有分块后的初始元数据的存储在
NameNode中。
格式化后,查看core-site.xml里hadoop.tmp.dir(本例是/opt/data目录)指定的目录下是否有了dfs目录,如
果有,说明格式化成功。

3.5)查看hdfs临时目录

[root@localhost ~]#ls /opt/data/tmp/dfs/name/current

fsimage是NameNode元数据在内存满了后,持久化保存到的文件。
fsimage*.md5 是校验文件,用于校验fsimage的完整性。
seen_txid 是hadoop的版本
vession文件里保存:

  • namespaceID:NameNode的唯一ID。
  • clusterID:集群ID,NameNode和DataNode的集群ID应该一致,表明是一个集群。

4)启动角色

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

4.1)启动namenode

[root@localhost ~]#hadoop-daemon.sh start namenode

4.2)启动datanode

[root@localhost ~]#hadoop-daemon.sh start datanode

4.3)验证

JPS命令查看是否已经启动成功,有结果就是启动成功了。

[root@localhost ~]#jps

5) HDFS上测试创建目录、上传、下载文件

5.1)创建目录

[root@localhost ~]#hdfs dfs -mkdir /test

5.2)上传文件

[root@localhost ~]#hdfs dfs -put
${HADOOP_HOME}/etc/hadoop/core-site.xml /test

5.3)读取内容

[root@localhost ~]#hdfs dfs -cat /test/core-site.xml

5.4)下载文件到本地

[root@localhost ~]#hdfs dfs -get /test/core-site.xml

6)配置yarn

6.1)Yarn介绍

  • A framework for job scheduling and cluster resource management.
    • 功能:任务调度 和 集群资源管理
  • YARN (Yet An other Resouce Negotiator) 另一种资源协调者
    是 Hadoop 2.0新增加的一个子项目,弥补了Hadoop 1.0(MRv1)扩展性差、可靠性资源利用率低以及无法支持其他计算框架等不足。
  • Hadoop的下一代计算框架MRv2将资源管理功能抽象成一个通用系统YARN
  • MRv1的 jobtracker和tasktrack也不复存在,计算框架 (MR, storm, spark)同时运行在之上,使得hadoop进入了多计算框架的弹性平台时代

总结:

  • yarn是一种资源协调者
  • 从mapreduce拆分而来
  • 带来的好处:让hadoop平台性能及扩展性得到更好发挥

6.2)使用Yarn好处

  • 在某些时间,有些资源计算框架的集群紧张,而另外一些集群资源空闲。 那么这框架共享使用一个则可以大提高利率些集群资源空闲。
  • 维护成本低。
  • 数据共享。 避免了集群之间移动数据。
  • YARN 主从架构
    • ResourceManager 资源管理
    • NodeManager 节点管理
    • ResourceManager
      负责对各个NodeManager 上的资源进行统一管理和任务调度。
    • NodeManager
      在各个计算节点运行,用于接收RM中ApplicationsManager 的计算任务、启动/停止任务、和RM中Scheduler 汇报并协商资源、监控并汇报本节点的情况。
      在这里插入图片描述

6.3) 配置mapred-site.xml

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

[root@localhost ~]#cp /opt/hadoop/etc/hadoop/mapred-site.xml.template
/opt/hadoop/etc/hadoop/mapred-site.xml


<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

指定mapreduce运行在yarn框架上。

在这里插入图片描述

6.4)配置yarn-site.xml

<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hd1</value>
</property>

yarn.nodemanager.aux-services配置了yarn的默认混洗方式,选择为mapreduce的默认混洗算法。
yarn.resourcemanager.hostname指定了Resourcemanager运行在哪个节点上。

6.5)启动yarn

[root@localhost ~]#yarn-daemon.sh start resourcemanager

[root@localhost ~]#yarn-daemon.sh start nodemanager

[root@localhost ~]#jps

6.6)YARN的Web页面

YARN的Web客户端端口号是8088,通过http://hd1:8088/可以查看。

6.7)测试

在Hadoop的share目录里,自带了一些jar包,里面带有一些mapreduce实例小例子,位置在
share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.5.jar,可以运行这些例子体验刚搭建好的Hadoop平台,我们这里来运行最经典的WordCount实例。

6.7.1)创建目录
[root@localhost ~]#hdfs dfs -mkdir -p /test/input

创建原始文件:
在本地/opt/data目录创建一个文件wc.input,内容如下:
tom jime
hadoop hive
hbase hadoop tom

6.7.2)上传文件

将wc.input文件上传到HDFS的/test/input目录中:

[root@localhost ~]#hdfs dfs -put /opt/data/wc.input /test/input
6.7.3)运行实例
[root@localhost ~]#yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples2.8.5.jar wordcount /test/input /test/output
6.7.4)查看输出结果
[root@localhost ~]#hdfs dfs -ls /test/output

output目录中有两个文件,_SUCCESS文件是空文件,有这个文件说明Job执行成功。
part-r-00000文件是结果文件,其中-r-说明这个文件是Reduce阶段产生的结果,mapreduce程序执行时,可
以没有reduce阶段,但是肯定会有map阶段,如果没有reduce阶段这个地方有是-m-。
一个reduce会产生一个part-r-开头的文件。

7)停止hadoop

[root@localhost ~]#hadoop-daemon.sh stop namenode
[root@localhost ~]#hadoop-daemon.sh stop datanode
[root@localhost ~]#yarn-daemon.sh stop resourcemanager
[root@localhost ~]#yarn-daemon.sh stop nodemanager

扩展

8)开启历史服务及查看

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

[root@localhost ~]#mr-jobhistory-daemon.sh start historyserver

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

9)开启日志聚集

MapReduce是在各个机器上运行的,在运行过程中产生的日志存在于各个机器上,为了能够统一查看各个机器的运行日志,将日志集中存放在HDFS上,这个过程就是日志聚集。
Hadoop默认是不启用日志聚集的。在yarn-site.xml文件里配置启用日志聚集。

<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>106800</value>
</property>

yarn.log-aggregation-enable:是否启用日志聚集功能。
yarn.log-aggregation.retain-seconds:设置日志保留时间,单位是秒。
以上内容要复制给集群所有主机

9.1)重启yarn

[root@localhost ~]#stop-yarn.sh
[root@localhost ~]#start-yarn.sh

9.2)重启历史服务

[root@localhost ~]#mr-jobhistory-daemon.sh stop historyserver
[root@localhost ~]#mr-jobhistory-daemon.sh start historyserver

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/87052.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GC垃圾回收器

分代收集器 新生代回收器 Serial&#xff1a;复制算法 | 单线程 | 适合内存不大的场景 ParNew&#xff1a;复制算法 | 多线程 | Serial收集器多线程版本 Parallel Scavenge&#xff1a;复制算法 | 多线程 | 类ParNew&#xff0c;更关注吞吐量 老年代回收器 Serial Old&#xf…

postgresql文件结构

一、控制文件 pg_controldata $PGDATA 二、数据文件 pg中&#xff0c;每个索引、每个表都是一个单独的文件&#xff0c;pg中称为page&#xff08;也称为段&#xff09;,默认是每个大于1G的page会被分割。例如某个表有200g的大小&#xff0c;那么会被分割为200个文件存储 sel…

Gateway限流的使用

目录 1. 限流的使用场景 2. gateway限流实现 2.1 前提&#xff1a; 2.2 导入依赖包 2.3 在项目配置文件中配置redis​编辑 2.4 开发限流需要的Bean​编辑 2.5 为服务配置限流参数 2.6 压力测试 3. 熔断 3.1 熔断的使用场景 1. 限流的使用场景 为什么限流 限流就是限制…

web网页设计期末课程大作业 基于HTML+CSS+JavaScript制作八大菜系介绍舌尖上的美食5页

&#x1f380; 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

4、Metasploit系列----未知目标测试

靶机Metasploitable2&#xff1a;192.168.11.105 攻击机kail&#xff1a;192.168.11.106 一、创建工作空间 显示数据库未连接&#xff1a;使用msfdb init对数据进行初始化&#xff1a;db_status显示数据库已连接。使用命令workspace -a 192.168.11.105创建目标工作空间。二、信…

Spring Batch 批处理-作业参数校验

引言 接着上篇&#xff1a;Spring Batch 批处理-作业参数设置与获取&#xff0c;了解作业参数设置与获取后&#xff0c;本篇就来了解一下Spirng Batch 作业参数的校验。 作业参数校验 当外部传入的参数进入步骤处理时&#xff0c;我们需要确保参数符合期望。比如&#xff1a…

前端实现电子签名(web、移动端)通用

前言 在现在的时代发展中&#xff0c;从以前的手写签名&#xff0c;逐渐衍生出了电子签名。电子签名和纸质手写签名一样具有法律效应。电子签名目前主要还是在需要个人确认的产品环节和司法类相关的产品上较多。 举个常用的例子&#xff0c;大家都用过钉钉&#xff0c;钉钉上…

对于双欧拉角(正反欧拉角)的一些理解和思考

文章目录一、正反欧拉角定义二、相关文献阐述三、对正反欧拉角的思考四、参考代码五、参考文献最近看到有人讨论“双欧拉角”或者“正反欧拉角”的问题&#xff0c;因为自己之前没听说过这个概念&#xff0c;为了避免无知&#xff0c;因此找了一些文献进行学习和理解。不过基于…

mysql优化,SELECT语句创建理想索引

思考索引的问题&#xff1a; 1.为什么主键索引比非主键索引快&#xff1f; 2.为什么sql使用like关键字 “%XXX%”无法走索引&#xff0c;而“XXX%”可以&#xff1f; 3.为什么有索引的字段&#xff0c;数据量大了后&#xff0c;增删改会很慢&#xff1f; 一. 了解数据库索引的必…

ADI Blackfin DSP处理器-BF533的开发详解45:图像处理专题-ThresholdData (图像阈值分割处理)(含源码)

硬件准备 ADSP-EDU-BF533&#xff1a;BF533开发板 AD-HP530ICE&#xff1a;ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 功能介绍 代码实现了图像阈值分割处理&#xff0c;代码运行时&#xff0c;会通过文件系统打开工程文件根目下" …/ImageView"路径中的…

Hive中数据类型介绍

文章目录数据库表分区表桶表数据库 当于关系数据库中的命名空间( namespace )&#xff0c;它的作用是将用户和数据库的应用&#xff0c;隔离到不同的数据库或者模式中 Hive中创建数据库等语法 表 Hive 的表在逻辑上由存储的数据和描述表格数据形式的相关元数据组成 元数据&a…

腾讯电竞广泛布局,难逃城市同质化怪圈?

文 | 螳螂观察 作者 | 张左文 2018年的那个夏天&#xff0c;那年的《英雄联盟》S赛&#xff0c;中国战队IG以3:0的绝对领先击败欧洲老牌冠军战队FNC&#xff0c;为LPL赛区拿下首个S赛冠军奖杯。 那是中国电竞史上浓墨重彩的一笔&#xff0c;也是腾讯电竞8年蛰伏后腾飞的开始…

​实验8 IP协议实验分析

注&#xff1a;原实验是在虚拟机中对主机使用ping命令&#xff0c;本文对www.bilibili.com使用ping命令来代替 IP分片 实验内容 wireshak开始捕获分组后&#xff0c;在cmd中输入ping www.bilibili.com -l 3000并执行 打开wireshak&#xff0c;在显示过滤器中输入icmp。得到…

展锐闪光灯 flash echo test测试

flash echo test测试 1.使用adb命令进入对应路径操作&#xff1a; adb root adb remount adb shell cd /sys/devices/virtual/misc/sprd_flash/ 输入对应命令 如上图示例&#xff1a;echo 0x0000&#xff08;0000 0000 0000 0000&#xff09; > test flash_idx: 表示…

Nacos配置管理之多环境共享

多环境配置共享 微服务启动时会从nacos读取多个配置文件&#xff1a; 1、[spring.application.name]-[spring.profiles.active].yaml 例如&#xff1a;userservice-dev.yaml 【服务名】-【环境】.yaml 2、 [spring.application.name].yaml 【服务名】.yaml 例如&#xff1a…

kube-proxy模式详解

kubernetes里kube-proxy支持三种模式&#xff0c;在v1.8之前我们使用的是iptables 以及 userspace两种模式&#xff0c;在kubernetes 1.8之后引入了ipvs模式&#xff0c;并且在v1.11中正式使用&#xff0c;其中iptables和ipvs都是内核态也就是基于netfilter&#xff0c;只有use…

仿写BitMap源码

bitmap的作用&#xff1a; 用来校验海量数字中某一个数字有没有出现过&#xff0c;海量数据中某一个数据有没有出现过 做一个长的比特数组&#xff0c;比特数组就会出现索引&#xff08;0n&#xff09;&#xff0c;所有0n之间的数&#xff0c;比如123&#xff0c;就把所有比特数…

R语言画ROC曲线总结

在本文中&#xff0c;我描述了如何在CRAN中搜索用于绘制ROC曲线的包&#xff0c;并重点介绍了六个有用的包。 我使用pkgsearch来搜索CRAN并查看其中的内容。该package_search()函数将文本字符串作为输入&#xff0c;并使用基本的文本挖掘技术来搜索所有CRAN。 经过一番尝试和…

【Clickhouse】Clickhouse 精确去重计数性能测试

1.概述 4亿多的数据集上,去重计算出6千万整形数值, 非精确去重函数: uniq、 uniqHLL12、 uniqCombined 精确去重函数: uniqExact、 groupBitmap 结论: 整形值精确去重场景, groupBitmap 比 uniqExact至少快 2x+groupBitmap仅支持整形值去重, uniqExact支持任意类型去重…

中英文说明书丨艾美捷CD8α体内抗体介绍

艾美捷CD8α体内抗体英文说明&#xff1a; ICH1045 is up to 30% cheaper for academia & non-profits and up to 55% cheaper for industry than the equivalent product from Bio X Cell (BE0061). ICH1045UL is up to 31% cheaper for academia and up to 56% cheaper …