笔记
文章平均质量分 68
许喜朝
这个作者很懒,什么都没留下…
展开
-
RabbitMQ
RabbitMQ什么是消息队列消息(Message)是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递。消息发布者只管把消息发布到 MQ 中而不用管谁来取,消息使用者只管从 MQ 中取消息而不管是谁发布的消息队列常见实现与技术对比MQ,中文是消息队列(MessageQueue),字面来看就是存放消息的队列。也就是事件驱动架构中的Broke原创 2022-03-15 22:15:19 · 2524 阅读 · 1 评论 -
ES-DSL查询
DSL查询DSL查询分类查询所有:查询出所有数据(match_all)全文检索:利用分词器对用户输入内容分词,然后去倒排索引库中匹配match_querymulti_match_query精确查询:根据精确词条值查找数据,一般是查找keyword,数值,boolean等字段idsrangeTerm地理查询:根据经纬度查询Geo_distanceGet_bounding_box复合查询:复合查询可以将上述各种查询条件组合起来,合并查询条件booolfunction_原创 2022-03-09 09:28:54 · 6110 阅读 · 0 评论 -
java抽象方法,静态方法,默认方法
接口在了解抽象方法和默认方法之前需要先了解什么是接口接口是功能的集合,是一种数据类型接口里定义方法默认是public abstract(抽象方法),没有具体的实现,实现由实现类实现,且必须实现(静态方法和默认方法除外)抽象方法没有具体的实现,实现由实现类(或子类)实现,且必须实现定义interface InterfaceDemo{ //默认方法 public abstract void fun3(); void fun4();}因为接口里的方法默认是public abs原创 2021-02-22 11:35:14 · 1956 阅读 · 0 评论 -
javaList集合的两种赋值方式
写在之前在开发中难免会有entity,vo,dto之间的转换那么如何优雅快速的进行转换呢?当然你可以get在set显然不推荐这样做!对象转换使用BeanUtils工具类copyProperties方法像这样//将merchantDTO赋值给entity(相同的属性)BeanUtils.copyProperties(merchantDTO,entity);使用mapstruct转换首先在项目中引入依赖<!-- MapStruct代码生成器,对象转换 -->原创 2021-02-05 20:37:10 · 5828 阅读 · 1 评论 -
springboot项目自定义统一异常处理
什么是异常异常指的是在程序运行过程中发生的异常事件,通常是由外部问题(如硬件错误、输入错误)所导致的。在Java等面向对象的编程语言中异常属于对象java 中的异常java中Exception是所有异常的父类,在运行时发生的异常叫运行时异常用RuntimeException类表示运行时异常就是需要我们在程序中捕获并且处理的异常好的异常处理能帮助我们更好的定位错误发生的原因异常处理流程1、在服务层抛出自定义异常类型及不可预知异常类型。上图中BusinessException为系统的自定义异原创 2021-01-30 21:06:39 · 1014 阅读 · 1 评论 -
Swagger
Swagger出现的问题自从前后端分离以后,前端后端的开发就分离开来那么前端后端如何来交流呢?最早的解决办法就是写好开发文档以后前端后端在进行开发这样就又出现了一个问题,如果有需求被修改了那么怎样在能及时的在开发文档中修改,让前端后端都知晓呢?Swagger简介号称世界上最流行的Api框架RestFul Api文档自动生成工具=>文档与Api定义同步更新直接运行,可以在线测试Api接口集成springboot新建工程新建springboot工程,加入spring-web依原创 2021-01-12 10:56:25 · 137 阅读 · 0 评论 -
软件架构的演进
软件架构的演进软件架构的发展经历了从单体架构、垂直架构(分布式架构)、SOA架构到微服务架构的过程。单体架构Web应用程序发展的早期,大部分web工程师将所有的功能模块打包到一起并放在一个web容器中运行,所有功能 模块使用同一个数据库。 下图是一个单体架构的电商系统:特点:1、所有的功能集成在一个项目工程中。2、所有的功能打在一个war包部署到服务器。3、通过部署应用集群和数据库集群来提高系统的性能。优点:1、项目架构简单,前期开发成本低,周期短,小型项目的首选。2、开发效率高,模块之原创 2020-12-30 11:38:50 · 198 阅读 · 0 评论 -
原生js配合canvas实现验证码的生成与验证
原生js配合canvas实现验证码的生成与验证<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <style> *{ margin: 0; padding: 0; } #main{ display: flex; } #input{ width: 120px;原创 2020-12-16 10:05:32 · 236 阅读 · 2 评论 -
工厂设计模式
工厂设计模式简单工厂模式/** * 简单工厂模式 */public class FactoryPattern { public static void main(String[] args) { //产品使用 Application application = new Application(); Product object = application.getObject("0"); object.method();原创 2020-11-25 19:23:40 · 97 阅读 · 0 评论 -
centos7安装spark
qspark的安装写在之前安装spark的机器已经安装好jdk和hadoopspark下载这里推荐清华大学开源镜像站选择合适的版本进行下载上传需要安装的机器解压tar -xvf 文件改名mv 文件 spark配置环境变量vim ~/.bash_profile添加如下#sparkexport SPARK_HOME=spark解压安装路径export PATH=PATH:PATH:PATH:SPARK_HOME/bin使环境生效source ~/.bash_pr原创 2020-11-25 09:26:33 · 338 阅读 · 0 评论 -
java native关键字
java native关键字初识nativejava.long.Objectpublic class Object { private static native void registerNatives(); static { registerNatives(); }}这个native究竟是什么意思呢?native介绍native是与C++联合开发的时候用的!java自己开发不用的!使用native关键字说明这个方法是原生函数,也就是这个方原创 2020-11-24 20:33:01 · 64 阅读 · 0 评论 -
单例设计模式(java与node实现)
单例设计模式什么是单例设计模式单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例具体实现(1)将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。(2)在该类内部产生一个唯一的实例化对象,并且将其封装为private static类型。(3)定义一个静态方法返回这个唯一对象。java语言实现懒汉模式延迟加载,当只有使用的时候才开始真正的实例化/** *原创 2020-11-24 20:11:56 · 154 阅读 · 0 评论 -
vue项目添加进度条效果
vue项目添加进度条效果nprogress简介这是一个小进度条插件。纳米级的进度条,涓涓细流动画告诉你的用户,一些事情正在发生!安装npm install --save nprogress或者使用淘宝镜像cnpm install --save nprogress使用在main.js中配置//NProgressimport NProgress from 'nprogress'import 'nprogress/nprogress.css'//定义拦截器axios.inter原创 2020-11-19 17:43:43 · 288 阅读 · 0 评论 -
CAP理论
CAP理论分布式系统的三个指标一致性可用性分区兼容性这三个指标无法同时做到,只能取其二,这个理论叫做CAP理论分区兼容性§分布式系统大多数都分布在多个子网络中,每个子网络都是一个分区,区间兼容性的意思就是通信可能会失败,一般来说分区容错无法避免,因此可以认为,CAP中P总是存在的,C和A只能选其一一致性©写操作之后的读操作,必须返回该值举例,用户A向GA发送一个请求将Vo的值改成了V1,那么下次用户无论访问的是那一台服务器都将返回V1但问题是GA的值修改了,GB的值还是V0,GA原创 2020-11-19 17:43:12 · 104 阅读 · 0 评论 -
Hbase(五) JavaApi操作Hbase
Hbase(五): JavaApi操作Hbase依赖<dependencies> <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> <version>0.98.17-hadoop2</version> </depend原创 2020-11-14 19:29:10 · 129 阅读 · 0 评论 -
Hbase(四):Hbase原理
Hbase(四):Hbase原理Hbase的工作方式region的分裂和结构hbase表中的数据按照行键的字典顺序排序hbase表中的数据按照行的的方向切分为多个region最开始只有一个region 随着数据量的增加 产生分裂 这个过程不停的进行 一个表可能对应一个或多个regionregion是hbase表分布式存储和负载均衡的基本单元 一个表的多个region可能分布在多台HRegionServer上region是分布式存储的基本单元 但不是存储的基本单元 内部还具有结构一个regio原创 2020-11-14 19:28:43 · 447 阅读 · 0 评论 -
Hbase(三)Hbase安装配置
Hbase(三):Hbase安装配置写在之前已经安装好jdk环境和hadoop完全分布式还需要安装zookeeper单机模式直接解压安装包tar -zxvf xxxxx.tar.gz 修改conf/hbase-site.xml,配置hbase使用的数据文件的位置,默认在/tmp/hbase-[username],此目录是linux的临时目录,可能会被系统清空,所以最好修改一下<property> <name>hbase.rootdir</nam原创 2020-11-14 19:28:07 · 248 阅读 · 0 评论 -
Hbase(二)Hbase常用操作
Hbase(二):Hbase常用操作常用shell命令hbase shell命令描述alter修改列族(column family)模式count统计表中行的数量create创建表describe显示表相关的详细信息delete删除指定对象的值(可以为表,行,列对应的值,另外也可以指定时间戳的值)deleteall删除指定行的所有元素值disable使表无效drop删除表enable使表有效exists测试表是原创 2020-11-14 19:27:44 · 162 阅读 · 0 评论 -
Hbase(一)Hbase概述
Hbase(一):Hbase概述概述基于hadoop的数据库工具来源于google的一篇论文BigTable 后来由Apache做了开源实现 就是HBase是一种 NoSQL 非关系型的数据库 不符合关系型数据库的范式适合存储 半结构化 非结构化 的数据适合存储 稀疏的数据 空的数据不占用空间面向列(族)进行存储提供实时增删改查的能力 是一种真正的数据库可以存储海量数据 性能也很强大 可以实现上亿条记录的毫秒级别的查询但是不能提供严格的事务控制 只能在行级别保证事务是一个高可靠性 高原创 2020-11-14 19:25:35 · 194 阅读 · 0 评论 -
解决xshell关闭jar停止运行的问题
在项目文件夹下新建一个txt文件,名字随意运行nohup java -jar xxx.jar >./temp.txt 2>&1 &原创 2020-11-05 19:00:45 · 900 阅读 · 0 评论 -
ElementUI+springboot上传文件
ElementUI+springboot上传文件配置上传路径image.propertiesimage.localDirPath=/Volumes/mac/Program/PageImg/实现@PropertySource("classpath:/image.properties")public class FileServiceImpl implements FileService { @Value("${image.localDirPath}") private Stri原创 2020-11-05 17:33:06 · 771 阅读 · 0 评论 -
ElementUi+Springboot 上传文件到阿里云oss
ElementUi+Springboot 上传文件到阿里云oss写在之前首先准备阿里云oss 开通一个子账号,得到key 和账号在控制台给子账号赋予oss读写权限依赖<dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>3.11.1</version>&原创 2020-11-05 17:32:07 · 279 阅读 · 0 评论 -
在vue中自定义过滤器处理时间戳
写在之前我们先来看一条数据{ "data": { "total": 50, "pagenum": "1", "goods": [ { "goods_id": 144, "goods_name": "asfdsd", "goods_price": 1, "goods_number": 1,原创 2020-11-03 15:46:23 · 544 阅读 · 0 评论 -
三层架构与Mvc设计模式
三层架构表现层也就是我们通常所说的Web层,它负责接收客服端的请求,表现层包括展示层和控制层,控制层负责接收请求,展示层负责结果的展示表现层依赖业务层,接收到客户端的请求一般会调用业务层进行业务的处理,并将处理结果响应给客户端表现层的设计一般使用MVC模型(MVC模型是表现层的设计模型,和其他层没有关系)业务层也就是通常所说的Service层,负责业务逻辑处理业务层在业务处理的时候可能会依赖持久层,如果要对数据持久化需要保证事务的一致性持久层也就是通常所说的DAO层,负责和数据库打交道原创 2020-10-29 11:12:13 · 262 阅读 · 0 评论 -
mybatis-plus增删改查以及前后端分离模式下的项目应用
mybatis-plus增删改查(新版)所需依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <depen原创 2020-10-18 08:27:03 · 584 阅读 · 0 评论 -
hadoop重用机制
hadoop重用机制Hadoop1.0JVM重用及调优什么是HadoopJVM重用 ?Hadoop里每个task任务的执行都会启动JVM进程来运行。启动一个新的JVM进程将耗时1秒左右,对于运行时间较长(比如1分钟以上)的job影响不大,但如果都是时间很短的task,那么频繁启停JVM会有开销。注意:JVM重用技术不是指同一Job的两个或两个以上的task可以同时运行于同一JVM上,而是排队按顺序执行。Hadoop中有个参数是mapred.job.reuse.jvm.num.tasks,默认是1原创 2020-10-17 17:56:59 · 339 阅读 · 0 评论 -
hadoop压缩机制
hadoop:压缩机制4种压缩格式的特征的比较压缩格式是否支持split压缩率速度是否hadoop自带linux命令换成压缩格式后,原来的应用程序是否要修改Linux指令操作gzip否很高比较快是,直接使用有和文本处理一样,不需要修改 建议:当把一个文件,通过gzip压缩后,小于或等于128MB时,压缩:gzip 1.txt 解压缩:gzip -d 1.txt.gzbzip2是最高慢是,直接使用有和文本处理一样,不需要修改压缩:bz原创 2020-10-17 17:56:27 · 136 阅读 · 0 评论 -
大数据生态:Hadoop生态圈
Hadoop生态圈HadoopHadoop是一个由Apache基金会所开发的分布式系统]基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。具有可靠、高效、可伸缩的特点。Hadoop的核心是YARN,HDFS和MapreduceHDFS(hadoop分布式文件系统)源自于Google的GFS论文,发表于2003年10月,HDFS是GFS克隆版。HDFS是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于原创 2020-10-17 17:55:56 · 710 阅读 · 0 评论 -
hadoop搭建完全分布式集群
hadoop搭建完全分布式集群写在之前已经安装好zookeeper集群已经安装好jdk,并配置好了环境变量准备三台机器(最小集群)hadoop节点配置hadoop1zookeeperNameNode (active)Resourcemanager (active)DataNodeNodeManagerJournalNodehadoop2zookeeperNameNode (standby)Resourcemanager (standby)DataNodeNode原创 2020-10-17 17:55:13 · 97 阅读 · 0 评论 -
hadoop-core-site.xml配置文件详解
hadoop配置文件:core-site.xml详解core-site.xml配置文件介绍HDFS和MapReduce常用的I/O设置等core-site.xml配置文件Hadoop2.0版本的core-site.xmlnamedescriptionvaluehadoop.tmp.dirA base for other temporary directories. 只可以设置一个值;建议设置到一个足够空间的地方,而不是默认的/tmp下 服务端参数,修改需重启/tm原创 2020-10-17 17:53:20 · 4691 阅读 · 2 评论 -
hadoop-yarn-site.xml配置文件详解
hadoop-yarn-site.xml配置文件详解yarn-site.xml配置文件简介yarn配置相关yarn-site.xml配置namevaluedescriptionyarn.ipc.client.factory.classFactory to create client IPC classes.yarn.ipc.serializer.typeprotocolbuffersType of serialization to use.yarn.原创 2020-10-17 17:51:42 · 5393 阅读 · 2 评论 -
hadoop-mapred-site.xml配置文件详解
hadoop-mapred-site.xml配置文件详解mapred-site.xml配置文件简介MapReduce配置相关mapred-site.xml配置namevaluedescriptionmapreduce.jobtracker.jobhistory.locationIf job tracker is static the history files are stored in this single well known place. If No val原创 2020-10-17 17:50:49 · 3947 阅读 · 0 评论 -
hadoop-hdfs-site.xml配置文件详解
hadoop:hdfs-site.xml配置文件详解hdfs-site.xml配置文件j介绍hadoop-hdfs相关的配置信息hdfs-site.xml配置文件namevaluedescriptionhadoop.hdfs.configuration.version1version of this configuration filedfs.namenode.logging.levelinfoThe logging level for dfs namen原创 2020-10-17 17:59:04 · 3230 阅读 · 0 评论 -
大数据:Hadoop-MapReduce练习
MapReduce练习写在之前已经安装好hadoop 能上传文件到hdfshadoop版本:2.7项目依赖<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><hadoop.version>2.7.2</hadoop.version></properties><dependencies>原创 2020-10-14 10:50:38 · 516 阅读 · 0 评论 -
大数据:Hadoop常见参数控制+调优策略
Hadoop常见参数控制+调优策略hadoop常见参数配置所在文件参数参数默认值hdfs-site.xmldfs.namenode.support.allow.format 格式化指令:hadoop namenode -format 作用是生成新的Fsimage文件和Edits文件。也会清空之前的元数据true默认是生效的. 把参数变为false,可以使此指令失效hdfs-site.xmldfs.heartbeat.interval3默认心跳间隔周原创 2020-10-14 10:48:07 · 253 阅读 · 0 评论 -
大数据:hadoop常用操作命令
Hadoop常用操作命令说明1.执行:hadoop fs -mkdir /park在hdfs 的根目录下,创建 park目录2.执行:hadoop fs -ls /查看hdfs根目录下有哪些目录3.执行:hadoop fs -put /root/1.txt /park将linux操作系统root目录下的1.txt放在hdfs的park目录下4.执行:hadoop fs -get /park/jdk /home把hdfs文件系统下park目录的文件下载原创 2020-10-13 15:58:16 · 355 阅读 · 0 评论 -
javaAPI操作hadoop hdfs
写在之前在开始操作之前请确保已经正确安装启动hadoop并且能够连接到依赖<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13</version> </dependency> <原创 2020-09-28 16:22:26 · 178 阅读 · 0 评论 -
centos集群下的ssh免密登录
配置ssh免密登录这一步是为了集群之间能互相通信打开host配置文件vim etc/hosts在其中添加所有服务器或虚拟机节点ip和对应的域名,如下所示:因为我是为了搭建hadoop集群所以给机器取名hadoop192.168.25.101 机器的名字192.168.25.102 hadoop02192.168.25.103 hadoop03保存退出然后给每台机器设置hostname,刚刚在配置文件里写的什么名字现在就设置什么名字,名字要和ip对应如配置文件里是:192.168原创 2020-09-27 09:48:11 · 191 阅读 · 0 评论 -
zookeeper完整详细版
Zookeeper写在之前集群中的全部机器应该都使用root用户登录准备jdk,版本不得低于1.6,推荐使用1.8(使用人数最多,稳定)集群机器数量应该尽量准备奇数台什么是zookeeper?Zookeeper是Apache的一个项目是一个分布式的协调服务框架,Zookeeper可以解决分布式环境常见的问题:如:统一命名服务,信息配置管理,数据一致性,集群管理,分布式锁等等。了解分布式服务将不同的系统甚至功能部署到不同的机器上,再利用多台机器并行执行同一个任务,每台机器上都有独立原创 2020-09-22 15:23:58 · 1639 阅读 · 0 评论 -
linux常用操作(基于centos7编写)
centos8的防火墙与端口查看防火墙某个端口是否开放firewall-cmd --query-port=3306/tcp开放防火墙端口3306firewall-cmd --zone=public --add-port=3306/tcp --permanent查看防火墙状态systemctl status firewalld关闭防火墙systemctl stop firewalld打开防火墙systemctl start firewalld开放一段端口firewall-cmd --原创 2020-09-13 20:29:22 · 159 阅读 · 0 评论