大数据基础平台实施及运维

这篇具有很好参考价值的文章主要介绍了大数据基础平台实施及运维。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、大数据介绍

1、为什么使用大数据技术

数据量越来越大,数据分析的实时性越来越强,数据结果应用范围越来越广。(从用户的访问量、量、访问时间、访问频率,市场可以得到很多信息)

2、大数据的定义

数据收集、数据清洗、数据处理就是大数据技术的整个流程。

二、大数据应用领域

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

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

风险识别(借贷款)        预测(12306买票换乘)
4.能源生物
基因组分析        地质分析
5.安全
入侵检测        图像识别

6.社交游戏
流失分析        社交推荐        使用分析
7.电商零售
推荐系统        交易分析

三、大数据技术处理框架

1、什么是大数据处理框架

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

2、大数据处理框架有哪些

①仅批处理框架(滴滴打车数据量10个T一批处理)
用于批量处理大数据集的处理框架,可对整个数据集进行操作

例如:
Apache Hadoop,一种以MapReduce作为默认处理引擎批处理框架

②仅流处理框架(12306就是用流处理框架,数据的实时性很强,数据流找不到数据头和尾)

用于对随时进入系统的数据进行计算,是一种“无数据边界”的操作方式。

例如:
Apache Storm
Apache Samza

③混合处理框架

一些大数据处理框架可同时处理批处理和流处理工作负载
例如:
Apache Spark
Apache Flink

四、hadoop生态圈

1、项目定义

Apache Hadoop项目用于高可用,可扩展的分布式计算的开源软件

Apache Hadoop是一个大数据处理框架,允许使用简单的编程模型跨计算机集群分布式处理大型数据集

Apache Hadoop可以从单个服务器扩展到数千台计算机

Apache Hadoop集群中每台计算机都提供本地计算和存储

Apache Hadoop集群不是依靠硬件来提供高可用性,而是设计了用于检测和处理应用程序层的故障,从而在计算机集群之上提供高可用性服务。

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

2、核心项目

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

Hadoop MapReduce:基于YARN的系统,用于并行处理大型数据集

Hadoop Common:支持其他Hadoop模块的常用实用程序。

Hadoop Ozone: Hadoop集群所提供的对象存储。

3、相关项目

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

Spark
用于Hadoop数据的快速通用计算引擎。Spark提供了一种简单而富有表现力的编程模型,支持广泛的应用程序,包括ETL,机器学习,流处理和图形计算。

ZooKeeper
用于分布式应用程序的高性能协调服务。

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

五、hadoop核心项目分布式文件系统HDFS

1、文件系统定义

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

2、文件系统特点

支持大数据文件
非常适合上TB级别的大文件或者一堆大数据文件的存储,如果文件只有几个G甚至更小就没啥意思了

支持文件分块存储,HDFS会将一个完整的大文件平均分块存储到不同计算节点上,它的意义在于读取文件时可以同时从多个计算节点上读取不同区块的文件,多主机读取比单主机读取效率要高得多。

支持一次写入,多次读取,顺序读取( 流式数据访问)这种模式跟传统文件不同,它不支持动态改变文件内容,而是要求让文件一次写入就不做变化,要变化也只能在文件未添加内容。

支持廉价硬件
HDFS可以部署在普通PC机上,这种机制能够让给一些公司用几十台廉价的计算机就可以撑起一个大数据集群。
支持硬件故障
HDFS认为所有计算机都可能会出问题,为了防止某个主机失效读取不到该主机的块文件,它将同一个文件块副本分配到其它某几个主机上,如果其中一台主机失效,可以讯速找另一块副本取文件。

总结:支持大文件存储  分块存储  支持廉价硬件  支持硬件故障

3、文件系统关键词

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

Hadoop集群架构(主从),类似mysql、ceph、LB(主:调度器 从realserver)

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

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

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

4、hdfs写数据流程

大数据平台搭建与运维,大数据

总结:客户端向namenode发起文件上传请求

           客户端向datanode发起建立连接请求

           客户端向datanode上传存储数据(block只要一个成功上传,NameNode会自动同步)

5、hdfs读数据流程

大数据平台搭建与运维,大数据

 总结:和存储文件一样必须通过NameNode门户,只不过读取文件过程很简单,不是单一block读取,多个block同时读取带宽大,速度也快。

6、Hadoop核心项目编程模型

1、MapReduce作用

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

例如:1+2    +    3+4  +  5+6   =?          客户需要马上知道自己的5亿资金还有多少(各个分行分头统计,最后报给总行,效率快)

Map: 1+2=3         3+4=7        5+6=11

Reduce: 3+7+11=21     

结论
将大的数据分析分成小块逐个分析,最后再将提取出来的数据汇总分析,最终获得我们想要的内容。通俗说MapReduce是一套从海量源数据提取、分析元素,最后返回结果集的方法
当然怎么分块分析,怎么做Reduce操作非常复杂,Hadoop已经提供了数据分析的实现,我们只需要编写简单的需求命令即可达成我们想要的数据

map 把大数据分成小数据,进行计算通过洗牌的方式给reduce

reduce 对map的结果进行汇总

2、MapReduce工作流程


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

大数据平台搭建与运维,大数据

 7、hadoop部署

1、单机部署

1.1、单机部署介绍

单机(本地模式)是Hadoop的默认部署模式。

当配置文件为空时,Hadoop完全运行在本地

不需要与其他节点交互,单机(本地模式)就不使用HDFS(使用的是本地的内存存储数据),也不加载任何Hadoop的守护进程

该模式主要用于开发调试MapReduce程序的应用逻辑。

1.2、获取部署软件包

1.2.1、获取hadoop软件包

hadoop.apache.org

1.2.2、获取JDK

Java Downloads | Oracle

建议下载二进制包tar.gz

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/1ocal/jdk
export HADOOP_HOME=/opt/hadoop
export PATH=${JAVA_HOME}/bin:${HADOOP_HOME}/bin:$PATH

$PATH是原来的环境变量,放在最后面,所以jdk就是用下载解压的。

G切换到vim编辑器最后一行编辑完成之后必须 source /etc/profile

1.3.4、应用测试

[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.8.5.jar wordcount /home/input/ /home/output  
[root@locaThost ~]#cat /home/output

hadoop-mapreduce-examples-2.8.5.jar wordcount  

使用jar包中的wordcount方法去统计词频

大数据平台搭建与运维,大数据

 2、伪分布式部署

1、伪分布式部署介绍

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

2、修改配置文件

获取软件包和配置环境变量省略

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

2.1、修改hadoop-env.sh、mapred-env.sh、yarn-envsh文件中JAVA HOME参数

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


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

大数据平台搭建与运维,大数据

 文章来源地址https://www.toymoban.com/news/detail-583930.html

2.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>

hd1是主机名,可自定义  vim /etc/hosts

大数据平台搭建与运维,大数据

泛结构化格式必须有头有尾

配置临时目录前,请先创建此目录,不创建也可以(hadoop集群启动时会自动创建临时目录)。HDFS的NameNode数据默认都存放这个目录下,查看*-default.xml等默认配置文件,就可以看到很多依赖${hadoop.tmp.dir}的配置
默认的hadoop.tmp.dir是/tmp/hadoop-s{username],此时有个问题就是NameNode会将HDFS的元数据存储在这个/tmp目录下,如果操作系统重启了,系统会清空/tmp目录下的东西,导致NameNode元数据丢失,是个非常严重的问题,所有我们应该修改这个路径。

2.3、配置hdfs-site.xml

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

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

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

2.4、格式化hdfs

[root@localhost ~]#hdfs namenode -format

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

2.5、查看hdfs的临时目录

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

大数据平台搭建与运维,大数据

 

fsimage是NameNode元数据在内存满了后,持久化保存到的文件

fsimage*.md5 是校验文件,用于校验fsimage的完整性

seen_txid 是hadoop的版本
vession文件里保存:

namespacelD:NameNode的唯一ID。

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

3、启动角色

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

大数据平台搭建与运维,大数据

 

3.1、启动namenode    

3.2、启动datanode

3.3、验证

大数据平台搭建与运维,大数据

 验证文件系统只需要创建文件夹上传文件进去,再删除就行。

大数据平台搭建与运维,大数据

 -put上传本地文件到hdfs文件系统   -get 下载文件系统中的文件到本地

3、配置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将资源管理功能抽象成一个通用系统YARNMRv1的jobtracker和tasktrack也不复存在,计算框架(MR, storm,spark)同时运行在之上,使得hadoop进入了多计算框架的弹性平台时代

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

3.1、使用yarn的好处

在某些时间,有些资源计算框架的集群紧张,而另外一些集群资源空闲。那么这框架共享使用一个则可以提高利率些集群资源空闲。
维护成本低
数据共享,避免了集群之间移动数据

YARN主从架构
 ResourceManager 资源管理
 NodeManager 节点管理

ResourceManager(主)
负责对各个NodeManager 上的资源进行统一管理和任务调度

NodeManager(从)
在各个计算节点运行,用于接收RM中ApplicationsManager 的计算任务、启动/停止任务、和RM中Scheduler 汇报并协商资源、监控并汇报本节点的情况。

大数据平台搭建与运维,大数据

 4、配置MapReduce使用YARN框架

4.1、配置mapred-site.xml指定mapreduce使用yarn框架

默认没有mapred-site.xml文件,但是有个mapred-sitexml.template配置模板文件。复制模板生成mapred-site.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>

4.2、配置yarn-site.xml

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

大数据平台搭建与运维,大数据

 启动四个服务,前两个服务是hdfs的namenode和datanode

后两个服务是yarn的resourceManager和nodeManager

大数据平台搭建与运维,大数据

 测试:用hadoop客户端工具里面的jar包中的wordcount词频统计函数计算写入hdfs中的数据

输出到output

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

还可以用绝对路径运行实例

[root@localhost ~]#yarn jar /hadoop安装路径/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.5.jar wordcount /test/input /test/output

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

大数据平台搭建与运维,大数据

 大数据平台搭建与运维,大数据

 停止hadoop服务

大数据平台搭建与运维,大数据

 

到了这里,关于大数据基础平台实施及运维的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一站式 Elasticsearch 集群指标监控与运维管控平台

    上篇文章写了一下消息运维管理平台,今天带来的是ES的监控和运维平台。目前初创企业,不像大型互联网公司,可以重复的造轮子。前期还是快速迭代试错阶段,方便拿到市场反馈,及时调整自己的战略和产品方向。让自己活下去,话不多说 开始今天的分享。 一、项目介绍

    2024年02月10日
    浏览(39)
  • 【比赛记录】国电投-光伏电站人工智能运维大数据处理分析比赛

            DataFountain平台举办的比赛,赛题:光伏电站人工智能运维大数据处理分析。以下是比赛链接:光伏电站人工智能运维大数据处理分析 Competitions - DataFountain         在分析光伏发电原理的基础上,论证了辐照度、光伏板工作温度等影响光伏输出功率的因素,通过实

    2024年02月02日
    浏览(45)
  • 老杨说运维 | 历时180天,跟复旦大学共研的运维大模型终于来了!

    A1:AI大模型是“人工智能预训练大模型\\\"的简称, 它包含了\\\"预训练“和”大模型“两层含义,二者结合产生了一种新的人工智能模式即 模型在大规模数据集上完成了预训练后无需或仅需要少量数据的微调,就能直接支撑各类应用。 AI大模型具备通用、可规模化复制等诸多优

    2024年02月06日
    浏览(40)
  • 区块链部署与运维

    也可以参考该链接 搭建第一个区块链网络 — FISCO BCOS 2.0 v2.9.0 文档 之后按照上面的命令检查进程   注意该路径需要按照你自己配置的环境进行,可以先去fisco-bcos/nodes中输入tree -a,查看配置文件的位置,复制到console/conf中,姑该命令在console中进行   可以参考一键部署 — WeBA

    2024年04月09日
    浏览(37)
  • Memcache简介与运维

            开源、高性能、高并发的分布式内存缓存系统。          缓存关系型数据库的结果,减少数据库自身访问的次数。 memcache                              纯内存 redis、memcachedb               可持久化存储,同时会使用磁盘存         数据

    2024年01月21日
    浏览(38)
  • 区块链部署与运维2

    参考: 账户权限控制 — FISCO BCOS 2.0 v2.9.0 文档 在生成账户之前可能会出现下面的错误, 解决方法如下: 生成账户:a1,a2,a3   验证:   新增委员a1: 新增委员a2: 新增委员a3: a1操作:  a2操作: 验证:    a1操作: a2操作: a2需要在a2里面进行下面的代码:   验证:   a1操作:

    2024年02月05日
    浏览(38)
  • DevOps理念:开发与运维的融合

    在现代软件开发领域,DevOps 不仅仅是一个流行的词汇,更是一种文化、一种哲学和一种方法论。 DevOps 的核心理念是通过开发和运维之间的紧密合作,实现快速交付、高质量和持续创新。 本文将深入探讨 DevOps 文化的重要性、原则以及如何在团队中实现开发与运维的融合。

    2024年02月10日
    浏览(52)
  • JAVA开发与运维(web生产环境部署)

    web生产环境部署,往往是分布式,和开发环境或者测试环境我们一般使用单机不同。 一、部署内容 1、后端服务 2、后台管理系统vue 3、小程序 二、所需要服务器 5台前端服务器  8台后端服务 三、所需要的第三方组件 redis mysql clb OSS CDN WAF RocketMQ redis用来缓存应用的数据 mysq

    2024年02月04日
    浏览(43)
  • 【共读】企业信息安全建设与运维指南(二)

    接上篇继续往下: 【共读】企业信息安全建设与运维指南(一) 三、IDC基础安全体系建设: IDC(Internet Data Center)即互联网数据中心,为企业用户或客户提供服务,如网站应用服务、App应用后台服务等等,IDC中存储着各类敏感信息和数据资产,所以IDC安全是企业信息安全的重中

    2024年01月22日
    浏览(50)
  • 供电企业信息机房建设与运维-读书笔记

    前言 2023-04-16 22:42 随着信息化建设水平的不断提高,供电企业对信息化依赖程度也越来越高,自动化运行维护(简称运维)、自动化操作、移动办公等手段越来越多地被使用。在应用前端(客户端)给工作带来便利的同时,后端(服务器端)的稳定运行显得尤为重要,承载后

    2024年02月02日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包