07 2018 档案
摘要:step1:开启zookeeper服务 $>zkServer.sh start step2:开启journalnode守护进程(在qjournal协议指定的节点上执行) $>hadoop-daemon.sh start journalnode step3:开启namenode守护进程(在nn1和nn
阅读全文
摘要:HA:高可用 1.Quorum Journal Manager:群体日志管理 个数2n+1个,保证节点宕机次数为(n-1)/2;一般情况下,JNS在slave节点开启; 2.HA的namenode个数:一定是两个:nn1和nn2; 3.搭建HA步骤: 0.创建软连接:指向hadoop_cluster
阅读全文
摘要:多表连接:将连接键(id)作为k2,v2采用自定义的Writable,writable中包含以下字段:标志位字段+业务字段(可能多个);reduce端做笛卡尔积。 自连接(单表关联):对于给定的数据的key value 调换,并作些标记予以区别。 map端连接: 1.前提条件:小表尽可能小,一般情况
阅读全文
摘要:1.【Driver.class】-- Job job = Job.getInstance(conf); -->【job.class】getInstance(conf) --> new JobConf(conf) //构建一个空集群配置对象 说明:将默认configuration(4个配置文件)包装成
阅读全文
摘要:1.ResourceManager(资源管理器RM)常驻守护进程: 管理集群资源,负责全局资源的监控、分配和管理; 接收来自nodemanager的心跳信息,进行整体资源的汇总; 监控Applicacation Master的开启和创建; 2.Nodemanager(节点管理器NM)常驻守护进程:
阅读全文
摘要:描述的是reduce个数大于1的情况。全排序就是生存的多个文件里面都是按顺序的所有的文件的数据也是按顺序的。 1.思路 a.修改分区partition算法,默认是HashPartition; 例如: public int getPartition(LongWritable key, Text val
阅读全文
摘要:1.WritableComparable用途: WritableComparable可以相互比较,通常通过Comparators(比较器)进行比较。 在Hadoop Map-Reduce框架中用作键的任何类型都应该实现这个接口,因为要按键做排序; 2.WritableComparable和Writa
阅读全文
摘要:Hadoop的MapReduce计算模型的Key,Value值都是采用的自定义Writable类型,我们也可以自定义Writable来实现不同的业务需求。 1.定义: a.基于DataInput和DataOutput实现简单,高效,序列协议的可序列化对象; b.在hadoop的MapReduce计算
阅读全文
摘要:具有选择性(适合sum,max,不适合avg) 1.做优化:前提是不影响最终结果; a.实现map端到reduce端减少数据网络传输(网络IO) b.减少map Task数据输出(磁盘IO) 2.combine其实是Reduce,combine的输出作为reduce的输入 3.疑问:添加combin
阅读全文
摘要:俗称:洗牌 InputFormat-->InputSplit-->map函数(mapper)-->环形缓冲区-->partition(分区)-->sort(排序)-->spill to disk(溢写至磁盘)-->merge(合并)-->存储在maptask节点的本地(本地存储)-->fetch(通
阅读全文
摘要:1. 定义 partititon控制按值分区,并作为map输出的中间产物。键(或键的子集)用于派生分区,通常由哈希函数;分区的总数与reduce任务的数量相同。reduce的数量决定分区数;默认采用的是HashPartititon分区,当reduce个数为1时,采用的不是哈希分区,而是底层自定义的分
阅读全文
摘要:InputFormat抽象类源码解析 0.做两件事:【进行逻辑切分InputSplit;创建RecordReader】 1.抽象方法:List<InputSplit> getSplits(JobContext context) 说明:逻辑地分割作业的输入文件集-->InputSplit。然后将每个I
阅读全文