自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 Java内部类

1. 为什么使用内部类?使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响1.1 使用内部类最大的优点就在于它能够非常好的解决多重继承的问题,使用内部类还能够为我们带来如下特性:(1)内部类可以用多个实例,每个实例都有自己的状态信息,并且与其他外围对象的信息相互独。(2)在单个外围类中,可以让多个内部类以不同的方式实现同一个接口,或者继承同一个类。(3)创建内部类对象的时刻并不依赖于外围类对象的创建。(4)

2021-07-19 11:33:16 132

原创 2021-07-18

Java语言特点Java是编译性语言,编译与操作系统无关,运行时进行翻译,低版本的jvm没有办法运行高版本的Java代码。方法的重载在同一个类中方法名相同方法的形参列表不同具体的不同表现为:类型、个数、顺序的不同才可以构成重载#比较容易忽略的一点#与方法的返回值类型与访问权限无关异常编译时异常必须显示处理,运行时异常交给虚拟机。(比如Null Pointer Exception异常)出现运行时异常后,系统会把异常一直往上层抛,一直遇到处理代码。如果没有处理块,到最上层,如果是多线程

2021-07-19 11:17:48 98

原创 ZooKeeper

zookeeper简介直译:动物园的管理者管理的是hadoop生态圈。本质也是一个资源调度器为什么是动物园:hadoop(大象),hive(蜜蜂),hbase(鲸鱼),flink(松鼠)……与yarn的区别?yarn管理的是某个集群的资源调度zookeeper管理的整个hadoop生态圈的资源调度(跨集群)zookeeper = 文件系统 + 监听同步机制文件系统:一个小型的文件系统,存放的是大家都关心的数据。监听同步机制:​ 所有的节点都在监听大家都关心的数据,其中任何一个节点监测到数

2021-04-12 08:51:53 476

原创 Yarn组件专题

Yarn概述Yarn是Hadoop的第三个组件,是一个资源调度器资源:软件资源、硬件资源从另一个角度分析,Yarn可以看做是一个操作系统操作系统:只对当前计算机提供管理服务,与其他机器无关Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而mapreduce等运算程序则相当于运行于操作系统之上的应用程序。重要概念Yarn并不清楚用户提交的程序的运行机制Yarn只提供运算资源的调度(用户程序向Yarn申请资源,Yarn就负责分配资源)Yarn运行

2021-04-12 08:51:22 113

原创 MapReduce的输入输出格式

InputFormatTextInputFile最普通的文本文档格式,MR中默认的 InputFormat,不需要特殊指定每条记录是一行输入。键是LongWritable 类型,存储该行在整个文件中的字节偏移量。 值是这行的内容,不包括任何行终止符(换行符合回车符),它被打包成一个 Text 对象。SequenceFileInputFormat序列化文件格式,文件中两个字段,分别代表key和value。KEYIN VALUEIN (根据文件字段的实际类型确定)KeyValueFileInput

2021-04-12 08:50:51 1393

原创 MapReduce并行度

并行度一个任务同时由人执行的数量reduce和map的并行度没有任何数量关系reduce端的并行度reducetask默认值是1,可以通过 job.setNumReduceTasks(n) 设置n就是reduce的并行度,每个节点都可以执行0-n个reduceTask注意:reducetask=0,表示没有reduce阶段,输出文件个数和map个数一致。reducetask默认值就是1,所以输出文件个数为一个。如果数据分布不均匀,就有可能在reduce阶段产生数据倾斜re

2021-04-12 08:50:26 553

原创 MapReduce的Join业务

Join业务专题join在数据库中表示表连接在MapReduce中表示对两份数据data1和data2进行关键词连接(Join),连接不同类型文件的数据案例​ 原数据:​ commodity -> 02 小米手机​ order -> 001 02 10​ 需求:​ 001 02 小米手机 10利用Reducer实现Join操作思想比较中规中矩,但是代码比较复杂。把处理逻辑的核心放在reduce端1)原理分析:​ Map端的主要工作:为来自不同表(文件)的key/

2021-04-12 08:49:58 91

原创 MapReduce排序专题

部分排序MapReduce 根据输入记录的键对数据集排序。保证在结果文件中,每个文件内的数据有序,但是全局文件无序。MapReduce中正常执行的代码都是部分排序。全排序对于所有结果文件,不仅每个文件内部有序,同时全局有序。实现方式:按照逻辑有顺序的自定义分区规则把reduce数量设置为1(处理大型文件时效率极低)如果数据中某部分数据特别集中,分区的标准很难确定,就会造成reduce端计算数据倾斜问题,导致计算时间过程。解决方法 3通过随机抽样的方式获取自定义分区的临界点

2021-04-12 08:49:27 155

原创 MapReduce的Shuffle过程

认识Shufflemap task:map端可以执行的一个进程reduce task:reduce端可以执行的一个进程shuffle是介于maptask和reducetask之间的一个过程shuffle可以分为map端的shuffle和reduce端的shufflemapreduce中,map阶段处理的数据如何传递给reduce阶段,是mapreduce框架中最关键的一个流程,这个流程就叫shuffle具体来说:就是将map task输出的处理结果数据,分发给reduce task,并在分发的过

2021-04-12 08:48:56 4567

原创 MapReduce的Writable序列化机制

什么是序列化序列化:​ 把内存中的对象以字节数组的形式写入磁盘的过程反序列化:​ 把磁盘中的字节数组读到内存中为什么不用Java的序列化机制Java 的序列化是一个重量级序列化框架( Serializable),一个对象被序列化后,会附带很多额外的信息(各种校验信息, header,继承体系等),不便于在网络中高效传输。在Java中处理的数据量不是很大,没有问题。如果数据量达到海量数据的级别,不适合使用java本身的序列化Hadoop中的序列化在Java的基础上进行改进,形成了自己的轻

2021-04-12 08:48:09 279

原创 MapReduce简介

MapReduce:是hadoop中的一个非常重要的组件,解决海量数据怎么计算的问题的组件由来:谷歌论文 Map-ReduceMapReduce到底是什么东西从论文的角度分析:是一种思想从技术的角度分析:是分布式计算框架框架软件框架(software framework),通常指的是为了实现某个业界标准或完成特定基本任务的软件组件规范,也指为了实现某个软件组件规范时,提供规范所要求之基础功能的软件产品。规范思想上的规范map:最小化数据单元,并以键值对的形式传递到下一阶段。

2021-04-11 17:45:53 242

原创 HDFS零散知识点

集群间数据拷贝cp:本地之间的内容复制scp:远程复制,跨节点之间的数据复制不管数据是否一致,都复制一遍,比较浪费资源rsync:远程同步,跨节点之间的数据同步两个节点之间相同目录下,不一样的数据进行同步,节省资源hdfs dfs -cp:在同一个集群之间进行数据的复制distcp:跨集群的远程复制语法:hadoop distcp <srcurl> <desturl>注意:没有远程本地之分,都属于远程,路径必须写hdfs://ip:po

2021-04-11 17:43:59 126

原创 DataNode工作原理

DataNode工作机制DN在启动的时候,向NN注册自己。如果没有注册成功的,直接认定不可用。NN接收注册,把DN的数据信息记录下来,反馈回去(注册成功)DN每隔3秒钟(心跳机制)与NN进行一次数据传输目的是为了证明当前DN可以使用如果5分钟没有接收到心跳,NN主动寻找DN,达到10分钟没有找到,可以认定当前DN不可用(即使没有宕机,网络过慢也不适合继续使用)DN每隔一小时与NN汇报一次工作,上报块信息注意:hdfs-site.xml 配置文件中的heartbe

2021-04-11 17:42:33 250

原创 NameNode工作原理

NameNode的原理​ 满足速度快和数据安全的两个前提下,在磁盘和内存各存储一份当前的状态文件,如果第一次使用HDFS(格式化),创建这两种文件。如果不是第一次使用,直接从磁盘把这些文件读取到内存进行还原。怎么实现?编辑日志文件和镜像文件EDITS文件:存放HDFS文件系统的所有更新操作的路径,文件系统客户端执行的所有写操作首先会被记录到edits文件中。edits_m-n 记录hdfs操作的日志文件(不再修改)edits_inprogress_n+1 记录hdfs当前正在操

2021-04-11 17:38:36 401

原创 HDFS数据写入读出原理

HDFS中数据写入读出原理写数据原理客户端与NN发送写数据请求NN响应客户端,可以上传数据每个block块分别与NN发送请求,请求可以存储的DN列表NN分配DN列表客户端与被分配到的DN进行连接这些DN与客户端进行响应客户端开始发送数据给第一个节点由第一个节点传递给第二个节点,以此类推n个副本存储完毕,客户端通知NN,传递完毕NN记录元数据机架感知机架: 存放服务器的架子,也叫机柜​ 一个机房有很多个机架,每个机架有很多个服务器。感知策略:​ hadoop1版本

2021-04-11 17:32:43 163

原创 HDFS操作

1. shell操作hadoop/hdfs脚本没有参数,或参数为–help -help -h 打印帮助信息hadoop中包含但不限于hdfs命令,hdfs只有hdfs命令两个脚本中的每个命令实际都对应一个java类实现hdfs dfs 完全等价于 hadoop fs2. API操作1) 构建项目a. 普通方式,手动导包查找依赖包hadoop.tar.gz解压缩share-hadoop 搜索 .jar 共479个(包含重名包)搜索 -source 删除或剪切搜

2021-04-11 17:25:37 112

原创 HDFS介绍

HDFS​ Hadoop Distributed File System​ Hadoop的分布式文件系统什么是文件系统​ 在磁盘(硬件,只能做存储)的基础上,对于文件或目录进行内容和位置管理的软件系统,叫做文件系统。什么是分布式存储​ 对于一个容量特别大的文件进行存储的时候,一个单独的节点无法完成这个存储任务,必须对这个大文件按照某种规则进行切割,切割成很多个小文件,把每个小文件分别放在集群中的不同节点里,分散了海量数据的存储压力。文件系统的表现形式本地文件系统windows: fil

2021-04-11 17:24:43 243

原创 完全分布式环境搭建

整体规划一个集群,四个节点ip分别是201(node201) 202(node202) 203(node203) 204(node204)角色分配node201:NameNode ResourceManagernode202:DataNode NodeManagernode203:DataNode NodeManagernode204:DataNode NodeManager SecondaryNameNode搭建步骤创建节点:使用传统方式直接安装操作系统,比较麻

2021-04-11 17:23:51 77

原创 伪分布式环境搭建

注意配置分布式的前提条件jdk1.8ssh免密登录关闭防火墙如果访问不到webUI的几种处理情况windows或linux防火墙没有关闭主机名与ip没有在hosts文件中映射(更容易出现在windows下)浏览器不能使用IE或兼容模式如果需要重新格式化关闭服务删除所有节点的dfs目录重新格式化,重启服务伪分布式环境搭建下载安装包解压缩配置环境变量HADOOP_HOME=/home/bduser/modules/hadoopPATH=

2021-04-11 17:22:13 190

原创 Hadoop简介

定义: 一个可靠的,可扩展的,可以分布式计算的开源软件(计算框架)特点:使用简单计算模型,在集群中,分布式的处理海量数据集群:从硬件的角度分析,代表很多个服务器组成了一个集群分布式:从软件的角度分析,代表一个任务在集群中的计算方式集群中节点的数量可以从1到成千上万(可扩展),每个节点都可以有独立的计算和存储能力相对于在硬件层次上做优化,在应用层做优化会更好任何一个节点都可以出现错误。如果一个节点出现问题,还有集群中的其他节点继续完成工作。Hadoop到底是什么从技术

2021-04-11 17:21:02 256

原创 Linux一些其他命令

一、定时任务对于某个任务可以自动化完成一些周期性的执行工作。使用方法crontab -e 编辑定时任务 -l 查看定时任务列表 -r 删除定时任务语法* * * * * commond;commond;...分 时 日 月 周符号* 每个时间单位/n 每n个时间单位, 列举具体的时间单位- 时间范围内的时间单位实例* * * * * commond 每1分钟执行3,5 * * * * commond 每小时的第3和第5分钟执行3,5 8-12

2021-03-09 14:23:17 91

原创 shell脚本

文章目录一、 基本语法二、 数值运算1. $[]2. (())3. let 表达式三、大小判断四、控制语句1. 判断2. 循环五、函数1. 定义函数2. 调用函数定义:利用shell的命令所写的一个可以执行的程序,这个程序是纯文本文件,把一些业务操作使用控制语句连接起来,有了一定的逻辑关系。也可以搭配一些shell的语法或重定向,以达到我们所要实现的目的。好处就是为了实现功能的自动化操作。一、 基本语法第一行:#!/bin/bash第二行起:正常的逻辑代码使用#进行单行注释,:<<

2021-03-09 10:14:10 88

原创 shell命令&连接符&重定向

一、shell概念: shell是计算机软件和硬件之间的翻译官1. 控制台输出echoecho “hello world”echo ‘hello world’echo hello world注意:在shell中没有字符和字符串的区分,echo后面可以原样输出把shell命令写入脚本的执行方式:路径/xxx 必须对于当前用户有相应的可执行权限才可以执行;路径如果是当前目录,必须加./xxxbash xxx 不需要可执行权限,可以直接执行2. 变量声明变量变量名=内容读

2021-03-05 11:36:46 1681

原创 Linux用户与用户组

文章目录一、用户分类二、用户(组)的三个文件三、用户操作1. 添加用户2. 修改用户3. 删除用户四、用户组操作1. 添加用户组2. 修改用户组3. 删除用户组五、su / sudo六、权限修改一、用户分类超级用户/根用户/root 有最高权限,一般不使用普通用户 可以根据实际情况赋予不同权限二、用户(组)的三个文件/etc/passwd描述用户基本信息的文件用户id:root用户 0​ 系统用户 1-499​ 普通用户 500+/etc/shadow描述

2021-03-04 11:53:27 426 1

原创 Linux基本指令与操作(2)

Linux基本指令与操作(1)文章目录一、vi命令/vim命令二、压缩与解压缩1. gzip2. bzip23. tar三. 权限一、vi命令/vim命令概念:linux里的文本编辑命令。vim是vi的一个升级版本。普通用户下vi就是vim,root用户vi就是vi。编辑模式: 真正编辑/修改文本内容的模式非编辑模式: vi命令的默认模式,可以通过一些指令对内容进行一些特殊操作两种模式的转换关系:非编辑模式进入到编辑模式 1. a 在当前光标位置的后一位插入 2. A 在当前光

2021-03-03 16:24:19 364 1

原创 Linux基本指令与操作(1)

Linux基本指令[bduser@node100 ~]$a.bduser ----当前正在使用的用户名,在使用的过程中可以随时切换;b.@node100----正在使用的主机名,主机名可以修改c.~ ----此时此刻所在的目录名称,~代表家目录家目录:每一个用户都有自己的一个特定目录这个目录的内容所属当前用户家目录路径:根用户(root):/root普通用户:/home/用户名d.$ ----shell脚本命令公式:命令 [选项]… [参数]…a.命令 -----基本命令b.选项

2021-03-02 12:26:03 366

原创 Linux简介与环境搭建

Linux简介与环境搭建Linux简介1. 什么是linux2. linux与大数据的关系3. 为什么选择linux,而不是其他操作系统4. 版本Linux的环境搭建1. 虚拟化软件VMware安装2. 操作系统CentOS安装3. 远程连接工具MobaXTerm安装4. 环境搭建过程中,可能会遇到的问题。Linux简介读音 美 /ˈlaɪnəks; ˈlɪnəks/需求:1.什么是linux? 2.linux能干什么? 3.能使用基本的指令1. 什么是linux​ 是一个多用户,多任务的操

2021-03-01 18:14:01 179

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除