![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hadoop
墨玉浮白
这个作者很懒,什么都没留下…
展开
-
Hadoop完全分布式HA环境搭建
一、前提准备实验环境下准备4台虚拟机,必须安装好jdk并配置好环境变量。(点击查看jdk的安装配置)二、节点规划NN1NN2DNZKZKFCJNnode1***node2*****node3**node4**三、免密钥这里需要node1和node2之间彼此免密钥。在node2上创建密钥:原创 2019-06-12 19:56:42 · 529 阅读 · 0 评论 -
从源码角度分析MapReduce的map-output流程
文章目录前言前言之前我们已经对MapReduce的map-input流程进行了分析,现在我们继续从源码角度对map-out流程进行分析。原创 2019-06-30 13:14:54 · 727 阅读 · 2 评论 -
一篇文章搞懂fof好友推荐案例
需求推荐好友的好友。原始数据:小明 老王 如花 林志玲老王 小明 凤姐如花 小明 李刚 凤姐林志玲 小明 李刚 凤姐 郭美美李刚 如花 凤姐 林志玲郭美美 凤姐 林志玲凤姐 如花 老王 林志玲 郭美美 李刚思路根据好友列表,先找出直接好友,生成好友列表。然后再根据好友列表,找出fof。去除已经是好友的fof。案例实现1.Mapper1我们要根据原始数据,得到直接好友和...原创 2019-06-18 16:36:42 · 772 阅读 · 0 评论 -
HDFS读写流程
一、HDFS写流程Client node永远先和namenode联系(cerate),写流程上传文件,在namenode的虚拟目录树下定义文件叫啥,比如叫X文件。第一次通信的时候,NN会对文件名、path、上传权限进行检查,如果有了就不能上传了,因为不能覆盖。如果没有,才能创建。这时候文件还能看到,叫X_copying(此时的文件还只是虚的,文件内容还没有上传)。这个完了,NN会根据副本放置...原创 2019-06-11 20:59:08 · 252 阅读 · 0 评论 -
Block的副本放置策略
服务器有:塔式、机架、刀片3种。Block块的N个副本的放置策略:第一个副本放置:如果在集群内上传1T文件,就放置在该DN上。如果在集群外上传,则找一个磁盘空间足够、CPU够用的节点。第二个副本:放置在和副本1不同机架的节点上;放置整个机架挂掉第三个副本:放在副本2相同机架的节点更多副本:随机机架放置策略如下图:...原创 2019-06-11 20:30:54 · 1330 阅读 · 0 评论 -
HDFS分布式文件系统
HDFS是为了针对分布式计算而产生的。也许,我们可以通过一个小例子来理解HDFS模型:一个网吧的电脑组成集群,别人排队在前台交钱上网。解耦出来一台电脑,什么都不干,就存索引(网管)。第一个人进来先找网管,网管安排大家去指定的机器。开机成功之后,本机会给网管反馈(心跳),网管收到之后建立映射关系,之后网管再向我提供点歌、订餐服务。总不能我刚交了钱、刷了身份证,机器还没开,网管就给我推送饮料、订餐...原创 2019-06-11 20:27:05 · 322 阅读 · 0 评论 -
MapReduce天气案例
需求:1949-10-01 14:21:02 34c1949-10-02 14:01:02 36c1950-01-01 11:21:02 32c1950-10-01 12:21:02 37c1951-12-01 12:21:02 23c1950-10-02 12:21:02 41c1950-10-03 12:21:02 27c1951-07-01 12:21:02 45c1951...原创 2019-06-17 16:35:06 · 1435 阅读 · 1 评论 -
Hadoop伪分布式环境搭建
前期准备必须得准备好jdk,且配置好环境变量(点击查看jdk的安装与配置)。设置sshd免密钥登录1.执行命令,生成密钥:[root@node1 .ssh]# ssh-keygen -t dsa -P '' -f /root/.ssh/id_dsaGenerating public/private dsa key pair.Your identification has been sa...原创 2019-06-11 19:44:48 · 369 阅读 · 0 评论 -
从源码的角度分析MapReduce的map-input流程
前言之前我们对MapReduce中Client提交Job作业的流程进行了源码分析(点击查看Client提交Job作业源码分析),今天我们来分析一下map-input阶段的源码。源码位置hadoop部署包下的hadoop-mapreduce-client-core-2.6.5.jar ,org.apache.hadoop.mapred包下有2个要看的:maptask和reducetask这里...原创 2019-06-16 16:18:34 · 554 阅读 · 0 评论 -
MapReduce中Client提交Job源码分析
回顾在进行submit源码分析之前,先来回顾一下WordCount案例(点击查看WordCount案例)。仔细回想一下曾经Client都干了点啥?获取对象——>一通set——>job.waitforCompelete(true)waitforCompelete方法可是说是最核心的,接下来,我们来看一下waitforCompelete的实现。1. waitforCompelete...原创 2019-06-15 16:40:14 · 312 阅读 · 0 评论 -
Hadoop架构-YARN
Client将写好的程序打成jar包,上传给RM。RM监控着所有NodeManager的资源情况(内存、CPU、磁盘io等),因此RM就知道哪个NodeManager是空闲的。假设NodeManager2的资源是足够的,RM就会启动它启动Application Master进程。然后NM2运行jar包程序,就知道要对哪个数据进行计算。首先对数据切片,若切5个片段,app mstr就会根据切片的...原创 2019-06-14 17:13:47 · 372 阅读 · 0 评论 -
MapReduce—第一个WordCount程序
客户端客户端先和RM联系,通过配置文件,知道集群内角色在哪。原创 2019-06-14 13:31:46 · 207 阅读 · 0 评论 -
HDFS-常用API操作
首先我们定义好连接和关闭: Configuration conf = null; FileSystem fs= null;@Before public void conn() throws IOException{//连接 conf = new Configuration(true);//true自动加载配置文件,把配置项转到conf对象 fs = FileSystem.get(c...原创 2019-06-13 21:06:55 · 129 阅读 · 0 评论 -
MapReduce-Shuffle机制运行解析
概述在MapReduce(分布式计算框架,底层依赖HDFS)中,map阶段经过处理输出的数据怎样传递给reduce并保证reduce的输入都是按键排序好的,在MR中是极为关键的一个流程,这个流程叫做Shuffle,也称之为“洗牌”。可以说,Shuffle是整个MR的心脏。Shuffle的结构Shuffle是MR处理流程中的一个过程,连接了map task和reduce task,它的每一个...原创 2019-06-13 20:54:19 · 269 阅读 · 0 评论 -
配置Yarn-Resourcemanager HA
1原创 2019-06-13 19:59:47 · 1495 阅读 · 0 评论 -
HDFS高可用原理
Hadoop1.0在HDFS和MapReduce的高可用、扩展性方面存在问题。一、Hadoop2.x产生背景1.HDFS存在的问题:Namenode单点故障,难以应用在线场景Namenode压力过大,内存受限,影响扩展性2.MapReduce存在的问题:响系统JobTracker访问压力大,影响系统扩展性难以支持除MapReduce之外的计算框架,比如Spark、Storm等...原创 2019-06-12 20:33:30 · 2012 阅读 · 0 评论 -
HDFS命令行操作
前提准备熟悉HDFS的命令行操作,需要事先在机器上搭建好环境。(点击查看伪分布式搭建;点击查看HA完全分布式搭建)。启动然后把我们的集群启动起来(这里我就先启动了伪分布式的环境):start-dfs.sh 所有的节点都启动起来后,输入以下命令会给出一系列命令的提示:[root@node1 hadoop-2.6.5]# hdfs dfsUsage: hadoop fs [gener...原创 2019-06-12 20:01:09 · 5103 阅读 · 5 评论 -
从源码角度分析MapReduce的reduce流程
文章目录前言流程图Reduce都干了哪些事?源码分析1.run方法1.1 比较器getOutputValueGroupingComparator1.1.1 getOutputKeyComparator1.2runNewReducer方法1.2.1 createReduceContext方法1.2.1.1 ReduceContextImpl方法1.2.1.1.1 nextKey方法1.2.1.1-1...原创 2019-06-30 19:09:55 · 355 阅读 · 0 评论