大数据概述 /// hadoop集群搭建 /// Hadoop配置JobHistory /// Hadoop常用端口号

一、大数据是什么?

大数据是指无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合
具有4V特征:大数据量、速度快、多样化、价值密度低
在这里插入图片描述

二、hadoop生态系统

2.1 hadoop 2.0 框架

在这里插入图片描述

2.2 hadoop的概念

官网定义:

hadoop是一个分布式系统基础架构,由apache基金会开发,用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。

所以说,hadoop主要解决的是海量数据的储存和计算的问题。可以用于搭建大型数据仓库,PB级数据的存储,处理,分析,统计等业务

hadoop可以分为狭义和广义两种:

1、 狭义的Hadoop只是Hadoop本身,是一个分布式系统架构,包含: (HDFS+MapReduce+yarn)。

2、 广义的Hadoop指的是Hadoop生态系统,Hadoop生态系统是一个很庞大的概念,hadoop是其中最重要最基础的一个部分:生态系统的每一个子系统只解决某一个特定的问题域,不搞统一型的一个全能系统,而是小而精的多个小系统。

2.3 hadoop生态系统中主要部件的介绍:

HDFS
Hadoop的分布式文件系统。是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。HDFS简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。

MapReduce(分布式计算框架)
MapReduce是一种计算模型,用以进行大数据量的计算。其中Map对数据集上的独立元素进行指定的操作,生成键-值对形式中间结果。Reduce则对中间结果中相同“键”的所有“值”进行规约,以得到最终结果。MapReduce这样的功能划分,非常适合在大量计算机组成的分布式并行环境里进行数据处理。

Hive(基于Hadoop的数据仓库)
Hive定义了一种类似SQL的查询语言(HQL),将SQL转化为MapReduce任务在Hadoop上执行。通常用于离线分析。

Hbase(分布式列存数据库)
HBase是一个针对结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。和传统关系数据库不同,HBase采用了BigTable的数据模型:增强的稀疏排序映射表(Key/Value),其中,键由行关键字、列关键字和时间戳构成。HBase提供了对大规模数据的随机、实时读写访问,同时,HBase中保存的数据可以使用MapReduce来处理,它将数据存储和并行计算完美地结合在一起。

Zookeeper(分布式协作服务)
解决分布式环境下的数据管理问题:统一命名,状态同步,集群管理,配置同步等。

Sqoop(数据同步工具)
Sqoop是SQL-to-Hadoop的缩写,主要用于传统数据库和Hadoop之前传输数据。数据的导入和导出本质上是Mapreduce程序,充分利用了MR的并行化和容错性。

Pig(基于Hadoop的数据流系统)
由yahoo!开源,设计动机是提供一种基于MapReduce的ad-hoc(计算在query时发生)数据分析工具。定义了一种数据流语言—Pig Latin,将脚本转换为MapReduce任务在Hadoop上执行。通常用于进行离线分析。

Mahout(数据挖掘算法库)
Mahout的主要目标是创建一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout现在已经包含了聚类、分类、推荐引擎(协同过滤)和频繁集挖掘等广泛使用的数据挖掘方法。除了算法,Mahout还包含数据的输入/输出工具、与其他存储系统(如数据库、MongoDB 或Cassandra)集成等数据挖掘支持架构。

Flume(日志收集工具)

Cloudera开源的日志收集系统,具有分布式、高可靠、高容错、易于定制和扩展的特点。它将数据从产生、传输、处理并最终写入目标的路径的过程抽象为数据流,在具体的数据流中,数据源支持在Flume中定制数据发送方,从而支持收集各种不同协议数据。同时,Flume数据流提供对日志数据进行简单处理的能力,如过滤、格式转换等。此外,Flume还具有能够将日志写往各种数据目标(可定制)的能力。总的来说,Flume是一个可扩展、适合复杂环境的海量日志收集系统。

2.4 hadoop的三大核心组件

Hadoop的三大核心组件分别是:

HDFS(Hadoop Distribute File System):hadoop的数据存储工具。
YARN(Yet Another Resource Negotiator,另一种资源协调者):Hadoop 的资源管理器。
Hadoop MapReduce:分布式计算框架

HDFS架构

HDFS采用Master/slave架构模式,1一个Master(NameNode/NN) 带 N个Slaves(DataNode/DN)。

从内部来看,数据块存放在DataNode上。NameNode执行文件系统的命名空间,如打开、关闭、重命名文件或目录等,也负责数据块到具体DataNode的映射。DataNode负责处理文件系统客户端的文件读写,并在NameNode的统一调度下进行数据库的创建、删除和复制工作。NameNode是所有HDFS元数据的管理者,用户数据永远不会经过NameNode。

NN:
1)负责客户端请求的响应
2)负责元数据(文件的名称、副本系数、Block存放的DN)的管理

DN:
1)存储用户的文件对应的数据块(Block)
2)要定期向NN发送心跳信息,汇报本身及其所有的block信息,健康状况

HDFS写数据流程

在这里插入图片描述

HDFS读数据流程

在这里插入图片描述

三、hadoop集群搭建

1、将已配置好的虚拟机视为主节点,克隆两台新的虚拟机。

(配置过程参考博客:上一篇博客Hadoop配置)

克隆后需要操作的步骤:

(1)修改IP:vi /etc/sysconfig/network-scripts/ifcfg-ens33
将克隆的虚拟机更换不同的ip地址
(2)重启网络:systemctl restart network
(3)给三台主机添加互信(步骤见博客:添加互相

2、将主机的hadoop文件夹和配置文件/etc/profile传给另外两台虚拟机

 [root@hadoop2 software]# scp -r hadoop root@hadoop5:$PWD  #@后写要传对象的主机名
 [root@hadoop2 software]# scp /etc/profile root@hadoop7:/etc/profile

这样hadoop文件夹和profile将传到hadoop5 hadoop7中和主机相同的位置中

3、在主机上修改配置文件

(1) 修改 vi etc/hadoop/hdfs-site.xml

在root/software/hadoop路径下输入:
[root@hadoop2 hadoop]# vi etc/hadoop/hdfs-site.xml

或者在root/software/hadoop/etc/hadoop路径下输入:
[root@hadoop2 hadoop]# vi hdfs-site.xml

将副本数改成3
将secondary的ip改成第二台机器的ip

<configuration>
 <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
<property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>192.168.21.5:50090</value>
</property>
</configuration>

(2)配置 vi /etc/slaves

添加三台机器的主机名,三台虚拟机都要添加

在这里插入图片描述

4.删除logs和tmp,格式化第一台主机(注意:三台机器都需要删除成功)

[root@hadoop2 hadoop]# rm -rf logs/
[root@hadoop2 hadoop]# rm -rf tmp/
[root@hadoop2 hadoop]# hdfs namenode -format

5.在第一台机器上进行开启,输入jps验证

[root@hadoop2 hadoop]# start-all.sh

在这里插入图片描述

四、Hadoop配置JobHistory

4.1 jobhistory作用?

查看历史操作步骤

4.2 使用jobhistory的配置及操作步骤

第一步:配置vi mapred-site.xml文件

[root@hadoop2 software]# cd hadoop
[root@hadoop2 hadoop]# vi etc/hadoop/mapred-site.xml

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

<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop2:10020</value>
</property>

<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop2:19888</value>
</property>

</configuration>

第二步:启动 jobhistory

[root@hadoop2 hadoop]# sbin/mr-jobhistory-daemon.sh start
historyserver
启动完成之后可以jps查看进程

[root@hadoop2 hadoop]# sbin/mr-jobhistory-daemon.sh start historyserver
starting historyserver, logging to /root/software/hadoop/logs/mapred-root-historyserver-hadoop2.out
[root@hadoop2 hadoop]# jps
11298 NodeManager
11172 ResourceManager
11849 JobHistoryServer
10942 DataNode
10815 NameNode
11919 Jps
[root@hadoop2 hadoop]#

4.3 测试

第一步:先在hdfs上创建一个test文件夹

[root@hadoop2 hadoop]# hdfs dfs -mkdir /test1

第二步:登录浏览器查看是否创建成功

在这里插入图片描述

第三步:任意上传一个文件

[root@hadoop2 hadoop]# hdfs dfs -put README.txt /test1
hdfs dfs -put 路径/README.txt /test

在这里插入图片描述
进浏览器查看是否上传成功
在这里插入图片描述

五、Hadoop常用端口号

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值