自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

IT成长记

这里记录一个程序员的成长

  • 博客(110)
  • 资源 (5)
  • 收藏
  • 关注

原创 大数据学习记录

根据尚硅谷大数据相关视频学习,整理的笔记,用于日后的回顾大数据概论大数据生态Hadoop运行模式HDFS概述HDFS的shell操作HDFS数据流NameNode和SecondaryNameNodeDataNodeHDFS2.x新特性MapReduce概述

2021-01-28 19:47:29 344

原创 十大排序算法就看这里

十大经典排序算法:冒泡排序、选择排序、插入排序、希尔排序、快速排序、归并排序、基数排序、堆排序、桶排序、计数排序原理及代码实现

2020-06-17 22:12:43 2243 1

原创 Flume拦截器初始化异常造成数据丢失

最近公司对老服务器进行退役,需要将Flume服务迁移至新服,在迁移过程中有一条链路因为拦截器初始化失败造成数据丢失。按推理Flume具有事务性,应该不会造成数据丢失,对此问题进行了排查,记录一下。查阅资料的过程中flume【源码分析】分析Flume的启动过程文章给我提供了莫大的帮助,感谢大佬。Flume具有事务性为什么会造成数据丢失?背景描述:Flume迁移至新服务后,由于自定义拦截器初始化失败(因为需要使用到其他环境,未配置白名单),于是我停止异常的拦截器,解决问题后对拦截器进行重启,第二天就.

2021-11-30 00:20:32 1154

转载 Hadoop的HA搭建遇见的两个坑

坑一:Namenode有一个无法启动Unable to determine input streams from QJM to [192.168.98.166:8485, 192.168.98.167:8485, 192.168.98.]2021-03-11 21:16:30,478 WARN org.apache.hadoop.hdfs.server.namenode.FSEditLog: Unable to determine input streams from QJM to [192.168.9

2021-06-14 19:49:11 786

转载 Hadoop优化方法

MapReduce程序效率瓶颈在于两点:1.计算机性能:CPU、内存、磁盘、网络2.IO操作:数据倾斜Map和Reduce数设置不合理Map运行时间太长,导致Reduce等待过久小文件过多大量不可分的超大文件Spill次数过多Merge次数过多MapReduce优化方法主要从六个方面考虑:数据输入、Map阶段、Reduce阶段、IO传输、数据倾斜问题和常用的调优参数。一、数据输入合并小文件:在执行MR任务前将小文件进行合并,大量的小文件会产生大量的Map任务,增大Map.

2021-05-31 17:22:56 661

转载 Yarn资源调度器

Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作系统之上的因哟给程序。一、Yarn基本架构Yarn主要由ResourceManager、NodeManager、ApplicationMaster和Container等组件构成。1)ResourceManager主要作用:处理客户端请求监控NodeManager启动或监控ApplicationMaster资源的分配与调度2)NodeMan.

2021-05-31 16:18:15 214

原创 Hadoop数据压缩

一、概述压缩技术可以有效减少底层存储(HDFS)读写字节数。压缩提高了网络带宽与磁盘空间效率。在运行MR时,IO、网络数据传输、Shuffle和Merge要花费大量时间,尤其是数据规模很大和负载密集的情况下,因此使用数据压缩显得非常重要。磁盘IO和网络带宽是Hadoop的宝贵资源,数据压缩对于节省资源、最小化磁盘IO和网络传输非常有帮助,可以在任意阶段启用压缩。采用压缩技术减少了磁盘IO,但同时也增加了CPU的运算负担,压缩技术运用得当可以提高性能,但运用不当也可能降低性能。基本原则:运算密集型

2021-05-30 20:09:06 171 1

原创 MapReduce框架原理

一、InputFormat数据输入1.1 切片于MapTask并行度决定机制MapTask的并行度决定Map阶段的任务处理并发度,进而影响到整个Job的处理速度。那么:1G的数据,启动8个MapTask,可以提高集群的并发处理能力。那么1K的数据,也启动8个MapTask,会提高集群性能吗?MapTask并行任务是否越多越好呢?哪些因素影响了MapTask并行度?先了解两个概念:数据块:数据块(Block)是HDFS物理上把数据分成一块一块的。数据切片:数据切片只是逻辑上对输入数据进

2021-05-30 15:33:53 283

转载 定时备份与删除数据库

备份脚本如下(参考这里,做了部分修改):#!/bin/bash#Shell Command For Backup MySQL Databases Eventday Automatically By CrontabUSER=rootPASSWORD="123456"DATABASE="datebasename"HOSTNAME="ip地址"BACKUP_DIR=/home/kcwxy/ #备份文件存储路径LOGFILE=/home/kcwxy/data_backup.log #日志文件

2021-04-06 19:45:45 121

原创 InnoDB与MyISAM对比

一、各个存储引擎1、InnoDB引擎InnoDB是MySQL的默认事务型引擎,它被设计用来处理大量的短期(short-lived)事务。除非有非常特别的原因需要使用其他的存储引擎,否则应该优先考虑InnoDB引擎。行级锁,适合高并发情况2、MyISAM引擎MyISAM提供了大量的特性,包括全文索引、压缩、空间函数(GIS)等,但MyISAM不支持事务和行级锁(myisam改表时会将整个表全锁住),有一个毫无疑问的缺陷就是崩溃后无法安全恢复。3、Archive引擎Archive存储引擎只

2021-03-28 15:13:29 485 1

原创 面试记录

20年3月12日如何避免因网络延迟引起的表单重复提交?谈一谈集合及其数据结构,以及项目中的使用待更新

2021-03-23 09:05:48 105 1

原创 集合源码详记(jdk1.8)

集合框架整体结构图:参考:Collection和Map接口类的层次关系–JDk1.8 最新图解数组存储存在弊端:数组一旦初始化,其长度就不可修改数组中提供的方法非常限,对于添加、删除、插入数据等操作,非常不便,同时效率不高。获取数组中实际元素的个数的需求,数组没有现成的属性或方法可用数组存储数据的特点:有序、可重复。对于无序、不可重复的需求,不能满足。而是用集合存储姐可以解决上述问题一、Collection接口单列集合,用来存储一个一个的对象1.1、List接口特

2021-03-15 15:31:49 269

原创 如何避免因网络延迟引起的表单重复提交

一、前端解决办法按钮提交后隐藏活不可点击(不推荐,如果绕过前端使用如postman等工具依然可能出现表单重复提交)二、数据库解决办法给提交的某个值设置唯一索引,重复提交就会抛出异常,可以将异常返回给前端(不推荐,太粗暴了)三、后端解决办法3.1 前后端不分离解决办法在后端接收到请求后,在对数据进行处理后,再进行重定向使用token服务器在返回表单页面时,生成一个token保存于session,并把该token传给表单页面。当表单提交时会带上token,使用拦截器拦截表单提交请

2021-03-13 20:04:53 1441

原创 MySQL架构

一、Centos7安装MySQL5.7.331.1 安装下载:wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpmrepo安装rpm -ivh mysql57-community-release-el7-9.noarch.rpm执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.re

2021-03-09 23:11:32 79

原创 微信小程序Token登录验证

上图是微信开发文档提供的图。最近开发一款小程序,看了许久的微信文档,这里来记录一下其中的登录与授权过程。总体流程:前端执行wx.login()获取code传给后端后端通过微信官方的登录凭证校验接口获取到session_key与openid,将session_key与openid保存下来。然后自定义登录状态(一开始我也先不明白这里该怎么做,后面我会介绍我的做法,欢迎大佬指正)并返回给前端。前端以后每次请求都会携带该自定义登录状态,后端进行登录状态的判断,正常就返回业务数据,否则重新登陆,获取新的.

2021-02-25 00:12:17 20059 11

原创 knife4j接口文档

更多swagger-bootstrap-ui的详情可关注官方文档:点击前往在开发SwaggerBootstrapUi功能时,同很多开发者经常讨论的问题就是在生产环境时,屏蔽或者去除Swagger的文档很麻烦,通常有时候我们碰到的问题如下:系统部署生产环境时,我们想屏蔽Swagger的文档功能,不管是接口或者html文档通常我们有时候需要生产环境部署后,又需要Swagger的文档调试功能,辅助开发者调试,但是存在安全隐患,没有对Swagger的资源接口过滤这是我们就需要使用配置文件进行配置了.

2021-02-20 22:18:25 2137 1

原创 在Mybatis中一个标签类执行多个sql语句

在一个查寻标签中,需要生成一个自增列:于是我是用了自定义变量: <!--查询居室类型分组信息--> <select id="getInnerTypeIsNull" resultType="com.house.forecast.vo.ConditionVO"> SET @key:=0; SELECT (@key:=@key+1) as id, innsertype as `value`, count(*) as `count

2021-02-15 11:47:03 871

原创 数据库连接池

一、JDBC数据库连接池的必要性在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤:在主程序(如servlet、beans)中建立数据库连接进行sql操作断开数据库连接这种模式开发,存在的问题:普通的JDBC数据库连接使用 DriverManager 来获取,每次向数据库建立连接的时候都要将 Connection 加载到内存中,再验证用户名和密码(得花费0.05s~1s的时间)。需要数据库连接的时候,就向数据库要求一个,执行完成后再断开连接。这样的方式将会消耗大量的资源和时间

2021-01-30 18:26:45 244

原创 MapReduce概述

一、定义MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分十四运算程序,并发运行在一个Hadoop集群上...

2021-01-27 16:55:53 205

原创 HDFS2.x新特性

一、 集群间数据拷贝scp实现两个远程主机之间的文件复制scp -r hello.txt root@hadoop103:/user/atguigu/hello.txt // 推 pushscp -r root@hadoop103:/user/atguigu/hello.txt hello.txt // 拉 pullscp -r root@hadoop103:/user/atguigu/hello.txt root@hadoop104:/user/atguigu //是通过本地主机中转实现两

2021-01-19 18:37:42 126

原创 DataNode

一、DataNode工作机制一个数据在DataNode上以文件的形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据(包括数据块的长度,块的校验和,以及时间戳)。DataNode启动后像NameNode注册,通过后周期性(1小时)的向NameNode上报所有块信息NameNode与DataNode之间使用心跳进行检测节点是否可用,心跳没每3秒一次,心跳返回结果带有NameNode给该DataNode的命令,如复制块数据到另一台机器,或删除某个数据块。如果超过10分钟没有收到某个DataNo

2021-01-19 11:59:39 205

原创 NameNode和SecondaryNameNode

一、NameNode和SecondaryNameNode工作机制思考:NameNode中的元数据是存储在哪里的?首先,我们做个假设,如果存储在NameNode节点的磁盘中,因为经常需要进行随机访问,还有响应客户请求,必然是效率过低。因此,元数据需要存放在内存中。但如果只存在内存中,一旦断电,元数据丢失,整个集群就无法工作了。因此产生在磁盘中备份元数据的FsImage。这样又会带来新的问题,当在内存中的元数据更新时,如果同时更新FsImage,就会导致效率过低,但如果不更新,就会发生一致性问题,一旦N

2021-01-19 09:58:28 379

原创 HDFS数据流

一、HDFS写数据流程1.1、刨析文件写入客户端通过Distributed FileSystem模块向NameNode请求上传文件,NameNode检查目标文件是否已经存在,父目录是否存在。NameNode返回是否可以上传文件客户端请求第一个Block上传到那几个DataNode服务器上NameNode返回3个DataNode节点,分别为dn1、dn2、dn3。客户端通过FSDataOutputStream模块请求dn1上传数据,dn1收到请求后会继续调用dn2,然后dn2调用dn3,将这个

2021-01-18 13:17:47 116

原创 HDFS的shell操作

基本语法bin/hadoop fs 具体命令 或者bin/hdfs dfs 具体命令dfs是fs的实现类常用命令:-help:输出这个命令参数[hadoop100@hadoop104 subdir0]$ hadoop fs -help rm-rm [-f] [-r|-R] [-skipTrash] <src> ... : Delete all files that match the specified file pattern. Equivalent to t

2021-01-17 11:28:24 123

原创 HDFS概述

一、 HDFS产生背景产生背景随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。HDFS只是分布式文件管理系统中的一种。定义HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。HDFS的使用场景:适合一次写入,多次读

2021-01-17 10:04:09 173

原创 Hadoop运行模式

一、安装Hadoop与JDK将JDK与Hadoop的安装包上传到虚拟机,并进行解压解压命令:tar -zxvf 文件名或者解压到指定路径tar -zxvf 文件名 -C 文件路径修改环境变量/etc/profile# JAVA_HOMEexport JAVA_HOME=/opt/module/jdk1.8.0_144 # jdk坐在的位置export PATH=$PATH:$JAVA_HOME/bin# HADOOP_HOMEexport HADOOP_HOME=/opt/mo

2021-01-16 23:16:22 255

转载 Linux修改hostname时/etc/hosts、/etc/sysconfig/network ,hostname,三者的区别和联系

/etc/hostsIP地址 主机名/域名 别名第一部份:网络IP地址;第二部份:主机名或域名;第三部份:主机名别名;主机名通常在局域网内使用,通过hosts文件,主机名就被解析到对应ip;域名通常在internet上使用,但如果本机不想使用internet上的域名解析,这时就可以更改hosts文件,加入自己的域名解析。# Do not remove the following line, or various programs# that require network function

2021-01-16 14:31:46 266

原创 大数据生态

一、Hadoop是什么?1)Hadoop是一个由Apache基金会所开发的分布式系统基础架构。2)主要解决,海量数据的存储和海量数据的分析计算问题。3)广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈。二、Hadoop发展史Lucene框架是Doug Cutting开创的开源软件,用Java书写代码,实现与Google类似的全文搜索功能,它提供了全文检索引擎的架构,包括完整的查询引擎和索引引擎。2001年年底Lucene成为Apache基金会的一个子项目。对于海量数据

2021-01-15 17:20:50 2086

原创 大数据概论

一、大数据概念大数据(Big Data):指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。主要解决海量数据的存储和海量数据的分析计算问题按顺序给出数据存储单位bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB二、大数据特点:Volume(大量)截至目前,人类生产的所有印刷材料的数据量是200PB,而历史上全人类总共说过的话的数据量大约是

2021-01-15 16:39:36 419

原创 Springboot项目搭建问题记录

记录毕业设计项目搭建遇见的问题与坑,欢迎大佬指正一、项目后端技术此次毕业设计使用前后端分离,我主要负责的是后端,以及数据库的部分。介绍项目后端使用的技术:SpringbootMybatisMySQLSwagger二、项目搭建在使用idea创建好Springboot项目之后,要做很多的配置,我们这是一个前后端分离的项目,首当其冲的是跨域配置。2.1 跨域配置不知道跨域的可以参考这篇文章:什么是跨域?跨域解决方法@Configurationpublic class CorsCo.

2021-01-15 15:41:22 226

原创 shell的for循环出错Syntax error: Bad for loop variable

在练习shell的for循环时,写了如下的代码:#!/bin/bashs=0for((i=0;i<=100;i++))do s=$[$s+$i]doneecho $s执行时,一直报错Syntax error: Bad for loop variable仔细检查n遍之后,没有发现写法错误。百度找到的解决方法:# 第一步sudo dpkg-reconfigure dash#第二步在弹出的界面选择No即可。在弹出的界面选择No即可。再次执行就可以了.

2021-01-13 14:16:52 812

原创 JDBC工具类

1、jdbc.propertiesuser=rootpassword=123456url=jdbc:mysql://localhost:3306/test?rewriteBatchedStatements=truedriverClass=com.mysql.jdbc.Driver2、JDBCUtilspublic class JdbcUtils { /** * 获取一个连接 * @return * @throws Exception */

2021-01-12 10:52:01 1703 2

转载 Centos7开放及查看端口

1、开放端口 # 开放5672端口firewall-cmd --zone=public --add-port=5672/tcp --permanent #关闭5672端口firewall-cmd --zone=public --remove-port=5672/tcp --permanent # 配置立即生效firewall-cmd --reload 2、查看防火墙所有开放的端口firewall-cmd --zone=public --list-ports3、关闭防火墙s

2021-01-02 21:17:59 151

原创 Linux进程管理

在 LINUX中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一个 ID号。每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束。一、查看进程1、静态查看运行的进程——ps静态查看运行的进程就是查看到是输入指令后查看到的进程运..

2021-01-02 00:02:24 1060

原创 CentOS7修改网卡为静态ip

打开VMware的虚拟网络编辑器,选中VMnet8,打开NAT设置。接下来就可以看到子网ip与网关在/etc/sysconfig/network-scripts下面找对自己的网卡,我的是ifcfg-ens33。修改BOOTPROTO=static,ONBOOT=yes.之后修改IPADDR的值为上面查到的子网ip到255的子网(即192.168.160.0~192.168.160.255,不要选0和255,选择中间的任意一个值,0和255有专门的用途),GATEWAY查到的对应的网关,DNS与网

2020-12-31 21:16:46 947

原创 Linux查看磁盘使用情况

1、查询系统整体磁盘使用情况指令:df -h2、查询指定目录的磁盘占用情况指令:# 查询指定目录的磁盘占用情况,默认为当前目录du -h /目录-s 指定目录占用大小汇总 -h 带计量单位 -a 含文件 --max-depth=1 子目录深度-c 列出明细的同时,增加汇总值案例1:统计/home 文件夹下文件的个数ls -l /home | grep "^-" | wc -l案例2:统计/home 文件夹下目录的个数ls -l /home | grep "^d" |

2020-12-31 20:16:32 5118

原创 centos7虚拟机增加硬盘

1、 VM增加硬盘在VM设置里面添加一块硬盘重启虚拟机查看十分增加了硬盘2、分区根据自己需求选择3、格式化接下来进行格式化4、挂载创建你要挂载的目录,我这里挂载到/home/desk2下这里还没有结束,此时挂载只是临时的,重启之后就没有了,需要设置永久挂载5、永久挂载修改/etc/fstab添加完成后 执行mount –a 即刻生效...

2020-12-31 18:21:04 349

原创 crond 任务调度

在一些时候我们需要进行定时任务,这时候就用到了crond了。1、基本语法crontab [选项]- e : 编辑定时任务- l : 查询定时任务- r : 删除当前用户的所有crontab任务2、参数说明以下面定时任务为例:*/1 * * * * ls –l/etc/ > /tmp/to.txt项目含义范围第一个 *一个小平中的第几分钟0-59第二个 *一天中的第几个小时0-23第三个 *一个月中的第几天1-31第四个 *一

2020-12-31 16:45:19 137

原创 考勤打卡定位问题解决办法------公网ip

最近接到一个项目,有一个要求考勤打卡,就涉及到了定位的问题,作为一个没怎么接触过这方面的学生,最开始想到的方法是使用浏览器进行定位。然后根据打卡时的定位进行判断打卡成功还是失败。于是就有了第一次尝试:一、使用浏览器定位在查阅了很多资料后,决定按照这篇文章去做h5手机端或PC端利用高德地图获取当前定位位置,很感谢这位老哥的博客。具体步骤如下:注册高德地图获取key首先注册高德地图控制...

2020-12-31 11:39:49 8501 2

原创 Linux的权限管理

由于绝大多数用户使用的是个人计算机,使用者一般都是被信任的人(如家人、朋友等)。在这种情况下,大家都可以使用管理员身份直接登录。但在服务器上就不是这种情况了,往往运行的数据越重要(如游戏数据),价值越高(如电子商城数据、银行数据),则服务器中对权限的设定就要越详细,用户的分级也要越明确。和 Windows 系统不同,Linux 系统为每个文件都添加了很多的属性,最大的作用就是维护数据的安全。举个简单的例子,在你的 Linux 系统中,和系统服务相关的文件通常只有 root 用户才能读或写,就拿 /etc.

2020-12-31 10:31:24 127

Job提交流程源码解析.xmind

Hadoop集群的job提交源码解析思维导图

2021-01-29

谷歌三大论文.zip

谷歌的大数据三篇论文中文版+英文版

2021-01-15

ubuntu引导页面下载.zip

此资源包含ubuntu的引导界面美化,分别是Tela-1080p和Aurora-Penguinis-GRUB2

2020-06-24

OASystem.zip

基于SSM框架的考勤打卡系统,前端界面使用适配手机端的网页,使用手机网页进行打卡,打卡使用每一个公司都拥有自己的公网,通过手机端获取连接到的公网的IP进行打卡,后台进行打卡信息的统计,以及对员工信息的管理。员工账户由管理员添加。

2020-06-15

ipadian_setup.exe

ipadian是在普通电脑上模拟苹果iPhone、iPad的操作系统的软件,被人称之为“iPad模拟器:iPadian”。iPadian拥有iOS风格的图标、充满质感的背景,还有底部苹果系统特有的Dock,让你感觉仿佛进入了苹果系统!

2020-03-31

空空如也

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

TA关注的人

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