HDFS作为一个分布式文件系统,是所有这些项目的基础.分析好HDFS,有利于了解其他系统.由于Hadoop的HDFS和MapReduce是同一个项目,我们就把他们放在一块,进行分析. 如果把整个hadoop当做一个java中的类的话,那么HDFS就是这个类的静态变量,其他的项目是hadoop中的方法. hdfs HDFS,Hadoop的分布式文件系统实现 文件系统的抽象,可以理解为支持多种文件系统实现的统一文件访问接口 fs 文件系统的抽象,可以理解为支持多种文件系统实现的统一文件访问接口 ip…
A simple RPC mechanism.A protocol  is a Java interface.  All parameters and return types must be one of:a primitive type(这个注意是9个基本类型,包括void),a String ; or a  Writable or an array of the above types All methods in the protocol should throw only IOExce…
package org.apache.hadoop.io; import java.io.DataOutput;import java.io.DataInput;import java.io.IOException; /** * A serializable object which implements a simple, efficient, 一个序列化的对象,这个家伙实现了一个简单.高效.序列化的协议,它是基于DataInput和DataOutput这两个IO对象的 * protocol,…
1.An abstract IPC service.  IPC calls take a single {@link Writable} as a parameter, and return a {@link Writable} as their value.  A service runs on a port and is defined by a parameter class and a value class. 2.共有5个内部类ExceptionsHandler,Call,Listen…
1.Client有五个内部类,分别是Call,ParallelCall,ParallelResult,Connetion,ConnectionId 其实这五个类就是去完成两件事情的,一件事情是连接,另外一件事情是调用,而连接呢主要通过Connection来完成,ConnectionId是它的辅助类.调用呢,Call为主,由于会同时和NameNode和其他DataNode通讯,所以需要一个ParallelCall来完成这件事,调用完了总有个返回值吧,所以要有ParallelResult这个类. 2…
JS 相信看这篇文章的你们,都和我一样对Hadoop和Apache Spark的选择有一定的疑惑,今天查了不少资料,我们就来谈谈这两种 平台的比较与选择吧,看看对于工作和发展,到底哪个更好. 一.Hadoop与Spark 1.Spark Spark是一个用来实现快速而通用的集群计算的平台.速度方面,Spark扩展了广泛使用的MapReduce计算模型,而且高效地支持更多计算模式,包括交互式查询和流处理. Spark项目包含多个紧密集成的组件.Spark的核心是一个对由很多计算任务组成的.运行在多…
最近一段时间一直在接触关于hadoop方面的内容,从刚接触时的一片空白,到现在也能够说清楚一些问题.这中间到底经历过什么只怕也就是只有经过的人才会体会到吧.前几天看到有个人问“学hadoop需要什么基础”,这个问题好像至今还没好好细想过,可能是因为身边有大神在带着我学习hadoop的缘故,也就没想过这样的一个简单的问题. 我们目前在用的hadoop版本并不是原生态的版本,我们在用的是国内的一款商业发行版,叫DKhadoop.大快搜索推出的一款原生态开发的Hadoop集成生态环境.从使用的效果上看…
最近因为做了些和hadoop相关的项目(虽然主要是运维),但是这段经历让我对hadoop的实际运用有了更加深入的理解. 相比以前自学hadoop,因为没有实战场景以及良好的大数据学习氛围,现在回顾下的确相当肤浅. 因此我要好好重学下hadoop,短期计划如下: 1.重学HDFS知识 2.重学mapreduce,包括老版的mr以及新的yarn 3.学习hive和pig 4.学习hbase 5.以上学习都是通过理解其架构原理为目的,最后结合大型网站架构里存储的问题,进一步完善关于解决存储瓶颈的知识.…
一.简单科普类 (文末附下载链接) 1.<人工智能:李开复谈AI如何重塑个人.商业与社会的未来图谱2> 作者:李开复,王咏刚 推荐理由:文章写得一般,但李开复和王永刚老师总结的还可以,算国内比较简单的一本AI科普作品 图书简介:人工智能被写入2017年政府工作报告,智能革命时代先行者李开复,人工智能工程院副院长王咏刚携手解读:人工智能时代,个人与企业如何找到人机协作的新位置!任何企业都需要尽早引入“AI+”的思维方式! 2.<人工智能>(精) 作者:腾讯研究院,中国信息通信研究院互…
一.大数据的落地点 1.数据出售 数据商城:以卖数据为公司的核心业务 2. 数据分析 百度统计 友盟 GA IBM analysis 3.搜索引擎 4. 推荐系统 mahout 百分比 5.精准营销 (1)广告投入:网站所有者集成广告联盟的js->访问者访问页面->js发送用户数据->广告联盟发送一个可以报价的广告位信息给所有的广告公司(报价是否.价格多少) ->广告公司接受到这个报价信息,根据携带的用户信息计算用户点击的概率(用户点击模型)->广告公司将是否报价信息以及报价…
7.16 一.回顾 二.HDFS Federation(联盟) Hadoop 2.2.0发布新特性 很多的大公司都在使用:BAT HDFS Federation + HDFS HA架构 互相隔开,但是数据存储共用 1.新特性介绍 ViewFs Guide 视图文件系统 HDFS Snapshots 快照 在某一时刻某一个瞬间在整个文件系统中,它存储的文件具体的情况 比如:存储多少文件.它的副本数...一些信息 好处:备份.恢复 Edits Viewer Image Viewer 用来查看fsim…
一.分布式集群安装1. Hadoop模式本地模式.伪分布模式.集群模式datanode 使用的机器上的磁盘,存储空间nodemanager使用的机器上的内存和CPU(计算和分析数据) 2. 搭建环境准备工作(1)克隆虚拟机,达到3台机器,分布式的架构即可重新搭建一个hadoop环境(2)克隆完成后,需要修改ip.主机名.映射.网络eth1->eth0(3)服务组件的规划senior01: 4G内存,1核CPU,50G,namenode,datanode, nodemanager, history…
一.MapReduce编程模型1. 中心思想: 分而治之2. map(映射)3. 分布式计算模型,处理海量数据4. 一个简单的MR程序需要制定map().reduce().input.output5. 处理的数据放在input中.处理的结果放在output中6. MR程序>八股文7. MR在处理数据的时候,是由一个流向,数据在处理过程中的流向格式:以<key,value>进行流向8. input -> map() -> reduce() -> output<key…
hdfs可视化界面: http://beifeng-hadoop-01:50070/dfshealth.html#tab-overview yarn可视化界面: http://beifeng-hadoop-01:8088/cluster 历史服务器可视化界面:http://beifeng-hadoop-01:19888/ sbin/hadoop-daemon.sh start namenode sbin/hadoop-daemon.sh start datanode sbin/yarn-daem…
一.打包压缩 知识点: tar -zxvf -C PATH tar -jxvf tar -zcvf tar -jcvf tar:打包命令 -z 打包同时gzip压缩 -j 打包同时bzip2 -c 打包 -x 解压 -v 显示过程信息 -f 对普通文件进行操作 -C 指定解压路径 -t 查看包内容 (1)tar -zcvf `date +"%Y_%m_%d"`etc.tar.gz /etc (2)tar -zxvf 2016_07_01etc.tar.gz -C /tmp (3)tar…
大数据离线计算hadoop2.x 三周(6天) markdown文本剪辑器 罗振宇--跨年演讲,时间的朋友 http://tech.163.com/16/0101/11/BC87H8DF000915BF.html 勤奋的男人和爱笑的女人运气都不会太差. 1. 什么是Hadoop 2. hadoop生态系统架构功能与原理 3. hadoop核心模块组成 4. hadoop 2.x伪分布式环境搭建与配置.测试 一.前置课程: Linux: Java: 应用程开发>系统层开发 数据库: SQL on…
一.实用网站 1. linux内核版本 www.kernel.org 2. 查看网站服务器使用的系统  www.netcraft.com 二.推荐书籍 1. <Hadoop权威指南> 1-3版: Hadoop1系列 4版(目前仅有英文原版):Hadoop2系列 yarn高可用性,HA 2. <Hive权威指南> 3. <MapReduce设计模式> 4. <HBase权威指南> 5. <鸟哥的Linux私房菜> 6. <Vim使用技巧>…
一.Hadoop 前置课程 1. Linux系统,基本命令 2. Java语言,JavaSE相关知识 3. MySQL基本的DML和DDL SQL on Hadoop…
1.Overview 文件系统(FS)shell包含多种能直接与HDFS(Hadoop Distributed File System)及Hadoop支持的其他文件系统,例如Local FS,HFTP FS,S3 FS等进行直接交互的命令.FS shell由bin/hadoop fs <args>发起. 所有的FS shell都将URI作为参数.URI的形式为:scheme://authority/path.HDFS的scheme为hdfs,Local FS的scheme为file.schem…
14/07/10 18:50:47 FATAL conf.Configuration: error parsing conf file: com.sun.org                                                                                                                                                 .apache.xerces.internal.i…
---恢复内容开始--- 之前我们都是学习使用MapReduce处理一张表的数据(一个文件可视为一张表,hive和关系型数据库Mysql.Oracle等都是将数据存储在文件中).但是我们经常会遇到处理多张表的场景,不同的数据存储在不同的文件中,因此Hadoop也提供了类似传统关系型数据库的join操作.Hadoop生态组件的高级框架Hive.Pig等也都实现了join连接操作,编写类似SQL的语句,就可以在MapReduce中运行,底层的实现也是基于MapReduce.本文介绍如何使用MapRe…
如果我们想把文件上传到Hadoop集群中,使用put命令即可.下面的语句是将本地文件上传到hadoop集群的/目录下. hadoop fs -put fruit.txt /   下面介绍通过脚本将文件分发到Hadoop集群的方法.因为Hadoop本身就带有文件自动分发的功能,我们只需在启动hadoop作业的脚本文件中做相应的配置即可.可选的配置项有三个,每个适用的场景都不一样: -file:将本地文件分发到计算节点. -cacheFile:将HDFS中已经存在的文件发送到需要使用该文件的节点.…
二次排序,从字面上可以理解为在对key排序的基础上对key所对应的值value排序,也叫辅助排序.一般情况下,MapReduce框架只对key排序,而不对key所对应的值排序,因此value的排序经常是不固定的.但是我们经常会遇到同时对key和value排序的需求,例如Hadoop权威指南中的求一年的高高气温,key为年份,value为最高气温,年份按照降序排列,气温按照降序排列.还有水果电商网站经常会有按天统计水果销售排行榜的需求等等,这些都是需要对key和value同时进行排序.如下图所示:…
Hadoop排序,从大的范围来说有两种排序,一种是按照key排序,一种是按照value排序.如果按照value排序,只需在map函数中将key和value对调,然后在reduce函数中在对调回去.从小范围来说排序又分成部分排序,全局排序,辅助排序(二次排序)等.本文介绍如何在Hadoop中实现全局排序.   全局排序,就是说在一个MapReduce程序产生的输出文件中,所有的结果都是按照某个策略进行排序的,例如降序还是升序.MapReduce只能保证一个分区内的数据是key有序的,一个分区对应一…
排序在很多业务场景都要用到,今天本文介绍如何借助于自定义Partition类实现hadoop部分排序.本文还是使用java和python实现排序代码. 1.部分排序. 部分排序就是在每个文件中都是有序的,和其他文件没有关系,其实很多业务场景就需要到部分排序,而不需要全局排序.例如,有个水果电商网站,要对每个月的水果的销量进行排序,我们可以把reduce进程之后的文件分成12份,对应1到12月份.每个文件按照水果的销量从高到底排序,1月份的排序和其他月份的排序没有任何关系. 原始数据如下,有三个字…
上一篇我们学习了MapReduce的原理,今天我们使用代码来加深对MapReduce原理的理解. wordcount是Hadoop入门的经典例子,我们也不能免俗,也使用这个例子作为学习Hadoop的第一个程序.本文将介绍使用java和python编写第一个MapReduce程序. 本文使用Idea2018开发工具开发第一个Hadoop程序.使用的编程语言是Java. 打开idea,新建一个工程,如下图所示: 在弹出新建工程的界面选择Java,接着选择SDK,一般默认即可,点击“Next”按钮,如…
    一致性Hash算法. Hash算法是为了保证数据均匀的分布,例如有3个桶,分别是0号桶,1号桶和2号桶:现在有12个球,怎么样才能让12个球平均分布到3个桶中呢?使用Hash算法的做法是,将12个球从0开始编号,得到这样的一个序列:0,1,2,3,4,5,6,7,8,9,10,11.将这个序列中的每个值模3,不管数字是什么,得到的结果都是0,1,2,不会超过3,将结果为0的数字放入0号桶,结果为1的数子放入1号桶,结果为2的数字放入2号桶,12个球就均匀的分布到3个桶中,0,3,6,9,…
Hadoop是什么? Hadoop是一个处理海量数据的开源框架.2002年Nutch项目面世,这是一个爬取网页工具和搜索引擎系统,和其他众多的工具一样,都遇到了在处理海量数据时效率低下,无法存储爬取网页和搜索网页时产生的海量数据的问题.2003年谷歌发布了一篇论文,专门介绍他们的分布式文件存储系统GFS.鉴于GFS在存储超大文件方面的优势,Nutch按照GFS的思想在2004年实现了Nutch的开源分布式文件系统,即NDFS.2004年谷歌发布了另一篇论文,专门介绍他们处理大数据的计算框架Map…
一.event事件分析 叶子节点只计算一次 父节点的触发次数由子节点的数量节点 事件流:是由业务人员定义的一系列的具有前后顺序的事件构成的用户操作行为,至少包括两个事件以上. 目标:以事件流为单位,分析事件流中各个事件的触发次数 事件流特征: 1.事件流中每一个事件都会存在一个来源/父事件 计算方式: 1. 不考虑事件流的关系,直接计算各个事件的触发次数(wordcount) 2. 考虑事件流,计算事件流中的各个事件的触发次数 区分 1.uuid,不同访客的事件流不在一起处理: 不同人产生的事件…
这几年云计算大数据非常火,借这个东风.今天開始学习apache的分布式计算框架hadoop,希望不要太落后. Hadoop说明 对于hadoop.apache官方wiki给出的说明为 Apache Hadoop is a framework for running applications on large cluster built of commodity hardware. The Hadoop framework transparently provides applications b…