Hdoop 知识初步探索 大数据-云计算-物联网的世界

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_45334227/article/details/102678584

Hadoop—大数据分析 基础教程

我们学习一个新内容时,都需要了解他的内部原理和应用,比如大数据这个火爆的词语,几乎现在每个公司人人都在用,那么用的好与坏也模棱两可,那么真正意义上的大数据是什么呢?

其实大数据就是收集各种数据,经过分析后用来做有意义的事情,其中包括对数据进行采集,管理,存储,搜索,共享,分析和可视化

比如说我们社交网路每天的超大数据记录,这个时候单台机器的存储量和其效益就不能解决我们日常的数据存储、计算的需求,所以我们需要一个系统和框架去处理每天日常的任务量

1.前言

大数据的基础内容主要有6个部分,数据收集,数据存储,资源管理,计算框架和数据展示

大数据技术框架
(图片转载)

1.1 大数据计算模式

(1)批处理计算:又称为大规模历史数据的批量处理,如Mapreduce
(2)查询分析计算:存储管理和分析查询,比如Hive,Impala等。
(3)流计算:针对流数据进行实时的计算,可以实时处理产生的数据
(4)图计算:针对大规模图结构的数据的处理

1.2 大数据与云计算、物联网的关系

首先我们来介绍这些名词的概念

1.2.1云计算

云计算:它广受人们接受的定义是美国国家标准与技术研究院所定义的,即云是一种按网络使用量付费的便捷模式

“云”实质上就是一个网络,狭义上讲,云计算就是一种提供资源的网络,使用者可以随时获取“云”上的资源(资源包括:网络,服务器,存储,应用软件,服务),按需求量使用,并且可以看成是无限扩展的,只要按使用量付费就可以,“云”就像自来水厂一样,我们可以随时接水,并且不限量,按照自己家的用水量,付费给自来水厂就可以。

云计算特点
1.超大规模 2.通用性 3.高拓展性
4.虚拟化 5.高可靠性 6.按需服务
7.廉价 8.具有潜在威胁
云计算的模式
1.公有云 2.私有云 3.混合云

云计算与大数据是一种不可分割,相互依存的关系,首先云计算是大数据的底层,他提供了一个平台可以支持大数据的使用,而大数据则是对大型数据提升实时交互式数据处理能力和展示能力

1.2.2 物联网

物联网就是物物相连的互联网,基础核心就是互联网,而延伸拓展是所有的物品都能够互相联通,他们的信息都能彼此对应,就好像关系型数据库一样

物联网中有三项关键技术:
1.传感器技术
2.RFID标签
3.嵌入式系统技术

大数据,物联网,云计算都是互相关联息息相关的,是互相关联,互相作用的
物联网是大数据的数据来源,大数据技术为物联网数据的分析提供了强有力的支撑,物联网还为云计算提供了广阔的应用空间,而云计算为物联网提供了海量数据存储能力,云计算还为大数据提供了技术基础,而大数据能为云计算所产生的数据提供分析和决策依据

2. HADOOP

2.1 什么是hadoop

Hadoop就是一个框架,它可以用简单的编程模型讲数据集进行分布式处理,他可以被设计成单个机器或者成千上万台机器的集群,实现计算机的存储服务

2.2 应用现状

随着大数据的发展,现在很多互联网企业都开始使用Hadoop,百度的日志分析,阿里云的内部云,以及淘宝等,此外英特尔,微软和oracle都有了基于自己的Hadoop产品。

2.3 Hadoop简介与意义

用于大数据存储、计算、分析的分布式存储系统和分布式运算框架Hadoop的两大核心如下:

1.HDFS(Hadoop Distribute File System 分布式存储系统)
具有高拓展,高吞吐率,高可靠的性能**
MapReduce(分布式计算框架),一般用于批处理,针对于海量的数据计算,
他的特点是高容错,高拓展的性能

总的来说,HDFS提供的数据存储,而MapReduce提供了对数据计算的服务

2.4原理介绍(重中之重)

接下来的内容我将以原理出发进行讲解,正所谓万变不离其中,好吧其实是被老师批评了一顿总结出来的道理,当我和老师探讨技术时,被老师当场问道Hadoop底层架构的东西,什么是Hadoop,他是用什么语言写的,他是怎么一个运行模式,然后我被怼的无话可说。
确实当我们在工作中使用大数据的时候,最多就是写写代码,或者说用开源的简单框架,但我们并没有去设计我们所使用的语言,框架也是别人开发出来的,所以理解知识的底层原理成为了我们学习的重中之重,就好像jdk现在开发到了13.0,其实底层原理明白了,开发也就是把之前的老的代码进行整合然后结合新的技术进行对接。

HDFS 基本概念
HDFS包括一个名称节点(NameNode)和若干个数据节点(DataNode),其中数据名称节点负责管理文件系统的命名空间及客户端对文件的访问,也就是中心服务器

数据节点一般是一个节点运行一个数据节点进程,其中每个节点上的数据就是Linux上的数据文件,并且在名称节点的同意协调下进行客户端的读写,删除,移动和复制数据块的操作

3.HDFS

3.1 HDFS解决目标

(1)大数据集
(2)基于廉价硬件
(3)流式数据访问

构建思路:一次写入多次访问时最高效的访问模式

(4)顺序访问数据

3.2 HDFS执行原理

由名称节点接受客户请求,根据元数据保存镜像文件并生成日志信息,最后进行合并
如果要存储一个大文件,首先要将文件分割成块,放到不同的节点,并且每个节点文件会进行三次备份(这就对应了高容错性)

HDFS内部组成结构

1.数据块(Block)
每个磁盘都有默认的数据块大小,这是磁盘最小
的单位,在HDFS 1.X中是64MB,在HDFS 2.x
中是128MB

2.NameNode
可以理解为首脑,是用户交互式命令的执行者,
他会分配任务到下层进行操作

3.DataNode
数据节点,之前也讲过,我们可以理解为存储
数据的地方,相当于一个数据库的作用

4.SecondaryNameNode
就是帮助NameNode合并edits,减少NameNo
de的启动时间

5.元数据
保存在NameNode内存中,以便快速查询,主要
包括fsimage,edits
fsimage:元数据镜像文件
edits:元数据操作日志

3.3 HDFS的常用命令

说完了HADOOP的基础内容那我们开始实战训练,这是我在工作中总结的实战精华

1. 查看文件下路径(其实跟shell一样,只不过我们加了 hadoop fs,此外你也可以写成hdfs dfs)

hadoop fs -ls 

hdfs dfs -ls

2.创建目录命令

hadoop fs -mkdir /tmp/test

3. 上传文件到hdfs

hadoop fs -put  /tmp/test1.sh(源路径文件)   /tmp/test1.sh(目标路径文件)

4.查看hdfs下某个文件的内容

hadoop fs -cat /tmp/test1.sh

5.将hdfs中的文件复制到本地中

hadoop fs -get /tmp/test1.sh  /tmp/

6.将hdfs上文件导入到本地

hadoop fs -get /tmp/test1.sh  /tmp

说实在的,这个语法很难用到,一般使用hadoop
都可以用别人写的交互式界面,就像X-shell一
样,直接手动拉出来就行

7.删除hdfs下的文档

hadoop fs -rmr /tmp/jl80883/test1.sh

8.格式化(敏感命令)

hdfs namenode -format

猜你喜欢

转载自blog.csdn.net/weixin_45334227/article/details/102678584