自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java工具类总结

1.判断字符串是否为全数字NumberUtils.isDigits//【注意】数字字符串相关的操作,建议统一用 NumberUtils 类下的方法,即不用 StringUtils.isNumeric()System.out.println(NumberUtils.isDigits("-5.96")); // 结果是falseSystem.out.println(NumberUtils.isDigits(“0000000000.596”)); // 结果为falseS

2021-02-20 10:59:37 925

原创 MR1.0的工作流程

MapReduce1的工作机制中,角色主要包括客户端, Jobtracker,TasktrackerJobtracker主要是协调作业的运行;而Tasktracker是负责运行作业划分之后的任务。流程图如下:1) hdfs客户端向jobtracker请求作业,jobtracker查找作业的输出路径是否存在,如果存在,则报异常,否则,则jobtracker向客户端返回job的提交路径和jobID;2) 客户端向共享文件系统提交job所需资源,并通知jobtracker输入数据已经放入共享文件系统,准

2020-10-29 14:38:05 321

原创 当向hdfs写数据的过程中,当写某一副本时出错如何处理?

具体流程:1)关闭管道;2)将已发送至管道,但是未经确认的数据重写回数据队列;3)从namenode中获取对应租约的最新更新时间,将该时间作为版本号,将正常运行的datanode的版本号更新,等出故障的节点恢复后,由于版本号不对,将会被删除;4)从正常datanode节点中选出一个主datanode节点,并与其他正常运行的datanode界定啊通信,获取当前文件在每个datanode中的数据块大小,并从所有数据块中选择最小的一块,将对应文件同步到每个datanode节点,5)FSFileOutp.

2020-10-29 14:35:11 449

原创 namenode的ha实现

1)状态为active状态的namenode向共享文件系统journalnode写入编辑文件日志,状态为standby的namenode从共享文件系统读取编辑日志,保持与active节点的同步;2)每个datanode节点会向所有的namenode节点报告自身的信息和状态;3)zkfc作为一个轻量级故障转移控制器,基于zookeeper实现的机制,由namenode运行的独立线程,在启动zkfc时,他会注册healthmonitor和activestandbyelector服务组件,同时会向注册的服务.

2020-10-29 14:23:54 665

转载 简述联邦hdfs

联邦hdfs是对namenode的水平扩展,将hdfs的namespace分为若干个区域,每个namenode管理一块区域,所有的datanode作为存储区域,向每个namenode注册datanode,并向每个namenode周期性的根据心跳机制汇报数据块信息与状态。参考链接:https://cloud.tencent.com/developer/article/1349468...

2020-10-29 14:20:39 190

原创 hdfs读过程

具体流程如下:1)hdfs客户端初始化FileSystem,并调用FileSystem的open方法,2)客户端的FileSystem通过hdaoop内置的rpc,获取文件的block所分布数据节点的信息;3)FileSystem返回FSDataInputStream对象给hdfs客户端,客户端调用 FSDataInputStream的read方法读取数据;4)FSDataInputStream读取当前文件所在的最近Datanode的数据,读取到客户端,5)当前数据块读取完毕后,FSDataIn.

2020-10-29 14:17:31 1163

原创 hdfs写过程

具体流程如下:1)hdfs的client创建distributedFilesystem,FSDataOutputStream对象,2)FSDataOutputStream通过hdfs内置的rpc向namenode发送创建新的文件目录entry的请求,namenode创建entry文件目录;3)hdfs客户端向将数据写入FSDataOutputStream的成员变量buffer中,在buffer中分解成多个packet报存储,4)FSDataOutputStream通过hdfs内置的http协议,将.

2020-10-29 13:47:18 133

原创 HDFS在clientProtocol中出现的基本概念的抽象

相关的基本抽象概念分为两部分:数据块相关,datanode相关5.1 数据块相关1)block:数据块在hdfs中抽象为block,block的成员变量主要包括:blockID:数据块唯一标识numbytes:数据块大小generationStamp:数据块版本号没修改一次数据块,它的版本号都会改变,当拥有相同的blockID,不同的版本号的两个数据块,其中有一个需要删除。数据块的命名为:blk_blockID2)locatedBlock:已经确定了存储位置的数据块,成员变量包括:blo

2020-10-29 12:50:40 319

原创 hdfs的安全模式

1)什么是hdfs的安全模式Hdfs进入安全模式之后,客户端只能对hdfs的文件进行读操作,不能进行修改,删除,移动,重命名等操作。2)什么条件下hdfs会进入安全模式第一,在hdfs集群启动的时候进入安全模式;第二,手动进入安全模式启动刚刚进行过格式化的hdfs集群时,不会进入安全模式,因为还没有数据块3)hdfs进入安全模式之后会做些什么第一,namenode合并fsimage和editlog文件,启动namenode节点后,会读取fsimage文件到内存,并执行editlog文件的操作,

2020-10-29 12:45:03 1344

原创 fsimage和editlog的合并过程

Fsimage是hdfs文件的检查点,也可以理解为整个hdfs在某一时刻的快照,就是这个时刻的hdfs上所有的文件块和目录,分别的状态,位于哪些个datanode,各自的权限,各自的副本个数等序列化信息。在namenode启动后,会将对hdfs节点的操作(写操作更新,删除等)记录在editlog,secondarynamenode负责周期性的将fsimage合editlog合并(可以设置周期或者定时任务合并),具体合并的步骤如下:将对hdfs的操作写入一个新创建的editlog.new文件,将旧的ed

2020-10-29 12:15:47 909

原创 HDFS中的接口类型

HDFS中的接口主要包括三种类型:客户端相关接口:ClientProtocol(客户端与名字节点)、ClientDataNodeProtocol(客户端与数据节点之间)服务器端相关接口:DataNodeprotocol(数节点与名字节点)、IntelDataNodeProtocol(数据节点之间)、NameNodeProtocol(名字节点与第二名字节点)安全相关接口:HDFS不同角色之间的通信方式有三种:RPC、http、socket...

2020-10-29 11:28:38 1381 1

原创 java基础

1.java内部类:1)静态内部类/** * 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问 2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员; 如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员 3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类(); */public class SOuter { pu

2020-05-22 19:52:57 232

原创 数据结构-快速排序

1.概念:从待排序数组中选择一个基准值,把小于基准值的数放到基准值的左边,把大于基准值的数放在基准值的右边,最后左边和右边的数组用同样的方法递归排序。2.实现选的是数组第一个元素作为基准元素/// <summary> /// 快速排序,前后指针跟进 /// </summary> public void QuickStar...

2020-04-26 15:53:48 126

原创 数据结构-递归

1.什么情况下可以使用递归:1)一个问题的解可以分解为几个子问题的解2)这个问题分解之后的子问题,求解思路完全一样3)一定有一个确定的答案,即递归的终止条件2.以斐波那契数列为例:private static int[] data=new int[46]; /** * 递归 * @param n,元素个数 * @return */ ...

2020-04-25 21:05:06 110

原创 数据结构算法-排序

1.冒泡排序实现 /// <summary> /// BubbleSorter冒泡排序 /// n个元素的数组 /// 第一轮排序:处理的数组元素下标:0到n-1,邻近两个元素依次比较,将最大的元素放到数组尾部; /// 第二轮排序:处理的元素0到n-2个元素,进行第一轮的比较,依次类推 /...

2020-04-24 15:43:09 136

原创 redis安装以及多台机器redis相互访问操作

下载地址:http://redis.io/download安装步骤:安装gccyum install gcc把下载好的redis‐5.0.2.tar.gz放在/usr/local文件夹下,并解压wget http://download.redis.io/releases/redis‐5.0.8.tar.gztar xzf redis‐5.0.8.tar.gzcd redis‐5.0...

2020-04-05 21:22:41 728

原创 idea配置maven(maven3.6.3版本与idea2017编辑器冲突)

1.本人在本地部署了maven3.6.3版本,在配置到idea2017中后,创建maven项目,一直出现“Unable to import maven project”错误;2.查看idea日志:Help-》show Log in explorer,发现报错“ERROR - #org.jetbrains.idea.maven - IntelliJ IDEA 2017.1.4 ” ;3...

2020-03-16 16:10:11 4611 3

原创 linux基本操作收集

1.“vim 文件名”命令打开文件后,按“/”键,命令终端的左下角出现斜杠,输入需要搜索的关键字

2020-03-13 15:38:00 192

原创 阿里云主机(linux-centos7)编译zookeeper源码,并导入idea,编译成功

1.在阿里云主机安装apache-ant-xxx.bin.tar.gz官网下载ant的linux安装包,网址:https://ant.apache.org/bindownload.cgi将下载的ant包拷贝到ecs主机的usr/local目录下,并tar -zxf apache-ant-1.10.7-bin.tar.gz进行解压;2.配置文件的配置打开ecs主机的配置文件:vim e...

2020-03-12 21:02:22 689

原创 解决本地springboot项目连接ECS的linux服务器安装的zookeeper报错socket is cannot connected

1.进入ecs后台,找到实例如下图所示进入安全组配置2.点击配置规则3.点击添加安全规则4.将ecs服务器的的etc/hosts的下面这行删除172.16.214.22 iZ8ee7x2aeowssZ iZ8ee7x2aeowssZ5.重启ecs上的zookeeper,在sprinboot项目重新连接zookeeper后,连接成功...

2020-03-01 15:33:35 742 1

原创 idea的基本操作收集

idea操作常识:1.intellij idea的debug模式的f9 = Eclipse的debug模式的f8一样,跳出断点,后续补充。。。

2020-02-17 10:32:39 248

原创 IDEA创建maven项目

一、点击idea右上角的File,点击展开的菜单栏的new一栏,点击弹框的Maven选项,如下图所示,选中红框对应的项目,点击next;二、填写GroupId和ArtifactId,点击next:三、选择本地安装的maven,maven的本地安装参考https://www.cnblogs.com/hglibin/p/9693901.html,在maven的安装过程中,可以配置maven目录...

2020-02-16 14:45:32 2220

原创 并发编程-缓存一致性协议

并发编程-缓存一致性协议1.首先需要了解现代计算机的硬件基本结构,如下图所示在上述图中,CPU中包括程序计数器(PC),寄存器文件,算法/逻辑单元(ALU),CPU缓存(L1,L2,L3),总线接口,读写速度由快到慢排序为:寄存器>L1>L2>L3。2.了解了现代计算机的硬件基本结构之后,我们模拟两个CPU都在操作主内存的x变量,假如主内存有一个x=5的变量,现在需要进行...

2019-10-01 23:02:28 148

原创 mysql-8.0.17-winx64免安装版本在win10的部署

mysql-8.0.17-winx64免安装版本在win10的部署欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowc...

2019-08-22 19:20:55 1141 4

空空如也

空空如也

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

TA关注的人

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