随笔分类 - 01.bigdata
大数据环境搭建、配置调优、围绕平台开发等.
摘要:由于项目中选型 OLAP 数据仓库,并且涉及到比较大量的数据更新,经过筛选后比较适合的两款选型是 Doris 和 StarRocks。所以考虑对这两款数仓进行性能测试,从其中选择一款比较适合的来使用。 选型测试的时间为 2025 年 7 月份,比当前发布文章的时间要早将近半年,所以版本是依据当时的稳
阅读全文
摘要:我们可能经常会遇到 ClickHouse 磁盘写满的情况,这个时候除了删数据之外还可以考虑添加一块新的磁盘,让 ClickHouse 可以往新的磁盘那写入数据。ClickHouse 本身就支持配置各类存储策略,可以实现条带化、冷热分离、多存储卷顺序写入等不同的存储策略。 当前我们只针对于多个对等磁盘
阅读全文
摘要:目前最新的 Elasticsearch 集群采用部署包的方式安装配置的过程还是比较复杂的,除了基本的配置外还涉及到 SSL 证书相关的配置,所以采用容器的方式部署就显得更加方便。 官方直接提供了容器化的 Docker 镜像,但是给的示例都只是单机情况下的伪分布式部署方案,我们稍微进行修改就可以在集群
阅读全文
摘要:Qdrant 是一款比较新的大规模高性能向量搜索引擎,可以为 AI 应用提供底层支撑,目前已经有较为广泛的应用。 Qdrant 使用 Rust 编写,因此具备高性能和内存安全性的特点,同时采用独创的可过滤的 HNSW 索引,可以有效加速向量标量混合检索的性能,可以在性能和召回率方面有比较好地兼顾。
阅读全文
摘要:ClickHouse 之前的版本如果要实现 UDF 需要修改源码通过 C++ 代码实现,不过这种方式难度比较大而且需要重新编译,对于实现逻辑简单或者性能要求不太高的任务可以借助于内置的 SQL UDF 或者外部可执行文件来实现,这种方式实现起来比较快,很多情况下其实都可以满足需要。 主要方法有如下两
阅读全文
摘要:StarRocks 官方只提供了单节点运行的镜像,如果是构建可以分布式运行的 StarRocks 的容器镜像,那么基于基础镜像可以有两种选择,分别是:starrocks/artifacts-ubuntu 和 starrocks/allin1-ubuntu,这两个都是基于 Ubuntu 22.04 的
阅读全文
摘要:Kafka 线上性能调优是一项综合工程,不仅仅是 Kafka 本身,还应该从硬件(存储、网络、CPU)以及操作系统方面来整体考量,首先我们要有一套生产部署方案,基于这套方案再进行调优,这样就有了可靠的底层保证,才能保证 Kafka 集群整体的稳定性。 1. 线上部署方案 1.1 操作系统 我们知道
阅读全文
摘要:当前按照官网上的提供的安装包方式安装,版本是 3.2.2,部署模式为存算一体,安装的操作系统是 Ubuntu 22.04,JDK 版本为 OpenJDK 11,这里选择 3 个节点进行安装,节点的 hosts 定义如下: 10.0.1.25 ec25 10.0.1.26 ec26 10.0.1.27
阅读全文
摘要:我们在使用 Kafka 生产和消费消息的时候,肯定是希望能够将数据均匀地分配到所有服务器上。比如在日志收集场景,数据量是非常巨大的,例如大批量的集群每分钟产生的日志都能以 GB 计,所以如何将这么大的数据量均匀地分配到 Kafka 的各个 Broker 上,就是一个非常重要的问题。 除了应对吞吐量的
阅读全文
摘要:本次实现基于 Flink 1.18 版本,具体的对象之间的关系可以先参考官网的图: 先拿官网上的 Socket 示例来说一下实现过程: 首先编写 SocketDynamicTableFactory 实现 DynamicTableSourceFactory 接口。 在 SocketDynamicTab
阅读全文
摘要:Redis 作为内存数据库,其性能表现非常出色,单机 OPS 很容易达到 10万以上,这主要得益于其高效的内存数据结构、单线程无锁设计、IO 多路复用等技术实现。但是在线上生产环境的使用中,我们仍然会发现在使用 Redis 的时候其性能和预期是不符的,例如出现了明显的延迟等,如果我们能从 Redis
阅读全文
摘要:Kafka 创建时未指定多个副本或者副本数量过少,都可以在后期手动添加,另外如果副本过多也可以减少,当前调整基于 Kafka 的版本是 2.5.1,但是估计 2.1 ~ 2.5 应该都是兼容的。 下面先来操作一下 Topic 副本减少的过程,首先查看 Kafka Topic 的详情: # 新版本的
阅读全文
摘要:Filebeat 是比较轻量的日志采集工具,对于一些简单的采集任务可以直接使用 Filebeat 采集,同时也支持很多的方式输出,可以输出至 Kafka、Elasticsearch、Redis 等,下面我们来简单配置下。 首先下载好安装包,例如:filebeat-8.6.2-linux-x86_64
阅读全文
摘要:Redis是一种内存数据库,数据都存储在内存中,因此可以快速地直接基于内存中的数据结构进行高性能的操作,但是所有数据都在内存中,一旦服务器宕机,内存中的数据就会全部丢失,数据将无法恢复,因此Redis也有自己的持久化机制,但是要注意这个持久化和普通数据库的持久化不同,持久化文件必须全部读取到内存才可
阅读全文
摘要:Redis是一种内存数据库,所以可以很方便的直接基于内存中的数据结构,对外提供众多的接口,而这些接口实际上就是对不同的数据结构进行操作的算法,首先redis本身是一种key-value的数据库,对于value常见的类型有: 字符串(string)、散列(hash)、列表(list)、集合(set)、
阅读全文
摘要:之前介绍过Spark 1.6版本的部署,现在最新版本的spark为3.0.1并且已经完全兼容hadoop 3.x,同样仍然支持RDD与DataFrame两套API,这篇文章就主要介绍一下基于Hadoop 3.x的Spark 3.0部署,首先还是官网下载安装包,下载地址为:http://spark.a
阅读全文
摘要:前面的一篇文章写到了hadoop hdfs 3.2集群的部署,其中是部署的单个namenode的hdfs集群,一旦其中namenode出现故障会导致整个hdfs存储不可用,如果是要求比较高的集群,有必要配置namenode故障转移来保证集群服务的可用性,hdfs提供两种机制实现的高可用: 1. 使用
阅读全文
摘要:Ceph是一个分布式的存储系统,可以在统一的系统中提供唯一的对象、块和文件存储,Ceph的大致组件如下: 1. Ceph监视器(ceph-mon):用来维护集群状态的映射,包括监视器映射,管理器映射,OSD映射,MDS映射和CRUSH映射,这些映射是ceph守护程序相互协调所需的关键状态,另外还负责
阅读全文
摘要:之前写过HDFS 2.6的部署,最近项目中尝试使用最新的HDFS 3.2.1做离线存储,部署方式略有不同,所以这里再简单写一下,这里只涉及到存储因此不再配置yarn,只配置HDFS最基本的服务NameNode、DataNode、以及SecondaryNameNode,我这里用到的包是hadoop-3
阅读全文
摘要:ElasticSearch目前最新版是7.7.0,其中部署的细节和之前的6.x有很多的不同,所以这里单独拉出来写一下,希望对用7.x的童鞋有一些帮助,然后部署完ES后配套的kibana也是7.7.0,这个就简单了放到最后说,下面先进入ES 7.7.0的部署. 首先是下载es的安装包,官网下载即可,我
阅读全文

浙公网安备 33010602011771号