Hadoop大数据学习
文章平均质量分 85
Hadoop大数据安装部署学习
anaitudou
这个作者很懒,什么都没留下…
展开
-
Hadoop学习目录导航
Hadoop学习第一课(虚拟机安装)Hadoop第二课(安装JDK)学习Hadoop第三课(Hadoop安装与配置)Hadoop第四课(Hadoop初始化和测试)Hadoop学习第五课(配置ssh免密码登陆配置和ssh原理)Hadoop学习第六课(初识HDFS原理)Hadoop学习第七课(HDFS架构原理)Hadoop学习第八课(利用Java接口来操作Hadoop...原创 2018-07-12 11:21:38 · 932 阅读 · 0 评论 -
Hadoop学习第一课(虚拟机安装)
近来由于工作需要,开始学习了Hadoop,第一节课便是搭建环境,我用的是Centos6.8版本(现在最新的是Centos7.2版本,但是由于Centos7与Centos6版本相比,做了很大的变动,而且网络上很少有讲解Centos7的视频,因此我选择了Centos6的版本),关于如何安装虚拟机和Centos6的内容请大家参照"http://www.jb51.net/softjc/340570.htm...转载 2018-04-09 11:04:41 · 566 阅读 · 0 评论 -
Hadoop第二课(安装JDK)
上一节课我们学习了虚拟机和Windows互相Ping通的内容,这节课我们来学习如何安装JDK。 既然要安装JDK,我们首先便要下载JDK的安装包,没有安装包的童鞋可以到:http://pan.baidu.com/s/1sl3rpPb这个网址下载。#linux 下载jdk命令wget --no-check-certificate --no-cookies --header...转载 2018-04-09 12:55:47 · 433 阅读 · 0 评论 -
学习Hadoop第三课(Hadoop安装与配置)
上节我们学习了JDK安装,这节我们学习一下Hadoop的安装及环境配置 首先我们需要到Apache官网下载我们需要的Hadoop版本,Apache产品官网是:http://archive.apache.org/dist/如下图所示,我们可以看到有很多种产品,这里我们需要的是Hadoop因此我们点击hadoop。 点击hadoop后会进入如下图所示的页面,...转载 2018-04-09 13:31:42 · 878 阅读 · 1 评论 -
Hadoop第四课(Hadoop初始化和测试)
上节我们修改了5个配置文件,这节我们开始学习Hadoop初始化和测试,首先我们需要Hadoop的环境变量,输入命令:vim /etc/profile并按回车进入配置文件,如下图所示,我们添加的内容是下面红色圈住的内容。 编辑完之后我们按ESC键进行退出编辑,然后输入:wq保存并退出该文件,然后我们输入命令source /etc/profile来使配置起作用,如下图所示。 ...转载 2018-06-09 09:59:28 · 957 阅读 · 0 评论 -
Hadoop学习第五课(配置ssh免密码登陆配置和ssh原理)
上一节我们学习了Hadoop的初始化和测试,本节我们学习SSH免密码登录配置和SSH原理。 首先,我们需要明白为什么要设置SSH免密码登录,其原因是我们在开启hadoop的时候需要多次输入yes和root密码,这是我们所不能忍受的,我们迫切需要实现免登录的功能。 为了让大家更能明白设备之间的交互,这里我们需要两台虚拟机,我们已经有一台了,现在我们要做的便是再...原创 2018-04-10 06:33:23 · 671 阅读 · 0 评论 -
Hadoop学习第六课(初识HDFS原理)
上一节我们学习了Hadoop的SSH免密码登录配置和SSH原理,这节我们来进入HDFS的学习,为了避免一开始就说的特别难以理解,我们先简单的说一下HDFS的原理,我们来看一张分布式文件系统架构图(如下图所示),我们已经知道HDFS的NameNode是管理者,DataNode是被管理者,下面的这个例子是,假如我们想向HDFS分布式系统上传一个大小为200M的日志文件,那么HDFS系统是如何工作的呢?...转载 2018-04-10 08:21:03 · 527 阅读 · 0 评论 -
Hadoop学习第七课(HDFS架构原理)
前面一节我们初步学习了HDFS,仅停留在那个阶段是不行的,我们还要深入学习HDFS架构,学习其工作原理,这节课我们便一起来学习HDFS的架构。 首先,我们来看一下Hadoop1.0和Hadoop2.0伪分布式架构下HDFS的组成,如下图所示,我们可以看到,HDFS架构由NameNode(负责管理节点)、DataNode(负责存储数据)、Secondary NameNode(它不是Na...转载 2018-04-10 09:23:13 · 375 阅读 · 0 评论 -
Hadoop学习第八课(利用Java接口来操作Hadoop)
上节我们学习了HDFS架构及原理,这节我们来学习如何将Hadoop与Java相结合进行开发,这也是大家学习大数据最后打交道最多的内容,毕竟Hadoop环境的搭建虽然复杂,但是一旦搭建好之后我们的任务便是在这个架构的基础上进行java代码的开发。 首先我们新建一个java工程,这个java工程所使用的JRE要与我们在Hadoop环境所使用的版本一致,避免一些不必要的错误。由于我在搭建Ha...转载 2018-04-11 09:03:52 · 1790 阅读 · 0 评论 -
Hadoop学习第九课(RPC)
上节课我们一起学习了如何将Hadoop与Java程序相结合,这节我们共同来学习RPC请求及应用。首先看一下RPC的定义及原理,如下图所示,我们也可以这样简单地理解RPC:RPC就是不同进程间的方法调用。 接下来我们用Java程序和RPC相结合来更好的理解RPC。 首先我们需要定义一个接口类,这个接口类需要由服务端来实现,如下图所示 接下来我们定义RPCS...转载 2018-04-11 09:04:44 · 422 阅读 · 1 评论 -
Hadoop学习第十课(MapReduce)
上一节课我们一起学习了RPC简单用法,这节课我们来学习MapReduce,MapReduce可谓是Hadoop当中非常重要的一部分,不学好这部分,我们就无法真正学会Haoop。 那么,首先我们来看一个MapReduce最简单的例子,如下图所示,假如我们要计算一份海量的数据,那么我们应该怎样快速计算出结果呢? 首先,我们需要知道的是,我们对于一份非常大的文件上传到我们的HD...转载 2018-04-11 09:05:52 · 500 阅读 · 0 评论 -
学习Hadoop第十一课(MapReduce的实例---WordCount)
上节课我们一起学习了MapReduce大的框架及原理,单看理论的话很容易懵圈,这节我们便一起学习一个MapReduce的简单例子,通过例子来理解原理从来都是最好的学习方法。 首先我们来简单操作一个入门级的例子,就是统计一下某个文件当中的每个单词出现的次数。我们在mapreduce目录下有一个words文件,如下图红色圈住的内容,在words文件当中我们看到如下图所示的内容(查看命令是m...转载 2018-04-26 17:12:43 · 549 阅读 · 0 评论 -
学习Hadoop第十二课(Hadoop序列化机制、Linux安装Eclipse及创建快捷图标、使用Maven开发)
上节课我们一起学习了MapReduce的一个简单实例,这节课我们一起来学习Hadoop的序列化机制。 首先我们来学习一下,什么叫做序列化,序列化是指把结构化对象转换成字节流,这样做的目的当然是便于在网络中传输。那么什么叫做反序列化?相信大家也知道了,反序列化,顾名思义,就是序列化的逆过程,也就是将字节流转回结构化对象的过程。 我们非常熟悉的序列化莫过于java的java.i...转载 2018-04-26 17:14:30 · 404 阅读 · 0 评论 -
学习Hadoop第十三课(Hadoop学习必备技能之远程debug)
上节课我们学习了Hadoop序列化机制、Linux安装Eclipse及创建快捷图标、使用Maven开发 ,这节课我们一起学习Hadoop的必备技能----远程调试。 相信大家都明白远程调试的重要性,首先我们来了解一下JPDA。 JPDA 简介 Sun Microsystem 的 Java Platform Debugger Architecture (JPDA) 技...转载 2018-04-26 17:15:49 · 476 阅读 · 0 评论 -
学习Hadoop第十四课(自定义分区Partitioner)
上一节课我们一起学习了Hadoop的远程调试,这节课我们一起学习Hadoop的Partitioner(分区),首先说一下为什么要用到分区的功能,这里我们举个例子,中国移动公司想要查看北京用户的打电话情况,手机信号来自附近的基站,要查看北京用户的信息得从全国所有的基站获取信息并一一筛选,假如我们不把用户按省市进行分别存放的话,每次我们想查看某个省市的信息时便需要从全国所有的基站信息中去一一查询,这样...转载 2018-05-17 16:58:42 · 319 阅读 · 0 评论 -
学习Hadoop第十五课(自定义排序)
上节课我们一起学习了Hadoop自定义分区功能,这节课我们一起学习Hadoop的自定义排序,Hadoop是有一套默认的排序规则的,但是这往往不能满足我们多样化的需求,为了让排序更多样化,这就需要用到我们本节课所要学习的自定义排序功能。枯燥的说理论我相信大家都很难记住,我们一起来通过一个例子来更好的理解学习它。 我们所要用到的数据如下所示,有四列,分别代表账户、收入、支出、时间。我们...转载 2018-05-17 17:00:01 · 289 阅读 · 0 评论 -
学习Hadoop第十六课(Combiner编程)
上一节课我们一起学习了Hadoop自定义排序功能,这节我们一起学习Combiner编程,每一个map可能会产生大量的输出,Combiner的作用就是在map端对输出先合并一次,以减少传输到Reducer的数据量。 combiner最基本是实现本地key的归并,combiner具有类似本地reduce功能。 如果不用combiner,那么所有的结果都是reduce完成,效率会...转载 2018-05-17 17:09:56 · 300 阅读 · 0 评论 -
学习Hadoop第十七课(倒排索引)
上节课我们一起学习了Combiner的理论知识,这节课我们来一起学习一下倒排索引,那么首先我们来了解一下什么是倒排索引,如下图所示,我们可以看到表中有单词ID,单词还有倒排列表,倒排列表存放的是某个单词在第几篇文章中出现的次数,比如谷歌这个单词在第一篇文章中出现了1次,第二篇文章中出现了1次,第三篇文章中出现了2次,第四、第五篇文章各出现1次。那么倒排索引的用处是什么呢?我们以搜索引擎为例,像百度...转载 2018-05-21 11:09:27 · 348 阅读 · 0 评论 -
学习Hadoop第十八课(Zookeeper)
节课我们一起学习了Hadoop倒排索引功能,这节课我们一起学习Zookeeper集群的搭建。 首先我们一起来学习什么是Zookeeper,Zookeeper是Google的Chubby一个开源的实现,是Hadoop的分布式协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。 在hadoop2.0中通常由两个NameNode组成...转载 2018-05-21 11:18:21 · 227 阅读 · 0 评论 -
学习Hadoop第十九课(Zookeeper集群搭建)
上节课我们一起学习了Zookeeper的理论知识,这节课我们一起来搭建一个Zookeeper集群,需要说明的是我们现在只是学习搭建集群,所以用的是CentOS虚拟机,还有如果在公司搭建集群的话是不能用root用户来搭建的,而是要用Hadoop用户来搭建,这里为了方便我们就以root用户来搭建了。 要搭建Zookeeper集群,首先当然要有环境了,我们启用3台虚拟机,并且做如下准备工作...转载 2018-05-21 13:23:04 · 275 阅读 · 0 评论 -
学习Hadoop第二十课(Hadoop集群的搭建)
上节课我们一起学习了Zookeeper集群的搭建,那只是个热身,这节课我们一起要学习的Hadoop集群的搭建才是重中之重。 首先还是先说一下Zookeeper在Hadoop集群的作用,以前我们学习Hadoop伪分布式的时候没有用到Zookeeper是因为伪分布式只有一个NameNode,没有Active和Standby状态的两个NameNode之说,因此根本就不需要Zookeepr来...转载 2018-05-21 14:47:58 · 328 阅读 · 0 评论 -
学习Hadoop第二十一课(Hadoop集群测试)
上节课我们一起学习了怎样搭建一个6台设备的Hadoop集群,这节课我们一起来学习一下怎样测试我们搭建的集群是否有问题。第一步:启动Zookeeper我们启动HDFS之前一定要先启动Zookeeper,否则DFSZKFailoverController这个进程将无法正常启动。我们分别在itcast04、itcast05、itcast06上启动zookeeper,我们到/itcast/zookeepe...转载 2018-07-05 16:50:27 · 481 阅读 · 0 评论 -
学习Hadoop第二十二课(Sqoop---数据迁移工具)
上节课我们一起学习了Hadoop集群测试,这节课我们一起学习一下Sqoop,Sqoop是专门用来迁移数据的,它可以把数据库中的数据迁移到HDFS文件系统,当然也可以从HDFS文件系统导回到数据库。 我来说一下Sqoop的使用场景,假如你们公司有个项目运行好长时间了,积累了大量的数据,现在想升级项目并换种数据库进行存储原来的数据,那么我们就需要先把数据都存放到另一个地方,然后再用新数据库的...转载 2018-07-05 19:29:57 · 669 阅读 · 1 评论 -
学习Hadoop第二十三课(Shell简单入门)
上节课我们一起学习了Sqoop(数据迁移工具),这节课我们一起简单学习一下Shell脚本。 首先我们来新建一个test.sh文件,并在文件内输入一句用来输出的语句,如下所示。[root@itcast03 ~]# vim test.shecho '123' 保存上面的内容,我们试着执行一下test.sh,发现会报如下所示的提示,说没有权限执行。[root@itcast03 ~]# ...原创 2018-07-06 09:07:07 · 314 阅读 · 0 评论 -
学习Hadoop第二十四课(HBase 简单入门)
上节课我们一起简单学习了Shell脚本,这节课我们来简单学习一下HBase,首先我们来看一下HBase的简介,如下图所示。 接下来我们一块儿看一下HBase的几个概念,首先来看第一个概念:Row Key,如下图所示,Row Key顾名思义,就是把一行当做主键,由于HBase建立了索引,所以我们根据行号可以迅速定位的那一行,我们还可以通过Row Key的range来定位数据,也就是查询的...转载 2018-07-06 17:05:29 · 530 阅读 · 0 评论 -
学习Hadoop第二十五课(单节点HBase建表、插入数据及查询)
上节课我们一起学习了HBase的一些理论知识还搭建好了单节点的HBase,那么这节课我们一起来学习一下HBase是如何建表,如何插入数据以及如何查询数据的。大家如果没看过上节课内容的,可以到:http://blog.youkuaiyun.com/u012453843/article/details/52970967这篇博客进行学习。第一部分:建表 我们使用命令行的方式来进行建表,插入数据和查询的。...原创 2018-07-06 17:45:54 · 873 阅读 · 0 评论 -
学习Hadoop第二十六课(HBase集群搭建)
上一节课我们一起学习了单节点HBase建表、插入数据、删除数据、查询数据的知识,这节课我们一起来学习HBase集群的搭建。第一步:下载HBase安装包hbase-0.96.2-hadoop2-bin.tar.gz 大家可以到Apache官网下载也可以直接到http://pan.baidu.com/s/1qXGDqo8这个地址进行下载。第二步:搭建集群 关于集群的搭建大家可...转载 2018-07-08 11:18:49 · 601 阅读 · 0 评论 -
学习Hadoop第二十七课(HBase理论一)
上节课我们一起学习了HBase集群的搭建,这节课我们一起来简单学习一下HBase的理论知识。 我们首先来看一下下面这张图,HBase存储数据也是存储到表中(这点和我们的关系型数据库是类似的),一个row key保存一行内容,与关系型数据库不一样的地方是,HBase数据库的表中引入了列族的概念,一个列族可以包含0到多个列,列族和列名结合组成一个cell,cell中才是我们存放的数据。从...原创 2018-07-08 11:40:09 · 272 阅读 · 0 评论 -
学习Hadoop第二十八课(java通过调用接口来操作HBase)
上节课我们一起简单学习了HBase的一些理论,这节课我们一起学习用java调HBase的接口来操作HBase。 我们首先建一个工程,这里我们还用原始的新建一个lib包。然后我们把下载的hbase-0.96.2-hadoop2-bin.tar.gz包解压,解压后有个lib包,我们把lib包下的jar包都拷贝到工程的lib目录下并Build path到工程当中。下图当中我只是截取了jar包...原创 2018-07-08 15:40:23 · 408 阅读 · 0 评论 -
学习Hadoop第二十九课(利用Java对HBase表进行增、删、改、查操作)
上节课我们一起学习了利用Java来创建一张HBase表,这节课我们一起学习怎样用Java来调用HBase接口并对数据表进行增、删、改(没有update,但是可覆盖)、查操作。 当然,在插入数据前请确保Hadoop集群、Zookeeper集群、HBase集群正常工作。接下来我们新建一个类来进行相关操作,我给类起的名字是HBaseTable,我们首先来向表中插入一行数据,插入数据的方法名...原创 2018-07-08 15:41:43 · 360 阅读 · 0 评论 -
学习Hadoop第三十课(Hive简单入门)
上节课我们一起学习了用Java来对HBase的表进行增、删、改、查操作。这节课我们开始步入Hive的学习阶段 我们先来看一下Hive的简介,如下图所示,Hive是一个数据仓库,它部署在Hadoop集群上,它的数据是存储在HDFS上的,Hive所建的表在HDFS上对应的是一个文件夹,表的内容对应的是一个文件。它不仅可以存储大量的数据而且可以对存储的数据进行分析,但它有个缺点就是不能实时的...原创 2018-07-10 08:52:59 · 483 阅读 · 0 评论 -
学习Hadoop第三十一课(hive基础及分区表)
上节课我们一起学习了Hive的简单入门,这节课我们一起来学习Hive基础及分区表。第一部分:hive基础 首先我们在itcast03上启动hive并创建一张表,如下所示。 接下来我们到hive数据库去查看一下我们创建的表的信息存储情况,我使用的mysql连接工具是SQLyog,我们连接Mysql,连上后可以看到有一个hive数据库,这是hive帮我们自动生成的,我们创建...原创 2018-07-11 11:02:50 · 524 阅读 · 0 评论 -
学习Hadoop第三十二课(hive练习--多表联合查询)
上一节课我们一起学习了Hive的基础及分区表,这节课我们一起来做一个hive的综合练习。第一步:建表 我们需要两张表,分别是trade_detail和user_info,两张表的信息如下。 第一张表:trade_detail,id要作为主键 第二张表:user_info,id要作为主键第二步:Mysql数据库下关联查询 现在我们先在关系型数据库mysql...原创 2018-07-11 11:42:14 · 1008 阅读 · 0 评论 -
学习Hadoop第三十三课(Hive自定义UDF)
上节课我们一起学习了Hive进行多表联合查询,这节课我们一起来学习一下Hive的自定义UDF。第一步:创建Hive工程 我们这里为了简单就不用Maven了,而是直接使用lib包并把我们需要的jar包放到lib当中。如下所示。 我们需要把hive的lib下的所有的包放到lib下,hive的jar包所在的位置如下图所示。 光导hive的包还不行,我们还需要用到hadoop-...原创 2018-07-11 11:55:17 · 271 阅读 · 0 评论 -
学习Hadoop第三十四课(自动化采集工具---Flume)
上节课我们一起学习了Hive自定义UDF,这节课我们一起来学习一下自动化采集工具Flume。 首先我们来看一张图,如下所示,最上方代表三台设备,当然可以是更多的设备,每台设备运行过程都会产生一些log,这些log是我们需要的信息,我们不可能手动的一台一台的去收集这些log,那样的话太浪费人力了,这就需要一个自动化的采集工具,而我们今天要说的Flume便是自动化采集工具中的代表,f...原创 2018-07-11 11:56:28 · 607 阅读 · 0 评论 -
学习Hadoop第三十五课(综合练习)
上节课我们一起学习了自动化采集工具Flume,这节课我们一起来把我们前面学习的知识综合起来,做一个小项目。第一部分:项目分析 我们要做的小项目是关于黑马训练营的日志分析项目,用到的日志文件大家可以到:http://download.youkuaiyun.com/detail/u012453843/9680664这个地址下载。日志文件中的内容如下(仅拿出来两行内容),可以看到一共有5列,每列代表的...原创 2018-07-11 11:57:46 · 880 阅读 · 0 评论