- 博客(792)
- 收藏
- 关注

原创 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
286

原创 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
311
原创 10 - Clickhouse集群部署以及副本和分片
副本的目的主要是保障数据的高可用性,即使一台 ClickHouse 节点宕机,那么也可以从其他服务器获得相同的数据。
2024-11-23 20:46:30
1672
原创 09 - Clickhouse的SQL操作
由于操作比较重,所以Mutation语句分两步执行,同步执行的部分其实只是进行新增数据、新增分区和并把旧分区打上逻辑上的失效标记。直到触发分区合并的时候,才会删除旧数据释放磁盘空间,一般不会开放这样的功能给用户,由管理员完成。ClickHouse提供了Delete和Update的能力,这类操作被称为Mutation查询,它可以看做Alter的一种。重的原因主要是每次修改或者删除都会导致放弃目标数据的原有分区,重建新分区。虽然可以实现修改和删除,但是和一般的OLTP数据库不一样,
2024-11-20 21:19:17
1022
原创 07 - Clickhouse之ReplacingMergeTree和SummingMergeTree引擎
ReplacingMergeTree 是 MergeTree 的一个变种,它存储特性完全继承 MergeTree,只是多了一个去重的功能。尽管 MergeTree 可以设置主键,但是 primary key 其实没有唯一约束 的功能。如果你想处理掉重复的数据,可以借助这个 ReplacingMergeTree。对于不查询明细,只关心以维度进行汇总聚合结果的场景。如果只使用普通的MergeTree 的话,无论是存储空间的开销,还是查询时临时聚合的开销都比较大。
2024-11-18 22:13:47
704
原创 06 - Clickhouse的表引擎
以t_order_mt的20200601分区为例,partition.dat中的值为20200601,minmax索引中保存的值为2020-06-01 12:00:002020-06-01 13:00:00。20200601_1_1_0和20200601_3_3_0分区合并为20200601_1_3_1,在真正合并的时候20200601_1_1_0和20200601_3_3_0分区会被清理。稀疏索引的好处就是可以用很少的索引数据,定位更多的数据,代价就是只能定位到索引粒度的第一行,然后再进行进行一点扫描。
2024-11-17 19:50:31
1062
原创 05 - Clickhouse的数据类型
目录1、整型2、浮点型3、布尔型4、Decimal 型5、字符串5.1、String5.2、FixedString(N)6、枚举类型6.1、用法演示6.2、这个 x 列只能存储类型定义中列出的值:'hello'或'world'6.3、如果尝试保存任何其他值,ClickHouse 抛出异常6.4、如果需要看到对应行的数值,则必须将 Enum 值转换为整数类型7、时间类型8、数组固定长度的整型,包括有符号整型或无符号整型。整型范围(-2n-1~2n-1-1):无符号整型范围(0~2n-1):使用场景: 个数、数
2024-11-17 14:17:55
1414
原创 04 - Clickhouse-21.7.3.14-2单机版安装
下载地址:https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/在 /etc/security/limits.conf 文件的末尾加入以下内容。的注释打开,这样的话才能让ClickHouse被除本机之外的服务器访问。官网:https://clickhouse.tech/查看打开文件数和用户进程数是否更改。退出当前用户,重启登录,文件的末尾加入以下内容。
2024-11-16 22:02:38
1201
原创 03 - Clickhouse数据库入门简介
ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的列式存储数据库(DBMS),使用 C++ 语言编写,主要用于在线分析处理查询(OLAP),能够使用 SQL 查询实时生成分析数据报告。
2024-11-16 16:02:14
764
原创 01 - Maven入门安装
LICENSE、NOTICE、README.txt:针对Maven版本,第三方软件等简要介绍。maven需要本机安装java环境、必需包含java_home环境变量!boot:含有plexus-classworlds类加载器框架。# 输出版本信息即可,如果错误,请仔细检查环境变量即可!lib:含有Maven运行时所需要的Java类库。:含有Maven的核心配置文件。:含有Maven的运行脚本。
2024-05-30 21:06:24
441
1
原创 09 - hive自定义函数以及分区表
0)需求自定义一个UDF实现计算给定基本数据类型的长度,例如:41)创建一个Maven工程Hive2)导入依赖3创建一个类/*** 我们需计算一个要给定基本数据类型的长度*//*** 判断传进来的参数的类型和长度* 约定返回的数据类型*/@Override=1) {if (!/*** 解决具体逻辑的*/@Overridereturn 0;@Override// 用于获取解释的字符串return "";4创建临时函数。
2024-05-19 16:46:04
887
原创 08 - hive的集合函数、高级聚合函数、炸裂函数以及窗口函数
语法:map (key1, value1, key2, value2, …)说明:根据输入的key和value对构建map类型案例实操:输出:1)需求说明 根据上述电影信息表,统计各分类的电影数量,期望结果如下:
2024-05-12 19:33:50
919
原创 07 - hive的 DDL(Data Definition Language)数据定义、DML(Data Manipulation Language)数据操作以及查询相关语法
1)语法CREATEDATABASECOMMENTLOCATIONhdfs_path]WITH2)案例(1)创建一个数据库,不指定路径注:若不指定路径,其默认路径为${hive.metastore.warehouse.dir}/database_name.db(2)创建一个数据库,指定路径(3)创建一个数据库,带有dbproperties。
2024-05-05 19:16:41
1177
原创 06 - metastore服务、hive服务启动脚本以及相关使用技巧
Hive的metastore服务的作用是为Hive CLI或者Hiveserver2提供元数据访问接口。metastore有两种运行模式,分别为嵌入式模式和。下面分别对两种模式进行说明:(1)嵌入式模式(2)独立服务模式生产环境中,不推荐使用嵌入式模式。因为其存在以下两个问题:(1)嵌入式模式下,每个Hive CLI都需要直接连接元数据库,当Hive CLI较多时,数据库压力会比较大。(2)每个客户端都需要用户元数据库的读写权限,元数据库的安全得不到很好的保证。
2024-05-02 21:39:35
3301
原创 22 - Hadoop HA 高可用集群搭建、手动模式、自动模式以及HA模式集群
(1)所谓 HA(High Availablity),即高可用(7*24 小时不中断服务)。(2)实现高可用最关键的策略是消除单点故障。HA 严格来说应该分成各个组件的 HA 机制:HDFS 的 HA 和 YARN 的 HA。(3)NameNode 主要在以下两个方面影响 HDFS 集群HDFS HA 功能通过配置多个 NameNodes(Active/Standby)实现在集群中对 NameNode 的 热备来解决上述问题。
2024-04-29 21:44:11
1821
1
原创 03 - 客户端 API 操作、服务器动态上下线监听以及分布式锁案例
什么叫做分布式锁呢?比如说"进程 1"在使用该资源的时候,会先去获得锁,"进程 1"获得锁以后会对该资源保持独占,这样其他进程就无法访问该资源,"进程 1"用完该资源以后就将锁释放掉,让其 他进程来获得锁,那么通过这个锁机制,我们就能保证了分布式系统中多个进程能够有序的 访问该临界资源。需要在项目的 src/main/resources 目录下,新建一个文件,命名为“log4j.properties”,在 文件中填入。(2)在 Idea 中创建包名:com.atguigu.zkcase1。
2024-04-28 21:00:28
940
转载 点赞模块设计 - Redis缓存 + 定时写入数据库实现高性能点赞功能
至于多久从 Redis 取一次数据存到数据库中,根据项目的实际情况定吧,我是暂时设了两个小时。
2024-04-28 11:08:40
820
转载 使用Redis实现文章阅读量、收藏、点赞数量记录功能
如果每一次用户查看博客都从数据库中检索这些数据那数据库开销是非常大的,这个时候就需要使用到缓存来存储这些信息。
2024-04-28 10:43:23
1044
原创 17 - Yarn案例实操
1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程2)需求分析:1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster平均每个节点运行10个 / 3台 ≈ 3个任务(4 3 3)4)分发配置注意:如果集群的硬件资源不一致,要每个单独配置5)重启集群6)执行WordCount程序7)观察Yarn任务执行页面。
2024-04-22 21:28:53
1080
原创 12 - MapReduce之OutputFormat数据输出以及MapReduce内核源码解析
1)需求过滤输入的log日志,包含atguigu的网站输出到e:/atguigu.log,不包含atguigu的网站输出到e:/other.log。(1)输入数据2)需求分析3)案例实操(1)编写LogMapper类@Override//不做任何处理,直接写出一行log数据(2)编写LogReducer类@Override// 防止有相同的数据,迭代写出(3)自定义一个LogOutputFormat类@Override。
2024-04-20 11:50:37
1016
转载 05 - hadoop3.1.3完全分布式模式环境搭建
1)各个模块分开启动/停止(配置ssh是前提)常用1.整体启动/停止HDFS2.整体启动/停止YARN2)各个服务组件逐一启动/停止1.分别启动/停止HDFS组件2.启动/停止YARN。
2024-04-07 22:16:07
239
转载 02 - 大数据之Hadoop3.x模板虚拟机配置
注意:在安装系统之前需要检查自己虚拟机的bios 的虚拟化是否打开(大部分的电脑都是打开的,大家可以先尝试直接安装,如果出现错误再去调试,没有出错就不用管了)
2024-04-04 21:59:30
183
转载 本地消息表实现分布式事务—可靠消息最终一致性解决方案
本地消息表:这是ebay研发出的一种分布式事务解决方案,通过将消息表存储在数据库中,实现了消息的一致性。它的核心思想就将分布式事务拆分成本地事务进行处理本地消息表是利用各系统本地事务来实现分布式事务。业务系统的执行和消息均放入本地消息表中,确保本地业务执行和消息表的操作在一个事务中。不尝机制重试读取本地消息表,调用远程应用操作。需要加入重试机制、最大执行次数、报警机制。本地消息表容忍数据暂时不一致,期望数据的最终一致性。
2024-03-12 14:32:01
1000
原创 Linux下安装MySQL8的客户端
背景:需要做一个这样的需求,Linux下通过MySQL的下面的命令,完成文件加载到另一个MySQL服务器的需求,命令如下:mysql -h172.18.22.100 -uroot -p’123!@#’ ,但是目前这个服务器上没有MySQL相应的组件,之前安装过MySQL的服务端和客户端,现在想着是不是只安装MySQL的客户端就够用了。这样也能节省系统开销,不需要安装服务端了注意:安装客户端的话,只安装以下几个安装包就够用了(note:一定要按这个顺序来安装,否则会有报错的提示)
2024-01-26 15:11:23
1492
转载 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
743
转载 beanFactory.ignoreDependencyInterface代码测试和理解
使得我们的ApplicationContextAware接口实现类在自动装配时不能被注入ApplicationContext对象的依赖,而统一由框架设置依赖,ApplicationContextAware接口的设置会在ApplicationContextAwareProcessor类中完成。并不影响构造器注入,给A中类新增构造方法,把上图AwareTest注释全放开,结果是b和c都注入了。以上是在类中使用注解进行注入,不使用注解还可以在Xml文件中配置。
2024-01-16 14:26:35
256
转载 使用 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
1460
5
转载 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
3295
4
原创 CentOS7安装MiniO
MinIO是高性能的对象存储,单个对象最大可达5TB。适合存储图片、视频、文档、备份数据、安装包等一系列文件。是一款主要采用Golang语言实现发开的高性能、分布式的对象存储系统。客户端支持Java,Net,Python,Javacript,Golang语言。客户端与服务器之间采用http/https通信协议。
2023-11-29 14:58:02
2152
转载 物理内存,虚拟内存,磁盘swap分区的关系
物理内存硬件上,就是内存条。我们知道一个程序运行,必要开一片内存来存储其相关指令和需要用到的堆栈段空间等。
2023-11-01 16:36:35
756
转载 对swap交换分区虚拟内存的理解
每次安装Linux的时候,都会要求配置交换分区,那么这个分区是干嘛的呢?不设置这个分区有什么后果?如果一定要设置,设置多大比较合适?swap space是磁盘上的一块区域,可以是一个分区,也可以是一个文件,或者是他们的组合。简单点说,当系统物理内存吃紧时,Linux会将内存中不常访问的数据保存到swap上,这样系统就有更多的物理内存为各个进程服务,而当系统需要访问swap上存储的内容时,再将swap上的数据加载到内存中,这就是我们常说的swap out和swap in。
2023-11-01 16:27:26
3916
转载 Linux理解virt、res、shr之间的关系
页映射表的基本原理是将程序运行过程中需要访问的一段虚拟内存空间通过页映射表映射到一段物理内存空间上,这样CPU访问对应虚拟内存地址的时候就可以通过这种查找页映射表的机制访问物理内存上的某个对应的地址。既然说虚拟内存是一个逻辑意义上(假象的)的内存空间,为了能够让程序在物理机器上运行,那么必须有一套机制可以让这些假象的虚拟内存空间映射到物理内存空间(实实在在的RAM内存条上的空间)。在上图中我们看到进程A虚拟内存空间中的A4和进程B虚拟内存空间中的B3都映射到了物理内存空间的A4/B3部分。
2023-11-01 15:39:22
3265
转载 Disruptor - 深入理解高性能异步处理框架
在并发编程的世界中,对效率的追求从未停止过。我们尝试用各种方式来提高程序的执行效率,包括使用更高级的并发控制结构,如锁和线程池,以及采用更先进的并发设计模式。然而,有一种工具在许多高性能系统中得到了广泛的应用,那就是Disruptor。Disruptor是一个高性能的异步处理框架,它利用了Ring Buffer、CAS等高效的并发策略,使得在处理高并发、低延迟的需求时,表现出了惊人的性能。我们来看一张图:这是一张展示了Disruptor和性能对比的直方图,你可以明显地看到Disruptor的优越性能。
2023-10-23 18:00:10
1014
转载 容器与虚拟化的区别与优势
本文对Docker容器与传统虚拟化技术进行了对比和分析,重点探讨了它们的优势、劣势以及在不同场景中的适用性。通过深入研究Docker的轻量性、快速启动、可移植性和传统虚拟化的隔离性和安全性等方面,我们总结出在选择虚拟化技术时应根据具体需求做出正确决策的重要性。此外,我们展示了Docker在快速部署开发环境、支持微服务架构和持续集成部署等实际场景中的优势和效果。Docker是一种开源的容器化平台,它可以帮助开发人员和运维团队更轻松地创建、部署和运行应用程序。
2023-10-20 11:22:06
2027
转载 MySQL的索引数据结构
索引的数据结构使用的是B+树,那为什么使用B+树而不是二叉查找树、平衡二叉树或者B树呢,接下来,我们来讲讲B+树的由来。官方介绍索引是帮助MySQL高效获取数据的数据结构。简单来讲,数据库索引就像是书前面的目录,能加快数据库的查询速度。事实上,索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。
2023-10-16 14:11:26
174
转载 05-Hiveserver2服务部署
hiveserver2提供JDBC/ODBC接口,使得用户可以远程访问Hive数据,即作为客户端的代理与Hadoop集群进行交互。hiveserver2部署时需要部署到一个能访问集群的节点上,保证能够直接往Hadoop上提交数据。用户在客户端提交SQL语句时,由hiveserver请求HDFS或者提交计算任务到Yarn上,再由hiveserver2将结果返回给客户端。
2023-10-15 18:42:30
505
转载 04-配置Hive元数据存储到MySQL
把Hive元数据写道MySQL的metastore数据库中(MySQL默认没有metastore数据库,需要提前创建:create database metastore;
2023-10-15 17:38:41
674
空空如也
java微服务节点假死,网关路由时长延迟
2024-05-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人