Hadoop
文章平均质量分 86
tianbwin2995
这个作者很懒,什么都没留下…
展开
-
启动Hadoop和运行一个Mapreduce的hello world
格式化之后的hadoop,看到jps里面有namenode,datanode【分别是HDFS的老大和小弟】,ResourceManager,Nodemanager【YARN的老大和小弟】,Secondarynode【是老大的秘书】启动hadoopstart-all.sh 【前面加上./】里面说this script is deprecated 这个脚本已经过时了,下一次请启动原创 2016-01-05 20:05:13 · 1136 阅读 · 0 评论 -
【5-1】ZooKeeper介绍
修改Linux主机名,修改IP,如果老大让我搭一个集群,规划:主机名,IP 安装的软件(jdk,hadoop,后三台安装zookeeper)hadoop2.0 namenode可以是多个,一个是active,一个是stand by,协调的人就是zookeeper(如果active死掉了,就用zookeeper来协调)zookeeper也是一个集群,但是它单点也能运行zookeepe原创 2016-02-06 13:38:59 · 357 阅读 · 0 评论 -
【3-5】mapreduce例子【未解决】
目的:统计某个手机号在某个时间段内产生多少流量。文件在一共11个字段,需要知道 时间【本例数据太少,基本全加】,手机号,流量上行,流量下行,其实就是三个字段。数据准备:把谁作为key,把谁作为value?【我要按照手机号分组的啊!类似Wordcount一样,hello 5次,Jerry 1次。我们可以把属性封装为一个对象里(类似c语言的结构体)。这是个封装的思想】因原创 2016-01-28 19:28:43 · 583 阅读 · 0 评论 -
【5-3】hadoop集群搭建
在我们伪分布式里面hdfs老大只有一个,现在,hdfs为了高可靠性,要有多个namenode【如果一个namenode死了之后,整个就瘫痪了】,进行实事切换,hadoop2.0把namenode进行了一个抽象,变成了一个nameservice,在一个nameservice里面,有两个namenode。但是,有两个namenode是不是得有个“人”来协调,否则要不都是active,要原创 2016-02-18 08:51:05 · 475 阅读 · 0 评论 -
【6-1】HBASE入门
hadoop1的生态圈HBASE是hadoop database,HBase利用hadoop HDFS作为其文件存储系统,利用mapreduce来处理HBase中的海量数据,利用zookeeper作为协调工具特点:面相“列” 【以往的数据库都是面相表的】优点:可在廉价PC Server上搭建起大规模结构化存储集群。概念:主键(Row Key)【其实是行键】 用来原创 2016-02-19 11:01:41 · 388 阅读 · 0 评论 -
【6-2】hbase shell
shell,即使用命令行的方式来创建表,插入数据。创建表,修改表,删除表是ddl,插入数据,删除数据是dml(数据库操作语言)不会的时候 help+命令创建一个表,create 'people',{NAME=>'info',VERSIONS=>3},{NAME=>'data',VERSIONS=>1}回车之后,发现table里面有一个表了输入list 可以看到有这个表原创 2016-02-20 11:25:41 · 394 阅读 · 0 评论 -
【1-3】Hadoop的配置及格式化
本文包括三点:1.配置hadoop的伪分布式 2.将hadoop添加到环境变量 3.格式化HDFS1.由于我们是在单机上面建立的“伪”分布式 我们要修改4个文件,大多数是xml文件配置hadoop伪分布式(要修改4个文件)第一个:hadoop-env.shvim hadoop-env.shexport JAVA_HOME=/usr/java/jdk1.6.0_原创 2016-01-05 11:19:25 · 1465 阅读 · 0 评论 -
hadoop stream 参数详解
Hadoop streaming是和hadoop一起发布的实用程序。它允许用户创建和执行使用任何程序或者脚本编写的map或者reduce的mapreducejobs。$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/hadoop-streaming.jar -input myInputDirs -output myOutputDir -mapper /bin/c转载 2016-06-13 09:50:09 · 315 阅读 · 0 评论 -
Hadoop Streaming框架使用(一)
http://www.cnblogs.com/luchen927/archive/2012/01/16/2323448.html Streaming简介 Streaming框架允许任何程序语言实现的程序在Hadoop MapReduce中使用,方便已有程序向Hadoop平台移植。因此可以说对于hadoop的扩展性意义重大,今天简单说一下。Streaming的原理是用Java实现一个包装用户程序的M转载 2016-06-13 10:33:13 · 352 阅读 · 0 评论 -
reducer里aggregate函数的使用
1.streaming的作用Haoop支持用其他语言来编程,需要用到名为Streaming的通用API。Streaming主要用于编写简单,短小的MapReduce程序,可以通过脚本语言编程,开发更快捷,并充分利用非Java库。HadoopStreaming使用Unix中的流与程序交互,从stdin输入数据,从stdout输出数据。实际上可以用任何命令作为mapper和reducer。数据流示意如下转载 2016-06-15 17:21:38 · 935 阅读 · 0 评论 -
Hadoop Streaming 实战: 实用Partitioner类KeyFieldBasedPartitioner
我们知道,一个典型的Map-Reduce过程包括:Input->Map->Patition->Reduce->Output。Pation负责把Map任务输出的中间结果按key分发给不同的Reduce任务进行处理。Hadoop 提供了一个非常实用的partitioner类KeyFieldBasedPartitioner,通过配置相应的参数就可以使用。通过KeyFieldBasedPartitioner转载 2016-06-15 17:30:52 · 2479 阅读 · 0 评论 -
【3-6】mapreduce执行过程【未完成,7弃】
首先client跟RM进行RPC通信,然后RM给你返回jobID,和存储jar包的路径。client根据这个路径进行一个拼接,拼接之后将jar包写入HDFS,写10份。之后client将任务的描述信息(jobID,jar包存放位置,配置信息)给RM,RM把这些放在调度器里。然后NM开始领任务,然后下载jar包,然后启动一些子进程来运行mapreduce,yarchild【音译】里面放置了一些m原创 2016-02-06 09:51:22 · 366 阅读 · 0 评论 -
Java精炼语言语法描述
学习hadoop---Java初级快速入门指导(2)http://www.aboutyun.com/thread-6921-1-1.html(出处: about云开发)阅读本文可以带着下面问题:1.你是否了解Java产生?2.Java语言有什么特点?3.Java为何健壮性更强,你对Java线程的理解什么?4.Java的数据类型都是什么?转载 2016-01-10 21:09:03 · 805 阅读 · 0 评论 -
hadoop开发—Java零基础,开发选择什么开发工具比较合适
转载:http://www.aboutyun.com/thread-6892-1-1.html本文为解疑贴:可以带着下面问题来阅读本文:1.你对下面的开发工具了解多少?2.下面那些常用开发工具?思考:在你想开发hadoop的时候,你认为自己会碰到什么问题?零基础还可以查看:零基础Java开发hadoop环境需要考虑的问题首先我们看转载 2016-01-10 15:08:34 · 499 阅读 · 0 评论 -
【2-5】RPC——不同进程之间的方法调用
学完了Java接口后,本节学习RPC(remote procedure call)远程过程调用协议。就是——不同进程直接的方法调用CRM暴露了一个接口【地址】,我一访问可以生成一个xml,得到一个类。我生成类之后我可以调用它里面的方法。左边里有一个代理对象,代理对象里面定义了一个一调用代理对象,其实是在目标方法里面原创 2016-01-10 21:14:41 · 2177 阅读 · 0 评论 -
【2-4】用Java接口操作HDFS
我们使用shell只进行一些简单的操作,还是用Java接口比较多。因此我们要使用Java接口的方式来操作HDFS我们new一个project 叫hadoop0106,然后再创建一个文件夹(new一个folder)叫lib,把jar包导入进去在hadoop2.2.0/share/hadoop/common 里面的三个jar包 Ctrl+c在hadoop2.2.0/share/ha原创 2016-01-20 11:37:25 · 514 阅读 · 0 评论 -
【2-6】HDFS读取数据的过程
我们在centos下打开JPS,看到有几个进程,如果我们设置断点了的话,是在jps看到进程里面有RPCClient的。这说明,namenode,datanode这些都是一个类!在eclipse里面打开Ctrl+shift+T 可以查找类找到namenode之后,我们开始关联源码,在这里,我们先去搜索下载一个hadoop的源码【Java的源码之前说过了,在jdk里面有】搜索hadoo原创 2016-01-22 17:43:21 · 604 阅读 · 0 评论 -
ssh协议与免密码登陆
接下来,我们回到初始设定的文件夹 /itcast/hadoop-2.2.0/ 然后ls一下,看一眼,有如下几个bin etc include lib libexec logs sbin share tmp我们上一节启动JPS里各种节点的start-all.sh,start-dfs.sh,start-yarn.sh的启动命令是在哪个包里的?对,在sbin里面,因此我们关闭原创 2016-01-05 20:34:24 · 556 阅读 · 0 评论 -
【2-2】HDFS的架构,元数据,客户端的上传和读取
HDFS的架构(HDFS architecture)Namenode:负责管理DataNode:存储数据Secondary NameNode:一个Namenode的秘书当一个客户端client想读取数据时:首先跟namenode打交道,获取一些“元数据”Metadata。然后namenode要查询它的元数据信息——元数据信息保存在【内存里?掉电就丢失了】内存一份原创 2016-01-07 09:28:36 · 681 阅读 · 0 评论 -
【2-3】HDFS之DataNode
Datanode:提供真实文件数据的存储服务HDFS默认的block大小是128MQ:如果我是130M的文件,我该用几块?A:2块,不过第二块只放了2M,有点太浪费了。有什么好方法?做个试验 先删去hadoop之前所有的东西,再上传一个130M的jdk,由于,Linux文件系统之上有一个HDFS,HDFS上的数据还要保存在Linux系统上【比如哪个磁盘上】i原创 2016-01-07 14:03:38 · 362 阅读 · 0 评论 -
【1-2】Linux配置JDK环境的方式
配置完IP之后,下一步要把centos系统中配置Java环境JDK,在配置之前,首先要做的——当然是下载一个jdk了。。下载方式,我不太会用原网站去找,就直接在百度网盘搜中找了一个,之后有压缩格式(gz或tar格式),或者直接下载.bin格式的都可以 下载bin格式的就不用解压了下载之后!第二个问题出现了。。。麻蛋不会怎么导入到虚拟机里的centos里。我总共试了三个方法,第一个方原创 2016-01-04 14:40:05 · 417 阅读 · 0 评论 -
【3-1】MapReduce原理
MapReduce是分布式计算编程模型。【就是每个人的业务都可用】。只要我实现具体的业务逻辑即可,底层的细节不需要我关心。Google在2004年提出了这种模型,非常简单即可实现分布式计算模型。面试题:我有一个1G的文件,有许多数,用空格分隔,机器的内存只有1M 我怎样将这样的数据计算出来?方法:我把文件切分成1024分,每份1M,每次先把1M放在内存里,然后把计算结果放在磁盘,然原创 2016-01-25 09:23:09 · 432 阅读 · 0 评论 -
【3-2】mapreduce执行流程
mapper和reducer输入和输出都是以(key,value)形式的Group,分组,按照key2来分组,然后将v2放在一个集合中,作为一个value如果我们想实现mapreduce模型,只需要重写map方法和reduce方法即可,适合各种业务。mapreduce执行过程:map任务:1.读取文件内容,一行内容解析成一个key,value【怎么做的?一会儿介绍】一个原创 2016-01-25 17:30:28 · 424 阅读 · 0 评论 -
【3-3】Wordcount代码编写
面试:mapreduce的执行流程是什么?等等。。打开eclipse,往那个项目里导入mapreduce相关的jar包,jar包的位置:等以后去了大公司,大家一起开发工作,jar包不能冲突,我们都使用maven,有个maven库,只要配置好home文件Q:mapreduce分两个阶段,我要用mapreduce这个编程模型,我怎么让他知道这个是mapreduce程序啊?要么实原创 2016-01-25 23:39:38 · 480 阅读 · 0 评论 -
python 实现Hadoop的partitioner和二次排序
我们知道,一个典型的Map-Reduce过程包 括:Input->Map->Patition->Reduce->Output。Pation负责把Map任务输出的中间结果 按key分发给不同的Reduce任务进行处理。Hadoop 提供了一个非常实用的partitioner类KeyFieldBasedPartitioner,通过配置相应的参数就可以使用。通过 KeyFieldBasedPartitio转载 2016-06-16 09:15:50 · 1030 阅读 · 0 评论