`
dajuezhao
  • 浏览: 59784 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
一、为什么写分区和分组在排序中的作用是不一样的,今天早上看书,又有点心得体会,记录一下。二、什么是分区1、还是举书上的例子,在8.2.4章节的二次排序过程中,用气温举例,所以这里我也将这个例子说一下。源数据内容1900 35°C1900 34°C1900 34°C...1901 36°C1901 35°C书上的例子是为了去除一年当中气温最高的值,那么将年份和气温做了一个复合的key.2、通过设置了partitioner来进行分区(这里注意了,分区是通过partitioner来进行的)。因为分区是按照年份来进行,所以同年的数据就可以分区到一个reducer中。但是这样的分区是不能做到对气温划分的, ...
一、环境1、hadoop 0.20.22、操作系统 Linux二、设置1、因为hadoop的集群所有的机器不可能完全的配置一样,所以,不同节点机器上并发的最大map和reduce数量最好也不要相同。2、在对应的节点机器上修改mapreduce-sit.xml文件,添加参数如下:<property> <name>mapred.tasktracker.map.tasks.maximum</name> <value>2</value> <description>The maximum number of map tasks ...
一、环境1、hadoop 0.20.22、操作系统 Linux二、关于负载均衡1、一般情况下,数据在录入集群的时候就进行负载均衡,根据各个节点的情况来做数据平衡分发存放。2、但是如果在新增节点之后,如果想做到负载均衡则需要使用balancer的命令。对于这个命令,一般是有一个阀值,默认是10%也就是说,节点之间差额不过10%,集群认为就是均衡的。3、当然,负载的越平均,查询相对也较快,但是均衡的过程会耗时不少。三、操作1、新添加节点到集群,启动节点机器sh hadoop-daemon.sh start datanodesh hadoop-daemon.sh start tasktracker2、 ...
一、背景最近总在弄MR的东西,所以写点关于这个方面的内容,总结一下吧二、流程描述说实话,文字描述比较苍白,画了个图,贴出来,大家看看,有问题欢迎指出 三、总结1、值得提出的是,一个map结束就马上会进行分区的操作。并非是等所有的map都结束才做分区的操作。2、分组的操作是对key的值进行比较分组。(可以是复合key,也可以是单一的key)3、关于job.setSortComparatorClass(a.class);这个是自定义的比较器,对原有的排序方式进行重写。4、值得看看Hadoop自带的例子SecondarySort.java这个类。5、写的不对或有疑问的地方,发邮件交流,dajue ...
今天回北京了,想把在外地做的集群移植回来,需要修改ip地址和一些配置参数,结果在配置的过程中,总是会有一些提示,说是我的机器之间的认证权限有问题。所以对照以前写的安装手册,把ssh重新配置了一遍。但是发现在启动的时候还是有提示,说是我的ssh有错误,还是需要输入yes和密码来登录。总结了一下,内容如下:1、hadoop的ssh配置namenode无密码访问datanode需要配置各个机器,详细步骤可以参看安装手册。2、需要配置本地的无密码访问,因为默认情况下secondarynamenode是和namenode在同一个机器,启动的时候如果不配置则始终是在提醒需要输入访问本地的密码。3、如果出现冲 ...
一、 Hadoop节点热拔插在Hadoop集群中经常会进行增添节点操作,即实现节点的热拔插。在这些操作中不希望对集群进行重启。2.在集群中添加节点:a. 把新节点IP或者主机名字加入到主节点的slaves文件。b. 登录到新节点,执行:cd $HADOOP_HOME && bin/hadoop-daemon.sh start datanode && bin/hadoop-daemon.sh start tasktracker3. 从集群中移走节点,且对移走节点的数据进行备份:a. 在主节点的core-site.xml配置文件中添加 dfs.hosts.exclud ...
一、环境配置1、Eclipse 版本 3.3.X2、Hadoop版本 0.20.2二、配置流程1、将\hadoop-0.20.2\hadoop-0.20.2\contrib\eclipse-plugin\下的hadoop-0.20.2-eclipse-plugin.jar拷贝到eclipse-SDK-3.3.2-win32\eclipse\plugins\下。2、启动eclipse,点击Window->Show View->Other,点击M ...
  最近的事确实很多,但大部分精力都放在了项目的设计方面,最近几天才完成了一些初步的编码的工作。在这个阶段,我发现,需要对数据的录入和Job执行的管理做细致的规划,否则在后期的扩展性上将有很大的局限。我设计的框架大体如下: 在这个结构里面,可以明显的看到我采用了2种Client,一个是数据录入层,一个是Job管理层。这里我说明一下为什么需要这2种Client。1、数据录入主要接收数据,数据有多种形式传输,有流模式也有文件模式,为了不影响TaskTracker的性能,我采用Client单独的录入数据。2、对于Job管理,因为Job任务有先后的顺序管理,而且对于失败的Job需要做重新的尝试,同时 ...
一、需求背景 由于我们在做一些业务的时候,可能需要多个Job来组合才能满足一个也许需求,而每个Job之间都有依赖关系,所以产生了需要对Job顺序的控制。总结一下需求,大体如下: 1、Job之间有先后的顺序执行问题。 2、 ...
一、应用背景 由于在设计中有一个模块是对Job的管理,所以,在这里我采用了JobClinet来进行简单的控制。 二、应用点 JobClient指的是org.apache.hadoop.mapred.JobClient这个类。里面有不少的方法,我这里列举一些我用到的和一些需要注意的方法。 1、JobClient的实例化。这里有2中方法,一种是new JobClient(new JobConf);另外一种是实例化IP地址和端口。 2、通过JobClient获取Job列表。 JobClient.jobsToComplete()返回没有完成和没有失败的Job。换句话说就是在运行的Job。 ...
一、背景 早在8月份的时候,我就做了一些MR的Join查询,但是发现回北京之后,2个月不用,居然有点生疏,所以今天早上又花时间好好看了一下,顺便写下这个文档,以供以后查阅。 二、环境 JDK 1.6、Linux操作系统、hadoop0.20.2 三、资料数据 在做这个Join查询的时候,必然涉及数据,我这里设计了2张表,分别较data.txt和info.txt,字段之间以\t划分。 data.txt内容如下: 201001 1003 abc 201002 1005 def 201003 1006 ghi 201004 1003 jkl 201005 1004 mno 201006 1 ...
Global site tag (gtag.js) - Google Analytics