- 博客(43)
- 资源 (5)
- 收藏
- 关注
原创 Arthas 基本命令使用
4、watch 包名 方法名 “{params}” -x - 展开行数;2、选择要查看的 进程 号 例如 1。3、trace 包名 方法名。1、arthas 进入应用。
2024-07-22 10:56:52
72
原创 clickhouse 源码编译部署
生产:10.216.86.23,10.216.86.24,10.216.86.31(没有权限登录,存在有权限,拷贝和重启服务需要找存在执行)点击build project,编译工程,经过一定时间(第一次编译可能几个小时,后续再编译,只编译有改动的文件)生成release目录。clickhouse可执行文件存放(拷贝)目录(远程拷贝时,需要将原clickhouse可执行为念删除或重命名):/usr/bin/clickhouse配置文件目录:/etc/clickhouse-server。
2024-04-03 15:01:56
585
原创 ClickHouse开发相关(UDAF)
ClickHouse介绍ClickHouse是一个开源、高性能的列式 OLAP 数据库管理系统,用于使用 SQL 进行实时分析。为什么需要ClickHouse UDAF?ClickHouse中已存在了许多聚合函数,绝大多数情况下已经覆盖我们的需求,但是有时候我们仍然需要自定义函数逻辑,去实现复杂的数据分析需求,因此就有了基于ClickHouse中实现自定义函数(UDF)或自定义聚合函数(UDAF)需求,这篇文章我们讲下如何基于ClickHouse实现UDAF。实现UDAF步骤。
2024-04-03 14:57:21
978
原创 2021-07-31
单日3亿+日志数据准实时存储和分析–ClickHouse 在自如大前端研发中心的应用第一章 架构设计 和 用户体系建设文章目录单日3亿+日志数据准实时存储和分析前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言用户行为数据的收集和分析,已成为各家互联网公司预知市场动向,决策公司运营方向,提升产品使用感受,促进产品进步的重要手段。各家主流互联网公司都争先建立自有的数据采集和分析体系,来应对日益复杂的市场,自如作为主流的互联网公司之一,也势必要建立自己的日志采集和分析体系
2023-11-28 16:59:23
408
原创 Kubernetes
yum -y install dockeryum install -y yum-utils device-mapper-persistent-data lvm2yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyum -y install docker-ce docker-ce-cli containerd.io链接: link.图片: 带尺寸的图片: 居中的图片: 居中并
2023-11-28 16:58:18
874
原创 kakfa常用命令
b.创建increase-replication-factor.json in config,配置各分区replication-factor位置。c.更新replication-factor。设置kafka 单个topic 保留时长。增加、修改、删除Topic的配置项。a.修改partitions数量。查询某个topic的信息。
2023-11-07 19:34:24
69
原创 Docker技术总结
安装Docker首先,您需要在本地计算机或服务器上安装Docker。您可以在官方Docker文档中找到有关安装Docker的详细指南。安装完成后,您可以通过运行以下命令来检查版本:编写Dockerfile在将您的应用程序打包到Docker容器之前,需要编写一个Dockerfile。Dockerfile是一个文本文件,其中包含了创建Docker镜像所需的命令和指令。以下是一个简单的Dockerfile示例:COPY . .构建Docker镜像。
2023-09-15 09:15:22
37
原创 【无标题】
1.更新软件包2.三台机器安装Docker3.开机自启docker并启动enabled;6s ago4.配置内核参数5.添加必要内核模块/bin/bash-bash:./etc/sysconfig/modules/ipvs.modules: 没有那个文件或目录6添加kubeadm的yum源enabled=1gpgcheck=1EOF配置master节点。
2023-08-10 20:51:08
44
原创 Clickhouse源码编译环境配置
解决办法:在终端输入 sudo gedit /etc/hosts ,打开/etc/hosts文件,然后注释掉所有只涉及到github.com的行(注意是 只有github.com ,有任何别的都不可以)即可解决。File-settings-CMake中 配置上: -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++查看Clickhouse 命令,直接使用 ./clickhouse 命令查看。在编辑工具中(clion)
2023-06-20 17:36:58
283
原创 知其所以然 之 HashCode
直接定址法是以数据元素关键字k本身或它的线性函数作为它的哈希地址H(k)=k 或 H(k)=a×k+b地址年龄人数A111000A221500A99991500A1001001800在这个例子中,直接用年龄本身作为地址。这种哈希函数简单,并且对于不同的关键字不会产生冲突,但可以看出这是一种较为特殊的哈希函数,实际生活中,关键字的元素很少是连续的。用该方法产生的哈希表会造成空间大量的浪费,因此这种方法适应性并不强。
2023-01-08 14:54:29
336
原创 Kafka文件存储机制详解
第二步通过segment file查找message 通过第一步定位到segment file,当offset=368776时,依次定位到00000000000000368769.index的元数据物理位置和00000000000000368769.log的物理偏移地址,然后再通过00000000000000368769.log顺序查找直到offset=368776为止。offset:每个partition都由一系列有序的、不可变的消息组成,这些消息被连续的追加到partition中。
2022-12-16 09:29:27
470
原创 ClickHouse 常用语句
查看测试表在19年12月的分区信息。1.查看数据库容量、行数、压缩率。2.查看数据表容量、行数、压缩率。–在此查询一张临时表的信息。4.查看数据表字段的信息。3.查看数据表分区信息。
2022-12-16 09:11:26
576
原创 Shared Everthting、Shared Nothing、和Shared Disk
elasticsearch也是一种MPP架构的数据库,Presto、Impala等都是MPP engine,各节点不共享资源,每个executor可以独自完成数据的读取和计算,缺点在于怕stragglers,遇到后整个engine的性能下降到该straggler的能力,所谓木桶的短板,这也是为什么MPP架构不适合异构的机器,要求各节点配置一样。其采用shared nothing架构(MPP),主机,操作系统,内存,存储都是自我控制的,不存在共享。节点之间的信息交互是通过节点互联网络实现。
2022-12-15 10:00:07
304
原创 Redis 过期key 清除规则
这里写自定义目录标题redis清除过期key,你不知道的事情1.周期性删除频率2.每次删除过期key的规则3.redis过期key 将浪费redis,近25%的空间,如果存在大key,超过1M的,需要自定义清除逻辑redis清除过期key,你不知道的事情1.惰性删除2.周期性删除1.周期性删除频率按照配置参数可修改,取值10-500;代表cpu每秒钟触发清除动作的次数2.每次删除过期key的规则1.清除动作时长限制(例如250ms)2.执行后,随机获取20个key,判断过期数量是否超过5个,
2022-01-13 09:27:31
330
原创 ClickHouse使用(十四)--基础知识 最终篇
ClickHouse使用(十四)-最终篇欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你
2021-08-28 12:14:24
861
原创 客端日志的收集、存储和分析
客端日志的收集、存储和分析客端日志向来以量大著称,每日几亿,几十亿甚至几百亿也是司空见惯,谈到客端日志的收集,就需要谈到日志收集的时效性和准确性两个课题。对于海量日志数据的存储,常见的hadoop体系和最近流行起来的ClickHouse都是不错的选择,其中的优缺点也是我们讨论的重点。对于海量数据的分析更是一个永恒的话题,在这方面,ClickHouse似乎给出了近乎完美的方案,但是事实是,如果你想在项目中使用它,那对它特点的全面了解,是实现目标的大前提。提示:写完文章后,目录可以自动生成,如何生成可参考
2021-08-20 19:31:42
972
原创 ClickHouse使用(十三)
ClickHouse使用(十三)欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如
2021-07-03 10:10:22
753
原创 ClickHouse 使用(十二)
副本与分片概述集群副本Zookeeper 配置方式定义方式ReplicatedMergeTree 原理解析生成一个适合你的列表概述特点:1、依赖ZooKeeper2、表级别的副本3、多主架构,可以在任意副本执行写入和修改4、Block数据分块(1048576)5、原子性,单个block内数据,要么全部成功,要么全部失败6、唯一性 ,单个Block 按照顺序,数据行和大小 计算Hash值,保证唯一性集群单集群 多集群副本ReplicatedMergeTree 复制表;在MergeTr
2021-06-14 10:27:12
366
原创 es使用之,更改index的数据类型,并保留原有数据
文章目录一、创建新的 index二、导入数据三、删除 旧的 index四、创建新的 同名 index五、导入旧数据 到 新建的 同名index六、删除过渡数据的index一、创建新的 indexcurl -XPUT “http://localhost:9200/fe_error_2021” -H ‘Content-Type: application/json’ -d ‘{“mappings”:{“fe-error”:{“properties”:{“logType”:{“type”:“keyword”},
2021-05-29 15:14:56
988
原创 ClickHouse使用(十 一)
ClickHouse使用(十 一)文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import n
2021-05-29 15:09:44
1099
1
原创 ClickHouse使用(十)
ClickHouse使用(10)1 引擎1.1File引擎1.2内存类型的引擎1.2.1 Memory1.2.2 Set1.2.3 join 表引擎1.2.4 Buffer1.3 日志类型的表引擎1.3.1 TinyLog1.3.2 StripeLog1.3.2 Log1.4接口类表引擎1.5 Dictionary1.6 Distributed表引擎1.7 其他类型2 数据查询2.1查询子句 with1 引擎能够直接读取本地文件数据,通常用作扩充手段来使用Create table table_n
2021-05-16 12:10:24
523
原创 ClickHouse使用(九)
ClickHouse使用(九)1 Kafka表引擎(kafka数据接入clickHouse)一、创建缓存队列二、创建存储数据表三、创建消费视图四.集群环境创建表五.集群删除表操作语句六.JDBC引擎(1)相对于Mysql引擎而言,jdbc引擎可以支持多种数据库,依赖名称为clickhouse-jdbc-bridge 的查询代理服务。clickhouse-jdbc-bridge 是Java实现的Sql代理服务(2)ClickHouse jdbc标准库(3) 下载运行 clickhouse-jdbc-
2021-05-04 12:02:37
353
原创 ClickHouse使用(八)
文章目录1 CollapsingMergeTree1.1使用方式?2 VersionedCollapsingMergeTree2.1 CollapsingMergeTree的升级版,对数据写入顺序没有要求,按照版本号来排序需要折叠的数据,实现不需要严格控制写入顺序的3 各种 MergeTree之间的关系1 CollapsingMergeTree以增代删1.1使用方式?如果sign 标记为1 标识这行有效数据,标记为-1标识需要被删除Create table collpase_table(id
2021-05-04 11:53:51
147
原创 ClickHouse使用(七)
ClickHouse使用(七)SummingMergeTree正常思路在MergeTree系列的存储引擎中,只有在SummingMergeTree 和 AggregatingMergeTree中会出现 primary key 和 order by 不同的情况支持嵌套类型字段,使用时必须以Map结尾总结AggregatingMergeTree使用方法主流用法SummingMergeTree适用于,多查询汇总结果,不关心明细数据的场景(Group By条件明确 而且不会随机改变)正常思路MergeTre
2021-04-17 10:55:56
752
原创 ClickHouse使用(六)
ClickHouse使用(六)MergeTree 系列表引擎1 六大类表引擎:2 数据TTLMergeTree 系列表引擎1 六大类表引擎:(1)合并树 (2)外部存储 (3)内存(4)文件(5)接口(6)其他(2)合并树家族:ReplacingMergeTree/SummingMergeTree/AggregatingMergeTree/CollapsingMergeTree/VersionedCollapsingTree在MergeTree基础上进行扩展,相关特性在合并的时机提现2 数据T
2021-04-11 10:01:11
193
原创 ClickHouse使用(五)
ClickHouse使用(五)分区,索引,标记,压缩数据的协同1.写入2.查询过程分区,索引,标记,压缩数据的协同你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。1.写入(1)每一批数据的写入都会生成分区目录–合并属于同一个分区的分区目录–按照index_granularity(默认8192)生成primary.idx一级索引,二级索引,针对每列生成.mrk数据标记文件 和.
2021-04-04 09:32:35
119
原创 ClickHouse使用(四)
ClickHouse使用(四)数据标记数据标记的生成规则数据标记的工作方式数据标记MergeTree 比作一本书,primary.idx 为章节目录,.bin文件中的数据好比这本书中的文字;数据标记文件.mrk,会为章节目录和具体的文字之间建立关系(1)一级章节目录对应的页码信息(2)文字在某个页中的起始位置信息。数据标记的生成规则(1)数据区间和索引标记对齐(1对1 的关系)(都是按照 index_granularity的粒度间隔)(2)数据标记文件.mrk 与 数据文件.bin一一对应,
2021-03-28 09:34:19
313
原创 ClickHouse使用(三)
一、数据分区分区以目录形式组织,每个分区独立分开存储。1.分区ID的生成逻辑(1)不指定分区=指定了一个名称为all的分区(2)如果分区键取值属于整型,并且无法转换为日期格式,按照该整形的字符形式输出(3)如果能转换成日期格式的日期类型或者整形,按照日期格式输出(4)其他类型(String,Float)通过128位的Hash算法取其Hash值作为分区ID的取值2.例子:(1)无 all(2)年龄 18,19,20 (分区1:18;分区2:19;分区3:20)(3)日期 2019-
2021-03-21 16:01:07
551
1
原创 ClickHouse使用(二)
一、MergeTree的存储结构1.存储结构table_namepartition_1checksums.txt(保存文件的size和hash验证其他文件的完整性)columns.txt(列字段信息)count.txt(分区下数据总数)primary.idx(一级索引文件,存放稀疏索引)[Column].bin(数据文件,用于存储某一列的数据,压缩文件,默认LZ4)[Column].mrk(列标记文件,保存了.bin文件中数据的偏移量信息。它与稀疏索引对齐,稀疏索引(.idx)-偏移量(.
2021-03-06 10:30:15
180
原创 ClickHouse使用(一)
ClickHouse使用(一)安装和部署文章目录ClickHouse使用(一)一、目录结构二、启动服务(1)config.xml 配置文件修改数据默认的保存目录(2)修改默认的存储路径,所以需要将目录的Owner设置为clickhouse用户(3)启动三、客户端的访问接口1.交互式执行2.非交互式执行四、JDBC 默认 8123 ,协议HTTP1.标准形式2.高可用模式,允许多个host,每次随机选择一个进行连接3.实用小工具五、数据定义1.支持完整的DML,insert,select,update
2021-02-27 16:37:16
501
转载 漫谈SIMD、SSE指令集与ClickHouse向量化执行
前言ClickHouse之所以会像闪电一样快(“blazing fast”),是多方面优化的结果,包括且不限于:高效且磁盘友好的列式存储,高效的数据压缩,精心设计的各类索引,并行分布式查询,运行时代码生成等。另外,ClickHouse为了最大限度地压榨硬件——尤其是CPU——的性能,实现了向量化查询执行(vectorized query execution)机制。这个名词相对于上面的那些可能没那么平易近人,但它毫无疑问是CK相对于传统OLAP引擎的大杀器。鉴于现有资料中讲解CK向量化执行的内容很少,本文
2021-02-16 16:38:28
664
原创 ClickHouse前世今生
这里写自定义目录标题欢迎使用Markdown编前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编提示:文章写完后,目录可以自动生成
2021-02-14 22:45:53
293
原创 散列
文章目录散列的基本概念一、散列函数的设计二、几个散列函数1.除余法(division method)2.MAD法(Multiply-add-divide method)3.数字分析法4.随机数法二、冲突解决办法1.封闭定址法(closed addressing)1.开放定址法(open addressing)总结散列的基本概念什么是散列?为什么需要散列?散列是一种思想。与已经学过的其他数据结构相比较,向量是采用循秩访问(call by rank)的访问方式,列表是采用循位置访问(call by ..
2021-01-22 18:32:30
455
原创 logstash和filebeat关系
因为logstash是jvm跑的,资源消耗比较大,所以后来作者又用golang写了一个功能较少但是资源消耗也小的轻量级的logstash-forwarder。不过作者只是一个人,加入http://elastic.co公司以后,因为es公司本身还收购了另一个开源项目packetbeat,而这个项目专门就是用golang的,有整个团队,所以es公司干脆把logstash-forwarder的开发工作也合并到同一个golang团队来搞,于是新的项目就叫filebeat了。...
2021-01-13 21:27:05
493
原创 DevOps
什么是DevOps前言字面意思上说 DevOps 是指“开发运维一体化”,即通过工具辅助开发完成运维的部分工作,减少成本。但深入理解了 DevOps 之后,你会发现 DevOps 其实是一种软件研发管理的思想,方法论,他追求的是一种没有隔阂的理想的研发协作的状态,可能涉及到的角色有开发、测试、产品、项目管理、运维等等。所以我们认为,为了帮助研发团队在保持质量的前提下提高交付效率的方法和方法论都隶属于 DevOps 的范畴。比如 Google 提出的 5 个 DevOps 原则,这套原则中必须依.
2021-01-09 23:00:34
299
原创 图片资源管理,实现多App统一图片库管理
前言图片资源管理建立在App组件化基础之上,根据组件按需关联并下载图库资源中的图片,避免图片资源在不必要时加入到App中,增大包体积一、如何实现按需下载组件图片?按需建立图片资源和组件的依赖关系,在App打包时,按照组件查询关联的图片资源并进行下载,实现图片资源按需分配二、如何在研发流程中按需增加图片,如何在实现按需增加图片的路上不影响开发人员的研发进度,避免研发人员过多的关注相关细节技术方案总结对于图片资源管理而言并没有结束,还有接下来的云控。...
2021-01-01 16:21:55
568
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人