文章
QML 与 Web:UI 开发的两条路线
从 QML 的语法选择,到 HTML/CSS/JS 的历史分工,再到「为什么不能轻易替换 JavaScript」的思想实验,理解 UI 框架为什么走向两条不同的路。
2026-11-12
MirrorMaker2 On Connect Distributed 操作手册
1. 准备 以下步骤默认 Kafka 安装目录为 /usr/local/kafka/kafka-release。 KAFKA_HOME=/usr/local/kafka/kafka-release CONNECT=http://10.79.40.119:18088 2. 修改启动脚本 修改 $KAFKA_HOME/bin/connect-distributed.sh,替换为以下内容:
2026-11-12
KRaft observer metadata 停止复制排查报告
KRaft observer 在 Fetch 超时后持续向非 leader controller 请求 metadata 的完整排查过程、证据链与 KAFKA-19354 根因分析
2026-11-12
Kafka Connect / MirrorMaker 2 REST API 查询指南
Kafka Connect Distributed 与 MirrorMaker 2 的 Connector、Task、Worker、Offset、Plugin 和日志管理 REST API
2026-11-12
Flink 同步程序迁移到 MirrorMaker 2 设计
将历史 Flink 集群间复制作业迁移到 MirrorMaker 2,并以 Connect source offset 接管 Flink consumer group 位点的设计方案。
2026-11-12
使用 CC Switch 配置微博 WeiboAP 大模型路由
WeiboAP 不支持 Responses API,通过 CC Switch 的路由功能将 Chat Completions 协议转换为 Responses 格式,实现 Codex 等客户端正常调用。
2026-09-04
共享 RAID 故障域导致 Kafka fence 排查报告
共享 RAID 故障域引发日志写入阻塞、Kafka KRaft 心跳超时与 broker fence 的排查证据及整改建议
2026-09-04
Kafka 流控/配额方案调研报告
目的:为重新设计本仓库的客户端限速方案提供选型输入。目标模型:每个消费者组/topic 拥有最低保障资源量(保底),极端争用下核心业务的生产/消费不失败;资源充足时可弹性使用空闲容量(类 YARN 动态资源池)。
2026-08-17
快速迁移+自动平衡
一、集群现状 kafka是由多副本机制来保证数据的可用性的,每个副本需要保留完整的数据(通常是几天的数据),这些副本占据了broker上的大量存储空间,并且大多数数据是冷数据,不会被消费。
2026-08-14
MySQL数据库开发规范
前言 1、本规范定义了研发过程中数据库相关技术标准,研发过程中的数据库相关操作务必遵守。 2、本规范适配MySQL数据库,如在使用其他数据库不兼容相应规则时,参考对应数据库相同思路解决方案。
2026-08-14
MirrorMaker2 On Connect Distributed 部署运维手册
1. 架构总览 将原 connect-mirror-maker.sh 专用模式转换为普通 Kafka Connect Distributed 部署,转换后具备: 通过 Connect REST API 动态修改同步 topic 和 group,无需重启 Worker。 多个 Worker 自动分配 Connector 和 Task。 保持现有单向复制、topic 不加前缀、consumer group offset 自动同步等语义。 可选保留专用模式的正向和反向心跳行为。 拓扑:
2026-08-14
ClickHouse优化
一、表优化 1、日期字段避免使用String存储 在Hive中对于日期数据我们经常使用String类型存储,但是在ClickHouse 中建表时针对日期类型数据存储 建议使用日期类型存储,不使用String类型存储,因为在使用到日期时日期类型可以直接处理,String类型的日期数据还需要使用函数进行处理,执行效率低。例如:
2026-08-14
C12 集群频繁 ISR Shrinking 问题排查报告
从 Follower Fetch 链路、Leader 请求指标和 Kafka 时间轮逐层定位,最终确认宿主机内核 Bug 导致线程调度延迟并触发 ISR 收缩。
2026-08-14
ads 集群 ISR Shrinking 排查报告
从 FollowerFetchRequest 排队逐层定位到 leader-epoch-checkpoint 刷盘阻塞,并记录根因、方案评估与灰度验证计划。
2026-08-14
Kafka Direct Memory OOM 排查报告
Kafka broker direct buffer memory exhaustion investigation and remediation
2026-08-14
Reality
reality配置 安装xray apt install xray 生成uuid和密钥对 xray uuid 6adcc59e-ac9e-46f3-b28e-57882c308b61 xray x25519 Private key: oDM7rQwU-IEXaQkkvpPw3qa_EX0zNfkwHmn1xupklk0 Public key: Jz0MYxPV8Xa3bD4Xke9UXSilA1Eq37smrOZtTwGbizs 配置 路径: /usr/local/etc/xray/config.json
2025-03-15
MySQL九阴真经
第一章 MySQL 1.1 数据库概述 (1)为什么要学习数据库 java是将数据存储在运行内存中,需要将数据进行持久化操作(运行内存中的数据存储到磁盘上) a. IO流 -> 字节流、字符流、对象流 b. 数据库:数据库就是存储数据的"仓库" (永久性的)
2024-05-30
JavaSE葵花宝典
第一章 Java概述 1.1 Java历史 Java诞生于SUN(Stanford University Network),09年SUN被Oracle(甲骨文)收购。
2024-05-30
正确使用Channel
channel的特性 channel会阻塞输入或者输出端,直到有goroutine接收或者写入 channel只能由produce端close(调用close函数),输出端close编译不通过(必须要有produce的权限) channel能且只能close一次,第二次会报panic channel关闭之后不能写入,写入会报panic channel的接受端可以有两个返回值,如果第二个返回值为false,代表channel关闭 已关闭的channel也可用读取,但是标志位(第二个返回值)会是false 使用场景 spsc spsc(一个生产者一个消费者):
2024-05-29
增加节点
如何新增节点 前置条件 操作系统:ubuntu18.04 运维初始化机器,确保集群内可互访问,硬盘挂载成功 步骤 DNS新增节点 首先需要把新增节点的域名和ip加入我们的DNS中
2024-05-29
源码编译通用步骤
一、搭建编译环境 一般编译环境为Linux + JDK + Maven,有些框架可能需要别的环境支持,一般都会注明,在后面细说。以下教程都是基于Linux + JDK8环境编译。
2024-05-29
数仓开发规范
数仓开发规范 前言 1.1 背景 为了避免底层业务变动对上层需求影响过大,屏蔽底层复杂的业务逻辑,尽可能简单、完整的在接口层呈现业务数据,建设高内聚松耦合的数据组织,使数据从业务角度可分割,显得尤为重要。从整个集团业务条线出发,形成数据仓库总体概念框架,并对整个系统所需要的功能模块进行划分,明确各模块技术细节,建设一套完整的开发规范。 1.2 目的 便于数据的统一管理和使用,达到见表识其义,且易于维护,制定此操作规范,此规范针对本部门开发人员,望共同遵守。
2024-05-29
工作流的工作原理
工作流 其实工作流就是一个决策树,根据用户不同的行为和属性,执行不同的动作 type FlowElement struct { Id int `json:"id"` WorkFlowId int `json:"workFlowId"` Type string `json:"type"` Incomings []int `json:"incomings"` Outgoings []int `json:"outgoings"` Properties []rule.Property `json:"properties"` Extensions map[string]interface{} `json:"extensions"` } const ( TYPE_RULE = "Rule" TYPE_ACTION = "Action" TYPE_TRIGGER = "Trigger" TYPE_CASE = "Case" TYPE_RULE_CASE = "RuleCase" TYPE_TRIGGER_CASE = "TriggerCase" TYPE_START = "Start" TYPE_END = "End" ) Line 所有的节点的key由paltId和elementID确定
2024-05-29
大数据平台管理方案探索
大数据平台管理方案探索 宋品如 背景 目前市面上主要使用的Hadoop版本: Apache(最原始的版本,所有发行版均基于这个版本进行改进) Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称CDH) Hortonworks版本(Hortonworks Data Platform,简称HDP) 大多数公司都不会选择Apache版本,因为安装复杂,运维困难,更严重的是hadoop生态的兼容性无法保证,使用Apache版本需要付出极大的资源。
2024-05-29
编译Spark
去spark官网下载源码,解压到/opt/software/source 进入该目录,编译 ./dev/make-distribution.sh --name without-hive --tgz -Pyarn -Phadoop-3.1 -Dhadoop.version=3.1.3 -Pparquet-provided -Porc-provided -Phadoop-provided
2024-05-29
编译Phoenix
拉取源码 cd /opt/software/source git clone https://git-wip-us.apache.org/repos/asf/phoenix.git 编译 cd phoenix mvn clean package -DskipTests -Dhbase.profile=2.2 -Dhbase.version=2.2.4
2024-05-29
Zookeeper
安装 解压 把conf文件夹下配置文件改个名字 cp zoo_sample.cfg zoo.cfg 编辑zoo.cfg,配置datadir dataDir=/opt/module/zookeeper-3.4.10/zkData 配置集群机器,每台机器分配一个不同的Serverid tickTime=2000 dataDir=/opt/module/zookeeper-3.4.10/zkData clientPort=2181 initLimit=5 syncLimit=2 server.2=hadoop102:2888:3888 server.3=hadoop103:2888:3888 server.4=hadoop104:2888:3888 # 以上配置2,3,4就是Serverid 在zkData文件夹里新建一个myid文件,内容是本机的Serverid 配置Zookeeper的LogDIR:配置bin/zkEnv.sh文件 ZOO_LOG_DIR="."改为/opt/module/zookeeper-3.4.10/logs 分发,其他机器修改myid 启动zookeeper bin/zkServer.sh start 群起脚本
2024-05-29
Tez编译
拉取源码 cd /opt/software/source git clone https://git-wip-us.apache.org/repos/asf/tez.git 安装Tez必要环境
2024-05-29
Spring笔记
1、Spring 1.1 简介 春天 —>给软件行业带来了春天 2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架。 2004年3月24日,Spring框架以interface21框架为基础,经过重新设计,发布了1.0正式版。 Rod Johnson的学历 , 他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学。 Spring理念 : 使现有技术更加实用 . 本身就是一个大杂烩 , 整合现有的框架技术 官方下载地址 : https://repo.spring.io/libs-release-local/org/springframework/spring/
2024-05-29
Spark 性能调优
第一章 Spark 性能调优 1.1 常规性能调优 1.1.1 常规性能调优一:最优资源配置 Spark性能调优的第一步,就是为任务分配更多的资源,在一定范围内,增加资源的分配与性能的提升是成正比的,实现了最优的资源配置后,在此基础上再考虑进行后面论述的性能调优策略。
2024-05-29
Spark 调优总结
总览 spark.shuffle.io.preferDirectBufs #shuffle的堆外内存(netty数据传输),默认的堆外内存就是这个+spark固定的部分(vm,一部分对象创建) spark.network.io.preferDirectBufs #3.0之后加入,心跳等网络通讯也可以使用堆外内存 spark.memory.offHeap.enabled #默认是false,部分算子可以使用堆外内存 spark.memory.offHeap.size spark.executor.memoryOverhead #堆外内存,默认的10% rdd:
2024-05-29
Scala 总结
入门 计算机语言发展历史 机器语言 汇编语言 高级语言 编译型语言:C、C++ &如果需要多次运行程序,不需要对源文件进行多次编译 &不支持跨平台 解释型语言 :JavaScript &支持跨平台 &如果需要多次运行程序,需要对源文件进行多次解释 Java运行原理 先编译后解释 .java源文件–>编译器–>.class字节码文件–>windowsJVM(解释) –>LinuxJvm ……
2024-05-29
Scala
第一章 Scala入门 1.1 scala 和 java 的关系 略 1.2 环境搭建 1.2.1 window 环境搭建 准备 java 环境 解压 zip 配置环境变量 SCALA_HOME PATH 1.2.2 idea 环境搭建 安装支持 scala 开发的插件(装完重启)
2024-05-29
Rust符号
运算符 表 B-1 包含了 Rust 中的运算符、运算符如何出现在上下文中的示例、简短解释以及该运算符是否可重载。如果一个运算符是可重载的,则该运算符上用于重载的相关 trait 也会列出。
2024-05-29
Redis
部署 下载源码 解压 安装C的编译器: sudo yum install gcc-c++ #没网手动安装 rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm rpm -ivh cpp-4.4.7-17.el6.x86_64.rpm rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm rpm -ivh gcc-4.4.7-17.el6.x86_64.rpm 进入解压的Redis源码目录
2024-05-29
Prometheus
架构图 特点 一个多维数据模型, 其中包含通过度量标准名称和键/值对标识的时间序列数据 PromQL,一种灵活的查询语言 ,可利用此维度 不依赖分布式存储;单个服务器节点是自治的 时间序列收集通过HTTP上的拉模型进行 通过中间网关支持推送时间序列 通过服务发现或静态配置发现目标 多种图形和仪表板支持模式 组件 Prometheus生态系统由多个组件组成,其中许多是可选的:
2024-05-29
Polyv
Polyv集成设计文档 背景 Iparllay集成polyv 需求描述 https://www.tapd.cn/54503349/prong/stories/view/1154503349001007135
2024-05-29
NIO
Buffer IntBuffer FloatBuffer CharBuffer DoubleBuffer ShortBuffer LongBuffer ByteBuffer 指针 position:当前指针 limit:可用的末尾指针(超过部分不可访问) capacity:容量,不可变 mark:标记,可以使用reset回到该位置 方法:
2024-05-29
Nginx
安装 1) yum安装依赖包 sudo yum -y install openssl openssl-devel pcre pcre-devel zlib zlib-devel gcc gcc-c++ 2) 安装依赖包 解压缩nginx-xx.tar.gz 进入解压缩目录,执行
2024-05-29
Mysql Keepalived
技术概述 对于多数应用来说,MySQL都是作为最关键的数据存储中心的,所以,如何让MySQL提供HA服务,是我们不得不面对的一个问题。MySQL的HA方案不止一种,本文介绍较为常用的一种——基于keepalived的MySQl HA。
2024-05-29
Mvn Versions
1.简介 versions-maven-plugin插件可以管理项目版本, 特别是当Maven工程项目中有大量子模块时, 可以批量修改pom版本号, 插件会把父模块更新到指定版本号, 然后更新子模块版本号与父模块相同, 可以避免手工大量修改和遗漏的问题。
2024-05-29
Markdown
Markdown 标题 # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题 一级标题 二级标题 三级标题 四级标题 五级标题 ####### 六级标题
2024-05-29
Leetcode数据库题目1 123题(20 08 14)
https://leetcode-cn.com/problemset/database/ 题目都是leetcode 上了可以点击题目会有相应的链接 由于个人比较喜欢用开窗函数,所以都优先用了开窗 ,当然这些并不一定都是最优解,答案仅供参考
2024-05-29
JUC
一、JUC概述 1.1什么是JUC 在Java中,线程部分是一个重点,本篇文章说的JUC也是关于线程的。JUC就是java.util.concurrent工具包的简称。这是一个处理线程的工具包,JDK1.5开始出现的。
2024-05-29
Hue兼容Livy通过Rest请求向Spark发送任务
参考hue官方文档 https://gethue.com/how-to-use-the-livy-spark-rest-job-server-for-interactive-spark-2-2/ 环境准备 必须安装JDK
2024-05-29
HUE
什么是HUE? ==HUE=HadoopUser Experience==,是一个==开源==的Apache Hadoop UI系统,由Cloudera Desktop演化而来,最后Cloudera公司将其贡献给Apache基金会的Hadoop社区。通过HUE我们可以在浏览器端完成与Hadoop集群的交互工作。 3.11主要特点:
2024-05-29
HTML
结构 HTML基本同xml 主要有两个部分 head和body组成 head里主要放元数据 body才是显示的内容 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> </head> <body> <h1>我的第一个标题</h1> <p>我的第一个段落。</p> </body> </html> head 可以使用的标签
2024-05-29
Home目录迁移记录
home目录迁移记录 在迁移之前,让大家不要操作home目录 who命令查看有谁在线 root@pbj-gw-20-81:/# who ubuntu pts/0 2021-07-05 14:14 (10.11.18.252) gezhaoqiang pts/1 2021-06-24 15:54 (10.10.68.38) ubuntu pts/2 2021-07-05 14:25 (10.11.18.252) ubuntu pts/4 2021-07-05 14:19 (10.11.18.252) fuzhihao pts/5 2021-07-05 14:29 (192.168.97.175) ubuntu pts/6 2021-07-05 10:27 (192.168.97.140) ubuntu pts/8 2021-07-05 10:41 (192.168.97.140) ubuntu pts/10 2021-07-05 11:38 (192.168.97.140) 首先需要把home里的数据拷贝到新的磁盘目录下
2024-05-29
Hive编译
拉取源码 cd /opt/software/source git clone https://git-wip-us.apache.org/repos/asf/hive.git 修改pom.xml,将guava的版本改为如下版本 <guava.version>27.0-jre</guava.version> 修改以下文件中关于 com.google.common.util.concurrent.Futures#addCallback 的调用
2024-05-29
Hbase
架构角色 Region Server Region Server为 Region的管理者,其实现类为HRegionServer,主要作用如下: 对于数据的操作:get, put, delete;
2024-05-29
Flume
安装部署 1) Flume官网地址 http://flume.apache.org/ 2)文档查看地址 http://flume.apache.org/FlumeUserGuide.html 3)下载地址 http://archive.apache.org/dist/flume/
2024-05-29
Flink分享
Flink 介绍 flink是什么? Apache Flink是一个框架和分布式处理引擎,用于对==无界和有界数据流==进行有状态计算。Flink设计为在所有常见的集群环境中运行,以内存速度和任何规模执行计算。
2024-05-29
ES优化思路
ES优化思路: 少用复杂结构 filters filter的原理根据倒排索引是对所有filter并行执行,然后取交集 filter不是完全链式的执行,所以filter的顺序和写在哪没有任何影响 filter命中doc越多(和key没关系),用的时间越长,所以范围尽量缩小 数值型的filter会比string类型的先执行(这一点要注意),数值型的会给string型的划范围,拼成了查找链 不写就不会去查索引,所以有时候写了反而会影响性能(比如上一条,如果数值命中的比string多,反而变慢了) filte可以缓存,查询往filter里放一份可以加速查询 没有filter很慢,至少有一个就快一些 父子文档不要filter 貌似不写type比较快,待验证,有几十ms的差距 ES的query会先选择一个命中doc最少的,其他的query在此之上并行然后取交集
2024-05-29
ElasticSearch
概念 index:表 type:摆设 document:一条数据 field:字段,表头 shard 分片 node :节点 后台启动(daemon) ./bin/elasticsearch -d -p ./pid 操作 Kibana写法: REST /INDEX/TYPE/<ID> PUT INDEX:
2024-05-29
Docker
«三体»: 弱小和无知不是生存的障碍,傲慢才是。 即使再小的帆,就往死里学 Docker 学习 Docker 概述 Docker安装 Docker命令 镜像命令 容器命令 操作命令 Docker镜像 容器数据卷 DockerFile Docker网络原理 IDEA整合Docker(单机Docker) Docker Compose Docker Swarm CI\CD Jenkins Docker概述 Docker为什么出现? 一款产品: 开发–上线 两套环境!应用环境,应用配置!
2024-05-29
Delta Lake
数据湖是什么? 维基百科上定义,数据湖(Data Lake)是一个以原始格式存储数据的存储库或系统。它按原样存储数据,而无需事先对数据进行结构化处理。一个数据湖可以存储结构化数据(如关系型数据库中的表),半结构化数据(如CSV、日志、XML、JSON),非结构化数据(如电子邮件、文档、PDF)和二进制数据(如图形、音频、视频)。
2024-05-29
DataX插件开发宝典
本文面向DataX插件开发人员,尝试尽可能全面地阐述开发一个DataX插件所经过的历程,力求消除开发者的困惑,让插件开发变得简单。 一、开发之前 路走对了,就不怕远。✓ 路走远了,就不管对不对。✕
2024-05-29
CSS
导入方式 最近原则,谁离标签近用谁 HTML标签内 <input type="text" name="name" placeholder="ssss" style="color: #75c575;"> HTML文件内 <head> <meta charset="UTF-8"> <title>Title</title> <style> h1{ color:red; } </style> </head> link外联 <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="../index.css"/> </head> style外联(不推荐) <head> <style> @import url("./xxx.css"); </style> </head> 选择器 基本选择器 id->class->tag
2024-05-29
Clickhouse配置Zookeeper遇到的坑
背景说明 公司最近要使用clickhouse做实时项目,准备搭一套clickhouse集群 需要用到zookeeper,根据clickhouse的官网要求,选择了最新的3.6.2 版本的zookeeper
2024-05-29
CDH节点退役方案
1.退役前检查HDFS块信息是否有错误,如果有错误的块,先修复 (PS:使用hdfs用户执行) 检查命令 hdfs fsck -list-corruptfileblocks -openforwrite -files -blocks -locations 修复命令 hdfs debug recoverLease -path /path 2.退役节点 CDH中搜索dfs_hosts_exclude.txt
2024-05-29
CDH6.3.2 集群规划
基础 硬件信息 内存 硬盘 核数 bjuc49.optaim.com 128G 10T 32 bjuc50.optaim.com 128G 10T 32 bjuc51.optaim.com 128G 10T 32 bjuc52.optaim.com 128G 10T 32 bjuc53.optaim.com 128G 10T 32 bjuc54.optaim.com 128G 10T 32 bjuc55.optaim.com 128G 10T 32 环境 系统:
2024-05-29
Canal
原理 1)Master主库将改变记录写到二进制日志(binary log)中; 2)Slave从库向mysql master发送dump协议,将master主库的binary log events拷贝到它的中继日志(relay log);
2024-05-29
10 02问题排查
问题回顾 时间线 09-27 03:23 开始,53一直是leader 10-02 08:32 53突然大量链接超时,与其他节点心跳断开 (可能是GC导致的,这段时间有个20s的GC) 10-02 08:33 54选举为leader,开始接管集群
2024-05-29
CDH扩容方案
背景 烽火台数据需要并入公司现有集群,需要增加现有集群的节点数, 公司集群使用CDH6.3.2安装,操作系统为Ubuntu 18.04(导致后续节点必须是Ubuntu 18.04,无法继续升级)
2021-09-06
没有符合当前分类和标签的文章。