博客
记录技术探索与思考 · 共 655 篇
大数据-191 Elasticsearch 集群规划与调优:节点角色、分片副本、写入与搜索优化清单
Master / Data / Coordinating 三类节点职责与生产落地的角色隔离策略,给出容量规划的推算抓手(JVM Heap 30–32GB 上限、冷热数据与磁盘/IO 约束、水平扩容路径),并将分片(shard)与副本(replica)作为"性能与可靠性"的核心旋钮
大数据-192 DataX 3.0 架构与实战:Reader/Writer 插件模型、Job/TaskGroup ...
DataX(DataX 3.0)是阿里体系广泛使用并开源的离线数据同步/数据集成工具,面向企业级异构数据源同步(MySQL、Oracle、SQLServer、PostgreSQL、HDFS、Hive、HBase、OTS、ODPS 等)。它以 Framework + Reader/Writer 插件模型抽象"读—传—写",新增数据源主要通过插件接入而不是重连全链路
大数据-75 Spark Super WordCount:文本清洗 + 词频统计 + MySQL 持久化
实现一个完整的生产级词频统计流水线:小写转换、标点去除、停用词过滤、词频计数,最终通过 foreachPartition 高效写入 MySQL,对比逐条插入与分区批量写入的性能差异。
大数据-76 Spark 序列化机制与 RDD 执行原理
深入讲解 Spark Driver-Executor 进程通信、Java/Kryo 序列化选型、闭包序列化问题排查,以及 RDD 依赖、Stage 划分和持久化存储级别。
大数据-189 Nginx JSON 日志接入 ELK:ZK+Kafka+Elasticsearch 7.3.0+...
通过 Nginx 配置 log_format json 输出结构化 access_log(包含 @timestamp、request_time、status、request_uri、ua 等字段),在多节点(h121/h122/h123)启动 Zookeeper 与 Kafka 做日志缓冲与解耦,再启动 Elasticsearch 7.3.0 存储检索,最后用 Kibana 7.3.0 完成...
大数据-190 Filebeat→Kafka→Logstash→Elasticsearch 实战
Filebeat 采集 Nginx access.log 写入 Kafka,Logstash 从 Kafka 消费后按字段(app/type)条件解析 message 内嵌 JSON,叠加 GeoIP(GeoLite2-City.mmdb)生成坐标字段并写入 Elasticsearch 索引(logstash-%{type}-%{+YYYY.MM.dd}),再交给 Kibana 展示。
大数据-187 Logstash Filter 插件实战:grok 解析控制台与 Nginx 日志(7.3.0 配...
文章讲解在 Logstash 7.3.0 环境下,用 grok 从控制台 stdin 与 Nginx 访问日志中提取结构化字段(IP、time_local、method、request、status 等),并通过 stdout { codec => rubydebug } 快速验证解析效果。
大数据-188 Logstash Output 插件实战:stdout/file/Elasticsearch 输出...
Logstash Output 插件(Logstash 7.3.0)实战教程,涵盖 stdout(rubydebug)用于联调验数、file 输出用于本地归档、Elasticsearch 输出用于检索分析。重点讲解 bulk 批量提交、retry 重试、负载均衡、多输出并行、条件路由 if/else,并给出生产常见组合与高频故障定位路径。
大数据-185 Logstash 7 入门实战:stdin/file 采集、sincedb/start_posit...
Logstash 7 入门教程,涵盖 stdin/file 采集、sincedb 机制与 start_position 生效条件,附带错误速查表本文深入分析原理与实践应用,帮助读者全面理解核心技术要点。
大数据-186 Logstash JDBC vs Syslog Input:原理、场景对比与可复用配置(基于 Lo...
Logstash Input 插件对比,拆解 JDBC Input 与 Syslog 采集链路的技术差异、适用场景与关键配置。JDBC 通过 JDBC 驱动连接 MySQL 等关系型数据库,结合 sql_last_value、tracking_column、last_run_metadata_path 实现增量同步,适用于数据库到 Elasticsearch 的数据导入与 ETL。
大数据-73 Spark + Scala 实现 WordCount 入门实践
使用 Spark + Scala 和 Spark + Java 两种方式实现分布式 WordCount,详解 RDD 五步处理流程、Maven 项目配置和 spark-submit 提交命令。
大数据-74 Spark Scala 实战:蒙特卡洛求 Pi 与共同好友分析
通过两个经典案例深入 Spark RDD 编程:蒙特卡洛方法分布式估算 π 值,以及两种思路实现社交网络共同好友分析,对比笛卡尔积与数据变换的性能差异。本文深入分析原理与实践应用,帮助读者全面理解核心技术要点。
大数据-183 Elasticsearch - 并发冲突与乐观锁、分布式数据一致性剖析
Elasticsearch 并发冲突(库存扣减的读-改-写)拆解写覆盖成因,并用 ES 的乐观并发控制(OCC)给出工程解法:通过 if_seq_no 与 if_primary_term 让更新具备条件写入,当文档已被其他请求修改时返回 version_conflict_engine_exception(HTTP 409)
大数据-184 Elasticsearch Doc Values 机制详解:列式存储如何支撑排序/聚合/脚本
索引时生成的磁盘列式数据结构,面向排序、聚合与脚本取值优化;多数支持类型默认开启,text 字段默认不提供 doc values,需通过 keyword 子字段或启用 fielddata 才能聚合/排序。
大数据-181 Elasticsearch 段合并与磁盘目录拆解:Merge Policy、Force Merge...
解释 refresh 导致小段增多、段合并如何在后台把小段并入大段并清理已删除文档,为什么段过多会带来句柄/内存/CPU与查询开销。工程侧给出 merge 相关配置点:merge scheduler 线程数、merge policy(floor_segment、max_merge_at_once、max_merged_segment 等)的含义与取舍;并补充强制合并 _forcemerge ...
大数据-182 Elasticsearch 倒排索引底层拆解:Terms 字典、FST、SkipList 与 Lu...
文章详细解析 Elasticsearch 倒排索引的核心数据结构:Terms Dictionary(词典)、Posting List(倒排表)、FST(有限状态转换器)与 SkipList(跳表)在查询阶段如何加速 Term 定位与 postings 合并。结合 Lucene 分段不可变+flush/merge 的写入模型,解释 ES 近实时(NRT)背后的代价与收益,并用 .tim/.ti...
大数据-179 Elasticsearch 倒排索引与读写流程全解析:从 Lucene 原理到 Query/Fet...
文章解析 Elasticsearch 倒排索引原理,对比正向索引与倒排索引差异,涵盖分词、Term Dictionary、Posting List 等核心概念。详述文档写入的分片路由规则(hash(routing) % number_of_primary_shards)、主副本写入复制流程,以及 Query 阶段与 Fetch 阶段协作方式。
大数据-180 Elasticsearch 近实时搜索:Segment、Refresh、Flush、Translo...
文章详细解析 Elasticsearch 近实时搜索的核心机制,包括 Lucene Segment、Memory Buffer、File System Cache、Refresh、Flush 及 Translog(事务日志)等核心组件,解释为何 ES 只能做到"近实时搜索",以及数据持久化提交的流程。涵盖 refresh_interval、flush、translog.durabilit...
大数据-72 Spark Action 操作全景解析
全面介绍 Spark RDD 的 Action 操作,涵盖数据收集、统计聚合、元素检索、存储写出等类别,并详解 Key-Value RDD 的 groupByKey、reduceByKey、join 等核心算子。
大数据-177 Elasticsearch 聚合实战:指标聚合 + 桶聚合完整用法与 DSL 解析
覆盖指标聚合 Metrics Aggregations 与桶聚合 Bucket Aggregations 的完整实践,适用于 2025 年常见的 Elasticsearch 7.x / 8.x 版本。文章先从聚合语法入手,解释 aggs/aggregations 节点结构,然后通过 max、sum、avg、value_count、cardinality、stats、extended_stat...