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

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

原文地址:https://blog.csdn.net/weixin_45334227/article/details/102678584

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


hadoop搭建准备工作三台虚拟机:master、node1、node2检查时间是否同步:date检查java的jdk是否被安装好:java-version修改主机名三台分别执行vim/etc/hostname并将内容指定为对应的主机名 关闭防火墙:systemctlstopfirewalld   a.查看防火墙状态:systemctlstatu
文件的更名和移动:    获取文件详细信息       遇到的问题:不能直接在web上上传文件。   权限问题:修改后即可正常创建  参考:https://blog.csdn.net/weixin_44575660/article/details/118687993
目录一、背景1)小文件是如何产生的?2)文件块大小设置3)HDFS分块目的二、HDFS小文件问题处理方案1)HadoopArchive(HAR)2)Sequencefile3)CombineFileInputFormat4)开启JVM重用5)合并本地的小文件,上传到HDFS(appendToFile)6)合并HDFS的小文件,下载到本地(getmerge)三、HDFS小文件问题处理实战操
目录一、概述二、HadoopDataNode多目录磁盘配置1)配置hdfs-site.xml2)配置详解1、dfs.datanode.data.dir2、dfs.datanode.fsdataset.volume.choosing.policy3、dfs.datanode.available-space-volume-choosing-policy.balanced-space-preference-fraction4、dfs.datanode.available
平台搭建(伪分布式)伪分布式搭建在VM中搭建std-master修改配置文件centos7-cl1.vmdkstd-master.vmx-将配置文件中vm的版本号改成自己电脑对应的vm版本修改客户端的操作系统为centos764位打开虚拟机修改虚拟机网络cd/etc/sysconfigetwork-scripts
 一、HDFS概述 1.1、HDFS产出背景及定义 1.1.1、HDFS产生背景   随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。HDFS只是分布式
配置workers进入hadoop/etc/hadoop  编辑workers文件  然后分发给另外两个服务器     准备启动集群第一次需要初始化.  初始化完成后增加了data文件,  进入上面那个路径,就能看到当前服务器的版本号  启动HDFS  启动完毕102  
这周我对ssm框架进行了更深一步的开发,加入了多用户,并对除登录外的请求进行了拦截,这样用户在未登录的时候是访问不到资源的。并且对hadoop进行了初步的学习,包括虚拟机的安装等等。下周会对hadoop进行更深一步的学习,加油! 
前言通过在Hadoop1安装Hadoop,然后配置相应的配置文件,最后将Hadoop所有文件同步到其他Hadoop节点。一、集群规划#主机名‘master/hadoop1’‘slave01/hadoop2’‘slave02/hadoop3’#启动节点NamenodeNodemanagerNodemanager
1.先杀死进程(先进入到hadoop版本文件里,我的是/opt/module/hadoop-3.1.3/)sbin/stop-dfs.sh2.删除每个集群上的data以及logsrm-rfdata/logs/3.格式化hdfsnamenode-format4.再启动sbin/sart-dfs.sh
查看文件目录的健康信息执行如下的命令:hdfsfsck/user/hadoop-twq/cmd可以查看/user/hadoop-twq/cmd目录的健康信息:其中有一个比较重要的信息,就是Corruptblocks,表示损坏的数据块的数量查看文件中损坏的块(-list-corruptfileblocks)[hadoop-twq@master~]
titlecopyrightdatetagscategoriesHadoop2.8.0的环境搭建true2019-08-0912:12:44-0700LiunxHadoopLiunxHadoop此文为在centos7下安装Hadoop集群前期准备Hadoop下载Hadoop的下载本文下载的是2.8.0版本的Hadoop安装3个虚拟机并实现ssh免密码的登录
这是我的地图publicstaticclassMapClassextendsMapper<LongWritable,Text,Text,Text>{publicvoidmap(LongWritablekey,Textvalue,Contextcontext)throwsIOException,InterruptedException{String[]fields=value.toString().s
组件:Hadoop三大核心组件:HDFS(HadoopDistributedFileSystem):分布式文件系统,数据存放在这里,提供对应用程序数据的高吞吐量访问。YARN(YetAnotherResourceNegotiator):资源管理调度系统,分配比如硬盘内存等资源。用这些资源来运行程序的计算MapReduce:分布式运算框架
查看Hadoop安全模式hadoopdfsadmin-safemodegetSafemodeisOFF进入Hadoop安全模式root@centos:/$hadoopdfsadmin-safemodeenter SafemodeisON推出安全模式nange@ubuntu:/$hadoopdfsadmin-safemodeleave SafemodeisOFF
当我尝试运行sqoop命令时,我收到错误,说没有连接字符串的管理器我尝试运行的内容:sqoopexport--connect"jdbc:vertica://xxxxxxxx.com:5433/PPS_GIIA"--usernamexxxxx--passwordxxxxx--tableCountry-m1--export-dir/Eservices/SIPOC/SQLimport/part-m-0000--
好程序员大数据学习路线Hadoop学习干货分享,ApacheHadoop为可靠的,可扩展的分布式计算开发开源软件。ApacheHadoop软件库是一个框架,它允许使用简单的编程模型跨计算机群集分布式处理大型数据集(海量的数据)。包括这些模块:HadoopCommon:支持其他Hadoop模块的常用工具。Hadoop
我正在使用java,我正在尝试编写一个mapreduce,它将接收一个包含多个gz文件的文件夹.我一直在寻找,但我发现的所有教程都放弃了如何处理简单的文本文件,但没有找到解决我问题的任何东西.我在我的工作场所问过,但只提到scala,我并不熟悉.任何帮助,将不胜感激.解决方法:Hadoop检查
linux下开机自启:在/etc/init.d目录下新建文件elasticsearch并敲入shell脚本:#!/bin/sh#chkconfig:23458005#description:elasticsearchexportJAVA_HOME=/home/hadoop/jdk/jdk1.8.0_172exportJAVA_BIN=/home/hadoop/jdk/jdk1.8.0_172/binexportPATH=$PATH:$JAVA_HOME/bi
离线数据处理的主要工具Hive是必须极其熟练地掌握和精通的,但Hive背后是Hadoop的HDFS和M叩Reduce,需要会MapReduce编程么?从笔者的工作实践以及了解来看,这不是必须掌握的,但是数据开发人员必须掌握其概念、架构和工作原理,也就是说,不但要知其然,而且要知其所以然。1.起源