hadoop
秦时盖聂
想写就写咯!
展开
-
(一)HDFS总体架构
1、背景海量的非结构化数据,几乎没法梳理成一个个的字段,来存储在关系型数据库中。所以实际应用中,对于这类数据需要考虑数据如何存储。数据如何计算的问题。2、hadoop两个核心HDFS(以分布式方式来存储海量数据) MapReduce(以HDFS上的数据为基础进行计算)3、大数据特点Volume(大量) Velocity(持续高速增长) Variety(多样性) value...原创 2018-11-06 13:56:04 · 363 阅读 · 0 评论 -
(十)Mapper多输入源及Reduce多输出文件
目的Mapper多个输入源,处理后变成一个输出。reduce多输出源,根据输出的数据,按照自己的要求来决定,输出到不同的文件里。案例有以下两个文件,作为输入源(Mapper处理)最后把每个人的成绩打印到不同的文件里(Reduce处理)tommath 90english 98jarymath 78english 87rosemath 87english 90...原创 2018-12-04 15:38:44 · 880 阅读 · 0 评论 -
(八)完全分布式模式搭建Hadoop集群
小技巧:配置好一台服务器后,通过 scp -r /opt/zookeeper-3.4.7/ hadoop02:/opt/ 命令,把文件发送到另外两台机器。1、搭建方案引入zookeeper,通过注册临时节点来监控服务是否挂掉,保证能及时切换到正在运行的服务上,防止单点故障。例如:NameNode(active)挂了 ,会有进程 FailOverController 来负责切换到 Name...原创 2018-11-15 19:17:26 · 126 阅读 · 0 评论 -
(九)MapReduce自定义文件读取和输出组件
作用自定义文件读取读取文件时,默认是使用读取器 LineRecoredReader<行首偏移量,每行内容>,每读取一次,把key和value传给 开发者开发的Mapper组件。现在自定义文件读取器,可以自定义读取文件的方法,这样就可以调整传递给Mapper组件的key和value。自定义文件输出当结果需要输出到文件时,默认使用 FileOutputFormat的子类Text...原创 2018-11-15 20:16:52 · 893 阅读 · 0 评论 -
(六)MapReduce理论
MR框架运行,会生成两类任务:①Map Task ②Reduce TaskMap Task的数量取决文件大小切片大小默认为128MB,比如一个257MB的文件,会生成3个切片(Split),即会对应3个Map Task。开发Mapper组件就是在定义Map Task的业务逻辑。一个Job的多个Map Task 业务逻辑一致,只是处理的数据不同。Reduce Task任务数量可以在jo...原创 2018-11-15 19:09:14 · 121 阅读 · 0 评论 -
(七)MapReduce自定义类型及分区算法
需求有以下数据:电话 | 地区 | 姓名 | 使用流量三个reduce生成三个文件,按照地区来分区,得到每个人使用流量的汇总结果。13877779999 bj zs 214513766668888 sh ls 102813766668888 sh ls 998713877779999 bj zs 567813544445555 sz ww 1057713877779999 ...原创 2018-11-15 19:09:43 · 490 阅读 · 0 评论 -
(五)初识MapReduce
环境:伪分布式搭建的hadoop环境1、启动MapReduce2.0版本,MR运行在yarn上,执行启动命令: sh start-yarn.sh 出现下图两个进程说明启动成功2、MR初识写MR代码,就是编写Map组件以及Reduce组件。Map组件先直接对DFS上的文件进行数据操作,得到的结果再汇总给Reduce组件进行操作,得到最终的结果。 例如:有以下数据,需要...原创 2018-11-14 21:17:37 · 169 阅读 · 0 评论 -
(四)DFS文件操作的原理及代码实现
1、文件操作原理1.1、下载过程Client向namenode发起Open file 请求。目的是获取指定文件的输入流 namenode收到请求之后,会检查路径的合法性,客户端的操作权限。如果检测未通过,则直接报错返回 Client也会向namenode发起Getblockloaction请求,获取指定文件的元数据信息。如果上一步检测通过,则namenode会将元数据信息封装到输入流里...原创 2018-11-08 16:55:05 · 939 阅读 · 0 评论 -
(三)HDFS常用指令
HDFS常用指令:hadoop fs -mkdir /park 在hdfs 的根目录下,创建 park目录 hadoop fs -ls / 查看hdfs根目录下有哪些目录 hadoop fs -lsr / 递归查看某个目录下的所有文件 hadoop fs -put /root/1.txt /park 将linux操作系统root目录下的1.txt放在hdfs...原创 2018-11-06 14:08:00 · 376 阅读 · 1 评论 -
(二)hadoop伪分布模式安装
本文以伪分布式模式搭建hadoop1、三种安装模式:单机模式:无法使用HDFS,只能使用MapReduce,主要目的是在本机测试mapreduce代码 伪分布式模式:使用一台机器,使用多个线程模拟多台真实机器,模拟真实的分布式环境 完全分布式模式:用多台机器(虚拟机)来完成部署集群2、修改主机名使用主机名代替ip,更易配置。vim /etc/hosts127.0.0.1 ...原创 2018-11-06 13:57:12 · 737 阅读 · 0 评论 -
(十一)输出排序,Combiner
输出排序mapreduce默认会对结果进行排序。如果是以自定义类型为key,则自定义的类需要实现接口:WritableComparable,这样mapreduce就会按照自定义的排序方法来实现对输出结果的排序。package hadoop05;import java.io.DataInput;import java.io.DataOutput;import java.io.I...原创 2018-12-04 15:39:05 · 197 阅读 · 0 评论