自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 文章目录3

1.遇到的问题总结mysql执行sql报1205错误的解决办法

2021-04-06 22:06:31 371

原创 Mongodb常用的相关命令总结

用户认证 db.auth('用户名','密码') 创建用户管理者 db.createUser( { user: "dba", pwd: "123456", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } ) 创建具有读写权限的用户 db.createUser( { user: "iampAdmin", pwd: "iamp12...

2020-08-27 18:03:15 227

原创 Linux常用的相关命令

一:防火墙相关命令查看防火墙某个端口是否开放 firewall-cmd --query-port=3306/tcp 开放防火墙端口3306 firewall-cmd --zone=public --add-port=3306/tcp --permanent 查看防火墙状态 systemctl status firewalld 关闭防火墙 systemctl stop firewalld 打开防火墙 systemctl start firewalld 查看开放的端口列表 ...

2020-08-21 21:57:00 245

原创 文章目录2

1:使用docker部署项目相关总结使用docker+nginx部署vue项目

2020-06-23 16:17:12 494

原创 文章目录01

一:Git版本控制工具相关的文章Git版本控制工具之Windows系统安装 项目版本控制软件SourceTree安装 SourceTree之Git本地仓库创建 如何申请GitHub账号 本地Git仓库链接GitHub远程仓库 Git之克隆仓库 Git工具之标签管理 Git仓库之分支管理二:JAVA8新特性相关知识点总结JAVA8新特性之入门简介 ...

2018-09-23 20:59:24 1537

转载 05 - hadoop3.1.3完全分布式模式环境搭建

1)各个模块分开启动/停止(配置ssh是前提)常用1.整体启动/停止HDFS2.整体启动/停止YARN2)各个服务组件逐一启动/停止1.分别启动/停止HDFS组件2.启动/停止YARN。

2024-04-07 22:16:07 31

转载 02 - 大数据之Hadoop3.x模板虚拟机配置

注意:在安装系统之前需要检查自己虚拟机的bios 的虚拟化是否打开(大部分的电脑都是打开的,大家可以先尝试直接安装,如果出现错误再去调试,没有出错就不用管了)

2024-04-04 21:59:30 18

转载 本地消息表实现分布式事务—可靠消息最终一致性解决方案

本地消息表:这是ebay研发出的一种分布式事务解决方案,通过将消息表存储在数据库中,实现了消息的一致性。它的核心思想就将分布式事务拆分成本地事务进行处理本地消息表是利用各系统本地事务来实现分布式事务。业务系统的执行和消息均放入本地消息表中,确保本地业务执行和消息表的操作在一个事务中。不尝机制重试读取本地消息表,调用远程应用操作。需要加入重试机制、最大执行次数、报警机制。本地消息表容忍数据暂时不一致,期望数据的最终一致性。

2024-03-12 14:32:01 121

原创 Linux下安装MySQL8的客户端

背景:需要做一个这样的需求,Linux下通过MySQL的下面的命令,完成文件加载到另一个MySQL服务器的需求,命令如下:mysql -h172.18.22.100 -uroot -p’123!@#’ ,但是目前这个服务器上没有MySQL相应的组件,之前安装过MySQL的服务端和客户端,现在想着是不是只安装MySQL的客户端就够用了。这样也能节省系统开销,不需要安装服务端了注意:安装客户端的话,只安装以下几个安装包就够用了(note:一定要按这个顺序来安装,否则会有报错的提示)

2024-01-26 15:11:23 942

转载 redis-cli的安装与使用

对key有操作的命令,统一返回值都是1或者0,成功为1,失败为0。

2024-01-26 10:04:11 342

转载 Spring之BeanFactoryPostProcessor介绍以及场景运用

工厂级别的勾子,用来允许修改application context中的bean的definition,作用于bean实例化前。第一种即Spring中定义@Bean:@Bean第二种(适用Spring Boot),即在MyServlet类上加上注解,并在启动Application类上加。而第二种方式,恰恰是通过接口来实现的!a. bean的个数。b. 所有bean类名中包含auto,打印前两个bean name。c. 实现了接口的bean的名字为此,我们定义了类,在方法中通过。

2024-01-16 15:07:47 228

转载 beanFactory.ignoreDependencyInterface代码测试和理解

使得我们的ApplicationContextAware接口实现类在自动装配时不能被注入ApplicationContext对象的依赖,而统一由框架设置依赖,ApplicationContextAware接口的设置会在ApplicationContextAwareProcessor类中完成。并不影响构造器注入,给A中类新增构造方法,把上图AwareTest注释全放开,结果是b和c都注入了。以上是在类中使用注解进行注入,不使用注解还可以在Xml文件中配置。

2024-01-16 14:26:35 77

转载 BeanNameAware和BeanFactoryAware接口

【代码】BeanNameAware和BeanFactoryAware接口。

2024-01-16 13:13:53 73

转载 使用 Java 携手 SpringBoot + PhantomJS + ECharts 在服务端生成图表并存为图片

PhantomJS是一个不需要浏览器的富客户端官方介绍:PhantomJS是一个基于 WebKit 的服务器端JavaScript API。它全面支持web而不需浏览器支持,支持各种Web标准:DOM处理,CSS选择器, JSON,Canvas,和SVG。PhantomJS常用于页面自动化,网络监测,网页截屏,以及无界面测试等通常我们使用PhantomJS作为爬虫工具。传统的爬虫只能单纯地爬取html的代码,对于js渲染的页面,就无法爬取,如Echarts统计图。而PhantomJS正可以解决此类问题。

2024-01-04 14:11:42 346 1

转载 Java基于Libreoffice转换word/excel/ppt等常见文档格式到pdf

Java面对office转pdf这种需求,大多采用POI、pdfbox等工具进行转换,转换精度和效率取决于相关工具的支持程度,难免有些样式不符、错位等现象,如果需要完全一致的office转pdf的体验,还是得依赖office软件,目前OpenOffice和Libreoffice均提供了对应的命令行工具来实现office文件转pdf。本文介绍Libreoffice转pdf的方法及java调用Libreoffice命令行的方法。

2024-01-04 11:00:17 669 2

原创 CentOS7安装MiniO

MinIO是高性能的对象存储,单个对象最大可达5TB。适合存储图片、视频、文档、备份数据、安装包等一系列文件。是一款主要采用Golang语言实现发开的高性能、分布式的对象存储系统。客户端支持Java,Net,Python,Javacript,Golang语言。客户端与服务器之间采用http/https通信协议。

2023-11-29 14:58:02 1333

转载 物理内存,虚拟内存,磁盘swap分区的关系

物理内存硬件上,就是内存条。我们知道一个程序运行,必要开一片内存来存储其相关指令和需要用到的堆栈段空间等。

2023-11-01 16:36:35 292

转载 对swap交换分区虚拟内存的理解

每次安装Linux的时候,都会要求配置交换分区,那么这个分区是干嘛的呢?不设置这个分区有什么后果?如果一定要设置,设置多大比较合适?swap space是磁盘上的一块区域,可以是一个分区,也可以是一个文件,或者是他们的组合。简单点说,当系统物理内存吃紧时,Linux会将内存中不常访问的数据保存到swap上,这样系统就有更多的物理内存为各个进程服务,而当系统需要访问swap上存储的内容时,再将swap上的数据加载到内存中,这就是我们常说的swap out和swap in。

2023-11-01 16:27:26 1104

转载 Linux理解virt、res、shr之间的关系

页映射表的基本原理是将程序运行过程中需要访问的一段虚拟内存空间通过页映射表映射到一段物理内存空间上,这样CPU访问对应虚拟内存地址的时候就可以通过这种查找页映射表的机制访问物理内存上的某个对应的地址。既然说虚拟内存是一个逻辑意义上(假象的)的内存空间,为了能够让程序在物理机器上运行,那么必须有一套机制可以让这些假象的虚拟内存空间映射到物理内存空间(实实在在的RAM内存条上的空间)。在上图中我们看到进程A虚拟内存空间中的A4和进程B虚拟内存空间中的B3都映射到了物理内存空间的A4/B3部分。

2023-11-01 15:39:22 400

转载 Linux的top命令详解

top命令是linux下常用的性能分析工具,能够实时的显示系统中各个进程的资源占用情况,常用于服务端性能分析。

2023-11-01 14:45:52 99

转载 Disruptor - 深入理解高性能异步处理框架

在并发编程的世界中,对效率的追求从未停止过。我们尝试用各种方式来提高程序的执行效率,包括使用更高级的并发控制结构,如锁和线程池,以及采用更先进的并发设计模式。然而,有一种工具在许多高性能系统中得到了广泛的应用,那就是Disruptor。Disruptor是一个高性能的异步处理框架,它利用了Ring Buffer、CAS等高效的并发策略,使得在处理高并发、低延迟的需求时,表现出了惊人的性能。我们来看一张图:这是一张展示了Disruptor和性能对比的直方图,你可以明显地看到Disruptor的优越性能。

2023-10-23 18:00:10 318

转载 容器与虚拟化的区别与优势

本文对Docker容器与传统虚拟化技术进行了对比和分析,重点探讨了它们的优势、劣势以及在不同场景中的适用性。通过深入研究Docker的轻量性、快速启动、可移植性和传统虚拟化的隔离性和安全性等方面,我们总结出在选择虚拟化技术时应根据具体需求做出正确决策的重要性。此外,我们展示了Docker在快速部署开发环境、支持微服务架构和持续集成部署等实际场景中的优势和效果。Docker是一种开源的容器化平台,它可以帮助开发人员和运维团队更轻松地创建、部署和运行应用程序。

2023-10-20 11:22:06 556

转载 MySQL的索引数据结构

索引的数据结构使用的是B+树,那为什么使用B+树而不是二叉查找树、平衡二叉树或者B树呢,接下来,我们来讲讲B+树的由来。官方介绍索引是帮助MySQL高效获取数据的数据结构。简单来讲,数据库索引就像是书前面的目录,能加快数据库的查询速度。事实上,索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。

2023-10-16 14:11:26 92

转载 05-Hiveserver2服务部署

hiveserver2提供JDBC/ODBC接口,使得用户可以远程访问Hive数据,即作为客户端的代理与Hadoop集群进行交互。hiveserver2部署时需要部署到一个能访问集群的节点上,保证能够直接往Hadoop上提交数据。用户在客户端提交SQL语句时,由hiveserver请求HDFS或者提交计算任务到Yarn上,再由hiveserver2将结果返回给客户端。

2023-10-15 18:42:30 223

转载 04-配置Hive元数据存储到MySQL

把Hive元数据写道MySQL的metastore数据库中(MySQL默认没有metastore数据库,需要提前创建:create database metastore;

2023-10-15 17:38:41 177

转载 03-Linux下安装MySQL8.0.33

root用户 + 123456,实现在任何主机上都能登录MySQL数据库。sudo yum -y install 缺的依赖包。解决方法:用yum直接下载。

2023-10-15 16:16:56 210

转载 02-Hive安装

创建表后hive把表到hdfs的路径进行映射,映射关系保存在元数据库中,在建表时可以指定hdfs路径,未指定则使用默认路径/user/hive/warehouse/中。1.9、先退出hive客户端,在hive根目录下删除derby.log和metastore_db,以及删除HDFS上的hive目录。Hive默认使用的元数据库为derby,derby数据库在同一时间只能一个客户访问,如果多个hive客户端同时访问会报错。hive优化了简单查询语句,即执行简单查询时hive不向yarn提交任务,减少了开销。

2023-10-15 12:00:00 36

转载 JVM主要组成部分及其作用

除了 BootstrapClassLoader 其他类加载器均由 Java 实现且全部继承自java.lang.ClassLoader。如果我们要自定义自己的类加载器,很明显需要继承 ClassLoader抽象类。类有两个关键的方法:加载指定二进制名称的类,实现了双亲委派机制。name 为类的二进制名称,resolve 如果为 true,在加载时调用 resolveClass(Class c) 方法解析该类根据类的二进制名称来查找类,默认实现是空方法建议的子类重写方法而不是方法。

2023-10-14 11:53:48 78

转载 如何保障缓存和数据库的一致性

这边理论上一定会存在一些不一致的数据,因为我们查询数据库和缓存之间还是有一定的时间间隔的,可能是1毫秒这样,在高并发下,可能这个间隔之间数据已经被修改过了,所以你拿到的缓存数据和数据库数据可能其实不是一个版本,这种情况下的不一致是正常的。还有就是如果我们通过命令行直接来更新数据库的数据,或者通过公司提供的数据库管理平台来更新数据库数据,这个时候你就没法删除了,因为你的同步删除其实只是写在你的代码里面,这个时候也就导致脏数据问题了,这也是为什么说同步删除很难覆盖所有的入口,同时存在很大的风险。

2023-10-13 14:19:22 98

转载 到底什么是IO多路复用?

服务端为了处理客户端的连接和请求的数据,写了如下代码。这段代码会执行得磕磕绊绊,就像这样。可以看到,服务端的线程阻塞在了两个地方,一个是 accept 函数(),一个是 read 函数。如果再把 read 函数的细节展开,我们会发现其阻塞在了两个阶段。这就是传统的阻塞 IO。整体流程如下图。所以,如果这个连接的客户端一直不发数据,那么服务端线程将会一直阻塞在 read 函数上不返回,也无法接受其他客户端连接。这肯定是不行的。

2023-10-13 10:16:05 62

转载 01-Hive概念及框架原理

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能,主要完成海量数据的分析和计算。优点:简化数据开发流程及提高了效率。

2023-10-12 22:05:41 68

转载 Flume进阶之自定义拦截器 Interceptor

/声明一个存放事件的集合@Override//初始化存放事件的集合//单个事件拦截 @Override//1.获取事件中的头信息//2.获取事件中的 body 信息//3.根据 body 中是否有"atguigu"来决定添加怎样的头信息//4.添加头信息} else {//4.添加头信息//批量事件拦截 @Override//1.清空集合addHeaderEvents.clear();//2.遍历 events。

2023-10-07 20:38:48 233

转载 Flume进阶之复制和多路复用、负载均衡和故障转移、聚合案例

hadoop102 上的Flume-1 监控文件/opt/module/flume-1.9.0/group.log,hadoop103 上的Flume-2 监控某一个端口的数据流,Flume-1 与 Flume-2 将数据发送给 hadoop104 上的 Flume-3,Flume-3 将最终数据打印到控制台。故障转移需求:使用 Flume1 监控一个端口,其 sink 组中的 sink 分别对接 Flume2 和 Flume3,采用FailoverSinkProcessor,实现故障转移的功能。

2023-10-07 15:53:04 229

转载 Flume进阶之Flume Agent 内部原理和拓扑结构

最常用的模式,日常 web 应用通常分布在多个服务器,用 flume 的聚合方式,每台服务器部署一个 flume 采集日志,传送到一个集中收集日志的flume,再由此 flume 上传到 hdfs、hive、hbase 等,进行日志分析。这种模式可以将相同数据复制到多个 channel 中,或者将不同数据分发到不同的 channel 中,sink 可以选择传送到不同的目的地。多个flume在端口出顺序连接,从最初的 source 开始到最终 sink 传送的目的存储系统。

2023-10-07 10:17:40 76

转载 Flume安装部署以及简单案例入门

注:Linux 中储存文件元数据的区域就叫做 inode,每个 inode 都有一个号码,操作系统用 inode 号码来识别不同的文件,Unix/Linux 系统内部不使用文件名,而使用 inode 号码来识别文件。若遇到文件定期更改文件名,并且重新创建一个新原始文件的名字的文件,监控到并上传的数据将是累积的文件内容,并不是更新的内容数据,导致数据重复。修改源码中更新和读取的操作,然后将修改好的文件打包下载到本地,再上传到lib目录下进行源码替换,重新启动监控文件夹命令。要想读取 Linux。

2023-10-07 09:18:10 773

转载 Flume的定义及组成架构

Flume 是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume 基于流式架构,灵活简单。Flume最主要的作用是实时读取服务器本地磁盘的数据,把数据写到HDFS。

2023-10-06 21:56:11 88

转载 VirtualBox Linux网络配置

其中,网络地址转换(NAT)的目的是为了虚拟机能够上网,而Host-Only的方式配置网络是为了虚拟机直接,虚拟机和主机之前能够相互访问。以上的配置,不管你将电脑带到哪里办公,你的虚拟机IP都是固定的,并且以上的ping都有效。下面跟着我配置,就搞定了。如果你安装了VirtualBox,就会看到上图第一个网络,我把它叫做虚拟机网络吧。选择共享,选择需要共享的网络,我们选择虚拟机网络。编辑好后,按esc,shirt+:,输入wq!虚拟机ping主机,注意,得将主机得防火墙关了,就可以ping通。

2023-09-07 09:58:16 371

转载 python3详细安装教程

2.输入python回车出现以下信息表示安装成功。(如果一开始没有选择配置环境变量,需要去配置环境变量)2.选择Add Python ---- to PATH(配置PATH环境,如果没有选择则需要手动。1.进入命令提示符(可以win+R 输入cmd回车进入)1.双击打开python的安装程序。4.选择安装的路径,点击Next。)===>选择自定义安装。3.默认点击Next。

2023-08-25 22:45:19 900

原创 LinkedBlockingQueue 的使用

1、add 方法:如果队列已满,报java.lang.IllegalStateException: Queue full 错误。2、peek 方法:返回队列顶元素,但顶元素不弹出,队列为空时返回null。2、offer 方法:如果队列已满,程序正常运行,只是不再新增元素。1、poll 方法:弹出队顶元素,队列为空时返回null。3、put 方法:如果队列已满,阻塞。3、take 方法:当队列为空,阻塞。

2023-08-25 18:55:27 442

转载 while(true)导致的cpu过高问题

可以这样理解:当切换到别的进程时,别的进程告诉系统自己没什么事情要做,不需要那么多的时间,这个时候系统就会切换到下一个进程,直到回到这个死循环的进程上,而这个进程无论什么时候都再循环,所以一直会报告有事情要做,系统就会把尽可能多的时间分给他。一个进程如果是死循环,那么占有的CPU会很高,可以操作系统时间片运行的,到了一定时间不是会自动切换到别的进程吗?他的服务是一个dubbo服务,放在一个java项目中的,为了保证dubbo服务不退出,在启动dubbo服务后,他添加了。到时候的确会切换到别的进程。

2023-08-25 17:24:49 366

空空如也

空空如也

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

TA关注的人

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