大数据
文章平均质量分 76
amingo_ss
10软件开发工作经验,曾就职于神州数码,中国通信服务,高校兼职讲师。参与交付中国移动,中国联通和中国电信运营支撑系统项目,以及10几个海外国家电信系统开发和交付,对spring生态和hadoop大数据生态技术有深刻理解。
展开
-
MapReduce框架-shuffle/map/reduce阶段工作梳理
mapreduce总结梳理:1.shufffle阶段:溢写->分区->排序->磁盘文件->合并->排序->磁盘文件–>copy->合并->排序spill->partition->sort->merge->sort->copy->merge->sortshuffle阶段进行了2次合并,3次排序。第一次排序:溢出后对数据进行排序。默认使用的快速排序。第二次排序:是对map的多个溢写分区文件合并以后进行排原创 2020-09-19 00:02:26 · 384 阅读 · 0 评论 -
Mapreduce框架-shuffle
1.shuffle简介shuffle的正常意思是洗牌或弄乱。它只代表reduce task获取map task的输出的过程,也可以理解为从map输出到reduce输入的整个过程。shuffle是MR的核心,也有把它称为奇迹发生的地方。这样MR的过程可以简化为下图将MR简化过程图进行细化,就有了那张经典流程图2.shuffle过程包含的阶段把map阶段完成数据的程序处理到reduce阶段开始执行数据处理任务的阶段叫shuffle,奇迹发生的地方。(1)溢写:map的数据写入到环形缓冲区,到达阈值原创 2020-09-18 23:55:48 · 587 阅读 · 0 评论 -
MapReduce框架-combiner
Combiner1.对combiner的理解combiner其实属于优化方案,由于带宽限制,应该尽量map和reduce之间的数据传输数量。它在Map端把同一个key的键值对合并在一起并计算,计算规则与reduce一致,所以combiner也可以看作特殊的Reducer。执行combiner操作要求开发者必须在程序中设置了combiner(程序中通过job.setCombinerClass(myCombine.class)自定义combiner操作)2.哪里使用combiner?1,map输出数据原创 2020-09-18 23:47:12 · 729 阅读 · 0 评论 -
Mapreduce框架-reduceTask工作原理
ReduceTask的工作原理1.reduceTask获取map阶段的输出-copy阶段两点说明:(1)map任务和reduce任务不一定在同一台机器上。(2)map任务和reduce任务不是只有一个。可能有多个map任务和多个reduce任务同时执行。1.reduce需要通过内部通信将map任务的输出拷贝到reduce。2.需要将所有的map任务的输出拷贝到不同的reduce。一个reduce处理一个分区的所有map任务输出。2.reduceTask获取map阶段的输出-合并和排序将ma原创 2020-09-18 23:39:30 · 561 阅读 · 0 评论 -
Mapreduce框架-MapTask工作原理
MapTask的工作原理1 map文件切割splitsize的大小。分片是按照splitsize的大小进行的,默认情况下,splitsize的大小等同于hdfs的block大小。但可以通过参数调节。splitsize=Math.max(minSize,Math.min(maxSize,blockSize))其中:mapreduce配置文件配置。minSize =mapreduce.input.fileinputformat.split.minsize //默认配置0maxSize = mapre原创 2020-09-18 23:36:36 · 428 阅读 · 0 评论 -
MapReduce框架-完整工程流程
原创 2020-09-18 23:34:00 · 103 阅读 · 0 评论 -
Mapreduce-序列化
1.hadoop序列化的必要性传统的计算机系统通过I/O操作与外界进行交流, Hadoop 的I/O由传统的I/O系统发展而来,但又有些不同, Hadoop 需要处理 P、T 级别的数据,所以在org.apache.hadoop.io包中包含了一些面向海量数据处理的基本输人输出工具。Mapreduce程序中Map和Reduce的输入输出的key-value都是序列化数据类型。2.序列化概念对象的序列化(Serialization)用于将对象编码成一个字节流,以及从字节流中重新构建对象。"将一个对象编原创 2020-09-18 23:27:06 · 376 阅读 · 0 评论 -
HDFS-IO流方式实现文件上传下载
目录1.IO流实现完整文件上传下载2.IO流实现文件分片下载1.IO流实现完整文件上传下载//使用IO流上传文件@Testpublic void putFileToHDFS() throws IOException, InterruptedException, URISyntaxException { Configuration configuration = new Configuration(); //获取文件系统 FileSystem fs = FileSystem.get(new UR原创 2020-06-29 14:32:33 · 497 阅读 · 0 评论 -
MapReduce-入门程序wordcount开发详细指导
WordCount入门程序目录WordCount入门程序1.过程分析2.创建maven项目2.1 log4j配置文件2.2 pom.xml3.程序开发3.1 Map阶段程序3.2 Reduce阶段程序3.3 Driver 程序4.运行程序4.1本地运行4.2 集群运行1.过程分析(1)mapreduce阶段(2)job运行阶段在job运行时,需要知道下面这些信息(1)Job任务执行的类(2)map运行需要的输入文件路径(3)reduce运行输出的文件保存路径(4)job运行的map类和原创 2020-05-31 10:57:42 · 225 阅读 · 0 评论 -
HDFS-服役和退役数据节点
目录1.服役新数据节点1.1.环境准备1.2.创建dfs.hosts文件并配置hdfs-site.xml1.3.刷新namenode和resourcemanager1.4.修改namenode的slaves文件1.5.启动新服役的数据节点2.退役旧数据节点2.1.创建dfs.hosts.exclude文件并配置hdfs-site.xml2.2.刷新namenode和resourcemanager2.3.停退役的数据节点2.4.将df.hosts中退役的数据节点删除,并刷新namenode和resourcem原创 2020-05-27 15:00:11 · 468 阅读 · 0 评论 -
HDFS-Namenode和Datanode多目录配置
目录1.Namenode多目录配置2.Datanode多目录配置2.1 Datanode配置多目录的必要性2.2 Datanode配置多目录2.2 Datanode多目录数据平衡3.启动namenode和datanode多目录配置集群1.Namenode多目录配置Namenode数据(操作日志文件,镜像文件等)存储路径可以配置多个不同路径,这些路径里面存储的数据相同。主要用作数据备份。在hdfs-site.xml中配置如下信息:<property> <name>原创 2020-05-21 10:53:00 · 1940 阅读 · 0 评论 -
HDFS-secondary namenode运行机制
Secondary namenode运行机制目录Secondary namenode运行机制1.简介2.以数据写入过程为列理解secondary namenode工作流程3.Secondary namenode checkpoint触发条件1.简介namenode在启动的时候,需要将操作日志文件edits和镜像fsimage文件合并。由于集群一般不会停止,操作日志文件edits会越来越大,当启动启动集群时nameNode合并操作日志文件和镜像文件的时间非常长。为了解决这个问题,hdfs引入了secon原创 2020-05-19 09:52:41 · 474 阅读 · 1 评论 -
YARN-HA高可用环境搭建
YARN-HA高可用环境搭建主要内容YARN-HA高可用环境搭建1.YARN HA实现原理2.YARN HA高可用集群搭建2.1.配置YARN(yarn-site.xml)2.2 启动YARN HA高可用集群2.3.模拟ResourceManager宕机,手动杀死进程1.YARN HA实现原理*启动两个ResourceManager后分别向Zookeeper注册,通过Zookeeper管理他们的状态,一旦状态为Active的ResourceManager无法正常提供服务,Zookeeper将会立即将原创 2020-05-16 13:30:17 · 619 阅读 · 0 评论 -
HDFS HA 高可用集群搭建
HDFS HA NameNode高可用集群搭建主要内容HDFS HA NameNode高可用集群搭建1.安装并配置Zookeeper集群2.配置HDFS(hdfs-site.xml)3.配置Hadoop公共属性(core-site.xml)4.启动HDFS HA高可用集群5.测试NameNode HA自动切换6.常见问题1.安装并配置Zookeeper集群参考:https://blog.csdn.net/amingo_ss/article/details/1043265932.配置HDFS(hdfs原创 2020-05-16 12:09:29 · 732 阅读 · 0 评论 -
HDFS-Namenode运行机制
Namenode运行机制namenode运行机制是HDFS非常重要,核心的知识点。搞清楚namenode运行机制这篇文章就够了,希望对大家有所帮助。目录Namenode运行机制1.Namenode的结构1.1内存1.2 磁盘2.从数据读写的过程理解namenode的工作机制3.Namenode启动过程4.面临的问题1.Namenode的结构Namenode的目录结构粗线条的来分,包括内存和磁盘。那么内存和磁盘里面分别存储的什么信息,它们之间是如何配合?1.1内存1.内存的大小在hadoop-原创 2020-05-14 12:07:51 · 693 阅读 · 0 评论 -
HDFS-镜像文件和编辑日志文件
镜像文件和编辑日志文件目录镜像文件和编辑日志文件1.存储位置2.文件简介3.查看文件内容3.1 oiv3.2 oev4.文件内容说明1.存储位置Namenode在格式化之后,会在/usr/local/hadoop/data/dfs/name/current路径下产生镜像文件和日志文件。该路径在core-site.xml中配置。产生的文件:edits开头是编辑日志,fsimage开头的是镜像文件以及seen_txid。2.文件简介edits文件:存放HDFS文件系统的所有更新操作的路径,文件系原创 2020-05-11 12:10:37 · 651 阅读 · 0 评论 -
HDFS-java开发文件上传/下载/查看/删除等操作
本文以hadoop2.6.4为例,讲解使用java进行hadoop开发实例。准备条件:hadoop2.6.4版本集群安装完成,并且启动。本文包含的主要内容:(1)开发环境准备(2)hadoop java开发实例1. 开发环境准备(1)jar包准备hadoop-2.6.4 \share\hadoop目录下所有文件夹下面的jar包。过滤掉所有以test,或者source结尾的jar包,剩...原创 2020-05-04 12:03:12 · 325 阅读 · 0 评论 -
Hadoop命令操作-hdfs shell命令
Hadoop命令操作Hadoop 命令主要包括用户命令和管理员命令。下面红框标出的是需要重点了解的hadoop命令。本文基于apache hadoop2.6.4 版本,主要讲解用户命令中的hdfs命令的使用。apache hadoop2.6.4 hadoop commands官方网站:http://hadoop.apache.org/docs/r2.6.4/hadoop-project-di...原创 2020-05-02 00:05:40 · 485 阅读 · 0 评论 -
HDFS读取数据流程详解
hdfs读取数据流程详解hdfs数据读取流程的流程和写入流程是相对应的。读取的目标存储在datanode block中,那么要搞清楚hdfs读取的流程,理解hdfs写入流程是前提。另外理解HDFS的数据读取流程除了理解hdfs交互过程外,还需要知道下面两个知识点:(1)机架感知-副本存储机制(2)网络拓扑-节点距离计算本文包含的主要内容:1.hdfs读取数据流程2.hdfs读取数据过...原创 2020-04-30 13:22:47 · 4945 阅读 · 0 评论 -
HDFS数据写入流程详解
hadoop数据写入流程详解hadoop数据写入流程是hdfs理论框架的基础,完全理解hadoop的数据写入流程是每一个大数据从业人员的必备技能。下面以300m文件写入hadoop2.x为例,详细讲解hadoop数据写入的详细过程。主要包括:1.数据写入流程图2.数据写入相关组件3.数据写入组件通信协议4.hdfs通信协议1.数据写入流程图:数据写入过程详解:(1)客户端发送...原创 2020-04-29 20:07:50 · 7064 阅读 · 1 评论 -
Ubuntu16.04下Hive的本地安装与配置
Ubuntu16.04下Hive的本地安装与配置1.系统环境os : Ubuntu 16.04 LTS 64bitjdk : 1.8.0_161Hive:hive-2.3.6Mysql:Hive 下载地址:https://mirror.bit.edu.cn/apache/hive/2.安装步骤2.1安装mysqlmysql在Hive环境中用于记录元数据。记录的元数据包括:表名与结...原创 2020-04-26 01:30:56 · 929 阅读 · 1 评论 -
Ubuntu16.04下Hbase集群模式的本地安装与配置
Ubuntu16.04下Hbase集群模式的本地安装与配置1.系统环境os : Ubuntu 16.04 LTS 64bitjdk : 1.8.0_161hbase:hbase-1.2.6Zookeeper:apache-zookeeper-3.5.6Hbase 下载地址:http://archive.apache.org/dist/hbase/1.2.6/2.安装步骤2.1修改...原创 2020-03-15 22:24:27 · 315 阅读 · 0 评论 -
Ubuntu16.04下Zookeeper集群模式的本地安装与配置
Ubuntu16.04下Zookeeper集群模式的本地安装与配置1.安装环境:os : Ubuntu 16.04 LTS 64bitjdk : 1.8.0_161zookeeper:apache-zookeeper-3.5.6zookeeper有单机、伪集群、集群三种部署方式。单机:一个服务器伪集群:在一个服务器部署多个zookeeper集群:多个服务器,一个服务器上部署一个zo...原创 2020-02-15 13:11:30 · 407 阅读 · 0 评论 -
Ubuntu16.04下Hadoop的本地安装与配置
Ubuntu16.04下Hadoop的本地安装与配置一、系统环境os : Ubuntu 16.04 LTS 64bitjdk : 1.8.0_161hadoop : 2.6.4部署时使用的用户名为hadoop,下文中需要使用用户名的地方请更改为自己的用户名。准备工具:VMware Workstation:创建虚拟机FileZilla :FTP工具SecureCRT :SSH远程...原创 2020-02-11 17:44:45 · 1433 阅读 · 0 评论