Hadoop
介绍Hadoop技术
andyonlines
趁着热情还在,奋斗吧!
展开
-
MapReduce Job 提交流程源码解析
文章目录1 大体流程1 大体流程waitForCompletion()submit();// 1 建立连接connect();// 1)创建提交 Job 的代理new Cluster(getConfiguration());// (1)判断是本地运行环境还是 yarn 集群运行环境initialize(jobTrackAddr, conf); // 2 提交 jobsubmitter.submitJobInternal(Job.this, cluster)// 1)创建给集群提交数原创 2021-03-18 00:17:10 · 131 阅读 · 0 评论 -
hdfs HA 出现Cannot find any valid remote NN to service request
文章目录所有的nameNode 都是standby状态,查看出现Cannot find any valid remote NN to service request解决办法:停掉hadoop的服务在所有的nameNode上执行hdfs zkfc -formatZK原创 2021-03-13 11:33:50 · 2199 阅读 · 0 评论 -
四.2 hadoop常用端口号
文章目录端口名称hadoop2.xhadoop3.xNamenode内部通信端口8020/90008020/900/9820NamenodeHTTP UI500709870Mapreduce查看执行任务端口80888088历史服务器通信端口1988819888原创 2021-03-13 09:39:18 · 112 阅读 · 0 评论 -
java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument
当使用idea 运行hadoop client操作hdfs是出现以下错误java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V at org.apache.hadoop.conf.Configuration.set(Configuration.java:1357) at org.apache.hadoop.conf.C原创 2021-02-03 23:32:15 · 3261 阅读 · 2 评论 -
四.1 hadoop 3.1.3 非HA 集群安装部署
文章目录1 集群部署2 修改hadoop-env.sh,yarn-env.sh,mapred-env.sh文件3 修改core-site.xml文件4 hdfs-site.xml5 yarn-site.xml6 mapred-site.xml7 workers文件8 启动停止9访问页面地址9.1 yarn:9.2 hdfs10 测试1 集群部署2 修改hadoop-env.sh,yarn-env.sh,mapred-env.sh文件在上面三个文件中添加jdk 路径export JAVA_HOME=原创 2021-01-24 16:40:51 · 107 阅读 · 0 评论 -
hadoop 3.2.1集群和2.7 版本部署的区别
namenode默认端口号从50070变为9870群起集群的配置文件从slaves变为workers.原创 2020-03-21 22:26:45 · 1696 阅读 · 0 评论 -
Hadoop HA 重点
1 如果要实现HA,至少要启动3台Journalnode!2 journalnode进程采用paxos协议设计,适合运行在奇数台机器!3 如果启动了Journalnode,那么没有必要,也不能再启动SecondaryNamenode4 不能出现脑裂现象(不能同时出现两个active状态的namenode)5 hadoop ha配置(1) 三个文件添加JAVA_HOMEhadoop-en...原创 2020-04-04 22:29:52 · 163 阅读 · 0 评论 -
Zookeeper重点
1 一个leader,多个follower2 半数以上节点存活,集群才能存活(半数都不行)3 每个节点的数据都是一样的(Zookeeper值存储配置)4 请求按照顺序执行5 数据更新是原则性的6 命令命令基本语法功能描述help显示所有操作命令ls path [watch]使用 ls 命令来查看当前znode中所包含的内容stat查看节点状态...原创 2020-04-04 20:28:30 · 118 阅读 · 0 评论 -
Hadoop 重点
在Hadoop 1.x 的块大小默认是64M,而2.x 和3.x默认大小为128M.块大小计算方法,取离磁盘速度最近的2的倍数,比如磁盘速度为100M/s,那块大小就取128M.原创 2020-04-04 13:18:54 · 208 阅读 · 0 评论 -
二十四 Yarn资源调度器
文章目录1 Yarn基本架构资源调度器先进先出调度器(FIFO)Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作系统之上的应用程序.1 Yarn基本架构YARN主要由ResourceManager、NodeManager等组件构成,资源调度器目前,Hadoop作业调度器主要有三种:FIFO、Ca...原创 2020-03-05 21:22:11 · 160 阅读 · 0 评论 -
二十三 MapReduce Job提交的源码解析
文章目录1、MR的宏观流程2、MapReduce有两种运行模式3、源代码分析3.1 Job在提交之前的预处理阶段3.2 Map阶段1、MR的宏观流程1.两个阶段 Map阶段和Reduce阶段2.一个MapReduce任务为一个Job,一个Job在执行不同的阶段时,启动若干TaskMap阶段启动的进程称为MapTaskMapTask启动的数量取决于切片数,切N片,启动N个MapTaskR...原创 2020-03-05 15:33:59 · 233 阅读 · 1 评论 -
二十二 Zookeeper
文章目录1 Zookeeper概述1.1 概述1.2 特点1.3 数据结构1.4 应用场景1.5 下载地址2 Zookeeper安装3 Zookeeper单点模式的使用3.1 服务端的启动3.2 配置文件的配置参数的解读1 Zookeeper概述1.1 概述分布式系统:分布式系统指由很多台计算机组成的一个整体!这个整体一致对外,并且处理同一请求!系统对内透明,对外不透明!内部的每台计算机,都...原创 2020-03-04 09:25:16 · 285 阅读 · 0 评论 -
二十一 Hadoop数据压缩
文章目录1 压缩概述2 压缩策略和原则3 MR支持的压缩编码4 压缩方式选择4.1 Gzip压缩4.2 Bzip2压缩4.3 Lzo压缩4.4 Snappy压缩5 压缩位置选择6 压缩参数配置1 压缩概述压缩技术能够有效减少底层存储系统(HDFS)读写字节数。压缩提高了网络带宽和磁盘空间的效率。在运行MR程序时,I/O操作、网络数据传输、 Shuffle和Merge要花大量的时间,尤其是数据...原创 2020-03-03 11:39:05 · 193 阅读 · 0 评论 -
二十 MapReduce开发总结
文章目录1.输入数据接口:InputFormat2.逻辑处理接口:Mapper3.Partitioner分区4.Comparable排序5.Combiner合并6.Reduce端分组:GroupingComparator7.逻辑处理接口:Reducer8.输出数据接口:OutputFormat1.输入数据接口:InputFormat(1)默认使用的实现类是:TextInputFormat(2...原创 2020-03-03 11:10:30 · 102 阅读 · 0 评论 -
十九 Map Join
文章目录1 Map Join 介绍2 分布式缓存的介绍3 Map Join案例1 Map Join 介绍1.使用场景Map Join适用于一张表十分小、一张表很大的场景。2.优点思考:在Reduce端处理过多的表,非常容易产生数据倾斜。怎么办?在Map端缓存多张表,提前处理业务逻辑,这样增加Map端业务,减少Reduce端数据的压力,尽可能的减少数据倾斜。3.具体办法:采用Distr...原创 2020-03-03 10:51:41 · 125 阅读 · 0 评论 -
十八 Reduce Join
文章目录1 Reduce Join工作原理2 实例1 Reduce Join工作原理Map端的主要工作:为来自不同表或文件的key/value对,打标签以区别不同来源的记录。然后用连接字段作为key,其余部分和新加的标志作为value,最后进行输出。Reduce端的主要工作:在Reduce端以连接字段作为key的分组已经完成,我们只需要在每一个分组当中将那些来源于不同文件的记录(在Map阶段...原创 2020-03-03 00:56:52 · 223 阅读 · 0 评论 -
十七 OutputFormat数据输出
文章目录1 简介和OutputFormat接口实现类2 自定义OutputFormat1 简介和OutputFormat接口实现类OutputFormat是MapReduce输出的基类,所有实现MapReduce输出都实现了 OutputFormat接口。下面我们介绍几种常见的OutputFormat实现类.1.文本输出TextOutputFormat默认的输出格式是TextOutputF...原创 2020-03-02 23:37:37 · 216 阅读 · 0 评论 -
十六 Shuffle机制之WritableComparable排序 和 Combiner合并
1 排序概述排序是MapReduce框架中最重要的操作之一.MapTask和ReduceTask均会对数据按照key进行排序。该操作属于Hadoop的默认行为。任何应用程序中的数据均会被排序,而不管逻辑上是否需要。默认排序是按照字典顺序排序,且实现该排序的方法是快速排序。对于MapTask,它会将处理的结果暂时放到环形缓冲区中,当环形缓冲区使用率达到一定阈值后,再对缓冲区中的数据进行一次...原创 2020-03-02 21:23:03 · 175 阅读 · 0 评论 -
十五 Shuffle机制之parttition分区
文章目录1 Shuffle过程1 Shuffle过程Map方法之后,Reduce方法之前的数据处理过程称之为Shuffle.整体过程就不作介绍.可以看一下MapReduce工作流程https://blog.csdn.net/andyonlines/article/details/104529634里面的 7) - 13) 就是Shuffle过程的介绍....原创 2020-03-02 20:17:29 · 249 阅读 · 0 评论 -
十四 MapReduce工作流程
文章目录1 流程示意图2 解析1 流程示意图2 解析假如我们有一个文件ss.txt大小为200M的待处理文件,放在input目录下客户端在submit job之前,获取待处理数据的信息, 然后根据参数配置, 形成一个任务分配的规划.把待处理的文件进行切片,200M大小的文件切成两个分区.ss.txt 0 - 128M 第一个分区ss.txt 128 - 200M ...原创 2020-02-27 10:25:56 · 164 阅读 · 0 评论 -
十三 MapReduce之InputFormat
文章目录1 MapReduce的数据流2 切片与MapTask并行度决定机制3 FileInputFormat 切片大体步骤4 FileInputFormat切片机制5 FileInputFormat实现类5.1 TextInputFormat实现类5.2 KeyValueFormat实现类5.3 NLineInputFormat 实现类5.4 CombineTextInputFormat 实现类...原创 2020-02-26 23:21:54 · 262 阅读 · 0 评论 -
十二 Hadoop序列化
文章目录1 序列化概述1.1 什么是序列化1.2 为什么要序列化1.3 为什么不用Java的序列化2 自定义bean对象实现序列化接口(Writable)3 自定义bean对象实例3.1 需求3.2 需求分析1 序列化概述1.1 什么是序列化序列化就是把内存中的对象,转换成字节序列(或其他数据传输协议)以便于存储到磁盘(持久化)和网络传输。反序列化就是将收到字节序列(或其他数据传输协议)...原创 2020-02-25 13:43:56 · 94 阅读 · 0 评论 -
十一 MapReduce概述
文章目录1 MapReduce定义2 MapReduce优缺点2.1 优点2.2 缺点3 MapReduce核心编程思想4 MapReduce进程5 常用数据序列化类型6 MapReduce编程规范1 MapReduce定义2 MapReduce优缺点2.1 优点2.2 缺点3 MapReduce核心编程思想1)分布式的运算程序往往需要分成至少2个阶段。2)第一个阶段的Ma...原创 2020-02-24 23:16:51 · 96 阅读 · 1 评论 -
十 DataNode
文章目录1 DataNode工作机制2 数据完整性3 掉线时限参数设置4 服役新数据节点5 退役旧数据节点5.1 添加白名单5.2 黑名单退役6 Datanode多目录配置1 DataNode工作机制1)一个数据块在DataNode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。2)DataNode启动后向NameNode注...原创 2020-02-22 12:44:21 · 129 阅读 · 0 评论 -
九 NameNode和SecondaryNameNode
文章目录1 NN和2NN工作机制2 Fsimage和Edits解析2.1 oiv查看Fsimage文件2.2 oev查看Edits文件3 CheckPoint时间设置4 NameNode故障处理5 集群安全模式1 NN和2NN工作机制思考:NameNode中的元数据是存储在哪里的?首先,我们做个假设,如果存储在NameNode节点的磁盘中,因为经常需要进行随机访问,还有响应客户请求,必然是效...原创 2020-02-21 21:08:37 · 134 阅读 · 0 评论 -
八 HDFS写,读数据流程
文章目录1 剖析文件写入2 网络拓扑-节点距离计算3 机架感知(副本存储节点选择)4 HDFS读数据流程1 剖析文件写入HDFS写数据流程1)客户端通过Distributed FileSystem模块向NameNode请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在。2)NameNode返回是否可以上传。3)客户端请求第一个 Block上传到哪几个DataNode服...原创 2020-02-21 20:29:14 · 142 阅读 · 0 评论 -
七 HDFS客户端操作
文章目录1. HDFS客户端环境准备2. 在idea 上连接和操作集群1. HDFS客户端环境准备(1) 下载hadoop client 包并解压到一个无中文无空格的目录下 :链接:https://pan.baidu.com/s/1aYt3IHMYTO10XLzURkODlg提取码:3e4m(以上包是win10 的其它系统需要自己下载)(2) 配置HADOOP_HOME环境变量(...原创 2020-02-21 18:43:01 · 159 阅读 · 0 评论 -
六 HDFS的Shell操作
1.基本语法bin/hadoop fs 具体命令 OR bin/hdfs dfs 具体命令2.命令大全[andy@xiaoai01 hadoop-2.7.2]$ bin/hadoop fs[-appendToFile <localsrc> ... <dst>][-cat [-ignoreCrc] <src> ...][-checksum ...原创 2020-02-21 18:12:42 · 126 阅读 · 0 评论 -
五 HDFS概述
1 HDFS产出背景及定义原创 2020-02-21 16:05:05 · 122 阅读 · 0 评论 -
四 Hadoop运行模式之完全分布式运行模式
文章目录1. 虚拟机准备2. SSH无密登录配置2.1 配置ssh2.2 无密钥配置2.3. .ssh文件夹下(~/.ssh)的文件功能解释3. 编写集群分发脚本xsync(名字顺便)3.1. scp(secure copy)安全拷贝3.2. rsync 远程同步工具3.3. xsync 集群分发脚本4. 集群配置4.1 集群部署规划4.2 核心配置文件( core-site.xml )4.2....原创 2020-02-20 19:26:52 · 237 阅读 · 0 评论 -
三 Hadoop运行模式之本地运行模式和伪分布式模式
Hadoop运行模式包括:(1) 本地模式(开发不会用)(2) 伪分布式模式(开发不会用)(3) 完全分布式模式(重要开发一定是用这种模式)虽然本地模式和伪分布式模式开发不会用,但为了感受一下Hadoop的魅力,还是简单介绍一下.1 本地运行模式如果成功安装了Hadoop 和配置java和Hadoop的环境变量,就不用再作配置了.直接可以用了.1.1 官方Grep案例Grep 和l...原创 2020-02-19 13:58:01 · 368 阅读 · 0 评论 -
二 Hadoop运行环境搭建
1 虚拟机环境准备1.1 克隆虚拟机,虚拟机配置要求如下:单台虚拟机:内存4G,硬盘50G删除重复的eth0配置(只有CentOS6才会重复)[root@xiaoai 桌面]# vim /etc/udev/rules.d/70-persistent-net.rules(1) 删除“eth0”这一行 (2) 将"eth1"修改为"eth0"修改克隆虚拟机的静态IP[root...原创 2020-02-19 13:57:39 · 207 阅读 · 0 评论 -
一 Hadoop 的介绍
文章目录1 Hadoop是什么2 Hadoop三大发行版本3 Hadoop的优势4 Hadoop 的组成4.1 HDFS架构概述4.2 YARN架构概述4.3 MapReduce架构概述5 大数据技术生态体系6 存储单位换算1 Hadoop是什么Hadoop 是由Apatch基金会所开发的分布式系统基础架构.主要解决的是:海量数据的存储和海量数据的分析计算问题.广义上来说,Hadoop通...原创 2020-02-17 23:28:32 · 172 阅读 · 0 评论