自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lovelife110的博客

原XWiki中文网(www.xwikichina.com)已下线,迁移至本博客。1群345566567,2群1019971079

  • 博客(202)
  • 资源 (2)
  • 收藏
  • 关注

原创 通过小波变换判断数据是否平稳波动及其代码实现

小波变换理解小波变换就是把一个波形分解成N个低频部分和M个高频部分的和;同一个小波基函数可以通过平移和缩放生成不同的小波基;小波变换就是把原始信号与小波基函数以及尺度函数进行内积运算,所以一个小波基和一个尺度函数就确定了一个小波变换;类比理解:小波基就相当于一个标准正交基;原始信号与小波基作内积相当于向量在标准正交基上做投影;...

2021-03-19 11:29:21 5490

原创 通过pc算法和随机游走来做根因定位,CloudRanger论文解读

CloudRanger:云原生系统根因识别1. Abstract提出一种动态因果关系分析方法来构造应用程序之间的影响图,而不需要给定拓扑。提出了一种基于二阶随机游走来识别罪魁祸首的服务2. INTRODUCTION云服务服务众多,监控管理复杂动态新增 删除微服务。弹性伸缩需要同时度量业务事务的整体性能和单个微服务的性能。因为一个微服务挂了,影响不到整体。对于云原生系统,传统的性能基线方法可能是一项艰巨的任务,因为必须为每个业务事务和微服务构建基线。基线还必须跟上每个微服务版本迭代的步伐,但由

2020-12-22 18:35:10 6538

原创 运营商告警数据根因分析方案和代码示例

运营商告警数据根因分析方案和代码示例背景特征工程nlp特征告警标题tfidf告警标题做word2vec词向量挖掘统计特征告警历史统计特征故障历史统计特征小时展开表特征比率特征故障时间rank特征背景AIIA巡回赛中国移动赛,无线侧故障根因分析无线侧故障根因分析,针对现网告警、工单数量大,故障原因定位困难的痛点,希望选手通过机器学习手段建立模型,将现网历史告警数据和工单中的故障原因定位标注数据相关联,训练分类出停电、软件故障、硬件故障、误告警、传输故障等原因,从而减少实际派单数量并进行优化策略派单。特

2020-06-17 11:09:05 8479 5

原创 腾讯织云Metis异常检测原理刨析

腾讯织云Metis异常检测原理刨析1. 技术架构1. 技术架构1.1 离线模块详情参考系列文章Metis异常检测初体验Metis异常检测算法源码Metis异常检测数据集训练源码深入刨析Metis异常检测算法率值检测和量值检测源码刨析Metis异常检测样本管理源码分析...

2020-06-05 10:21:19 8834 24

原创 xwiki翻译汇总(原xwiki中文网内容)

xwiki管理指南xwiki管理指南-配置多租户xwiki管理指南-皮肤xwiki管理指南-编码xwiki管理指南-认证xwiki管理指南-日志xwiki管理指南-数据库管理xwiki管理指南-附件xwiki管理指南-短网址xwiki管理指南-监控xwiki管理指南-群组管理xwiki管理指南-安装教程xwiki管理指南-升级xwiki管理指南-配置xwiki管理指南-访问wikixwiki管理指南-导入/导出xwiki管理指南-安全xwiki管理指南-访问权限xwiki

2020-05-12 08:55:29 4417 7

原创 Drain基于固定深度解析树

论文地址:http://jmzhu.logpai.com/pub/pjhe_icws2017.pdfDrain可以以流方式实时解析日志,为了加快解析过程,Drain使用了固定深度的解析树(请参见上图)根节点为树的顶层,底层为叶子节点,其他层为内部节点。根节点和内部节点用于搜索,叶子节点存储日志组(包含日志事件和日志对应的ID号)Drain基于固定深度解析树步骤步骤1,预处理...

2019-12-18 17:15:56 6352 4

原创 aws(亚马逊云服务)ssh登录提示Error establishing SSH connection to your instance. Try again later.

本机通过cmd命令执行telnet xxx(云服务的ip) 22 来检测是否连通。注意:用户密钥是在申请ec2资源的时候,会配置(此密钥在申请ec2资源配置的时候浏览器会自动下载)。首先确认安全组配置ssh是不是开放,如下图。xshell选择申请ec2资源时候的密钥。用户名填写ec2-user。点击确定后ssh连接成功。

2022-11-14 11:02:36 7092 1

原创 结合Thrift示例详解网络服务模型(多线程阻塞IO、多线程非阻塞IO、多Reactor模型)

网络服务模型Thrift提供的网络服务模型:单线程、多线程、事件驱动,从另一个角度划分为:阻塞服务模型、非阻塞服务模型。单线程阻塞IOThrift的TSimpleServer就是单线程阻塞IO。TSimpleServer的工作模式采用最简单的阻塞IO,实现方法简洁明了,便于理解,但是一次只能接收和处理一个socket连接,效率比较低。......

2022-06-27 11:13:59 966

原创 Thrift快速入门和简单示例

Thrift是一个轻量级、跨语言的RPC框架,主要用于各个服务之间的RPC通信,它通过自身的IDL中间语言, 并借助代码生成引擎生成各种主流语言的RPC服务端/客户端模板代码。Thrift支持多种不同的编程语言,包括C++, Java, Python, PHP等。Thrift官网地址,以下内容基于Apache Thrift v0.15.0。Thrift技术栈分层从下向上分别为:传输层(Transport Layer)、协议层(Protocol Layer)、处理层(Processor Layer)和服务层

2022-06-23 15:46:54 997

原创 Hive架构和原理(图形化通俗易懂)

Hive会提前将SQL语言中常用的操作(select,where,group等)用MapReduce写成很多模板。将模板封装在Hive中。简单说就是Hive把client输入的SQL转换为Mapreduce,运行在 Yarn 上。

2022-06-15 17:31:17 971

原创 hadoop3 Yarn容量(Capacity Scheduler)调度器和公平(Fair Scheduler)调度器配置

例子1default 队列占总内存的 40%,最大资源容量占总资源 60%(容量调度器允许借用其他队列剩余的资源,这里限制不超过60%), hive 队列占总内存的 60%, 最大资源容量占总资源 80%。例子2vcore和内存固定值配置,参考官网yarn.scheduler.capacity..maximum-allocation-mb:每个队列在资源管理器上分配给每个容器请求的最大内存限制。此设置覆盖集群配置 yarn.scheduler.maximum-allocat...

2022-06-13 16:23:29 1622 1

原创 HBase原理 | HBase Split与Compaction

StoreFile Compaction由于 memstore每次刷写都会生成一个新的 HFile,且同一个字段的不同版本(timestamp)和不同类型(Put/Delete)有可能会分布在不同的 HFile 中,因此查询时需要遍历所有的 HFile。为了减少 HFile 的个数,以及清理掉过期和删除的数据,会进行 StoreFile Compaction。Compaction 分为两种,分别是 Minor Compaction 和 Major Compaction。...

2022-06-07 11:32:42 272 1

原创 HBase原理 | HBase读写流程和MemStore Flush(图形化通俗易懂)

HBase:以下内容为V1.3版本Zookeeper:HBase 通过 Zookeeper 来做 Master 的高可用、 RegionServer 的监控、存储Hbase元数据(如哪个表存储在哪个RegionServer上)以及集群配置的维护等工作。meta表:HBase有两个自带的命名空间,分别是 hbase 和 default, hbase 中存放的是 HBase 内置的表,default 表是用户默认使用的命名空间。meta表位于hbase命名空间(还有namespace表)下。记录了用户所有表拆分

2022-06-06 17:08:06 349

原创 HBase架构和原理(图形化通俗易懂)

文章目录组件模块说明HBase 架构简单理解Region ServerMasterZookeeperHDFS组件模块说明HBase 架构简单理解Region ServerRegion Server 为 Region 的管理者, 其实现类为 HRegionServer,主要作用如下:对于数据的操作: get, put, delete对于 Region 的操作: splitRegion(Region拆分)、 compactRegion(Region合并)。MasterMaster 是所有 R

2022-06-01 16:30:01 550

原创 HBase逻辑结构和物理结构(图形化通俗易懂)

文章目录组件模块说明HBase 逻辑结构HBase 物理存储结构数据模型组件模块说明HBase:HBase 是一种分布式、可扩展、支持海量数据存储的 NoSQL 数据库。利用Hadoop HDFS作为其文件存储系统,提供高可靠性 、高性能、列存储、可伸缩、实时读写的数据库系统。HBase 逻辑结构逻辑上, HBase 的数据模型同关系型数据库很类似,数据存储在一张表中,有行有列。横轴按Row key水平切分,纵轴按列族垂直切分。Row key:行键,唯一键。在每个store内是有序的,按字典序排

2022-05-30 09:54:41 1384

原创 Yarn工作原理和作业提交过程(图形化通俗易懂)

文章目录组件模块说明架构工作原理组件模块说明Yarn:为一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而 MapReduce 等运算程序则相当于运行于操作系统之上的应用程序。ResourceManager:整个集群所有资源的管理者。作用:处理客户端请求、监控NodeManager、启动或监控ApplicationMaster、资源的分配与调度。NodeManager:单个节点服务器资源管理者。作用:管理单个节点上的资源、处理来自ResourceManager的命

2022-05-09 17:30:00 1481

原创 MapReduce核心编程思想和原理(图形化通俗易懂)

MapReduce核心编程思想和原理组件模块说明MapReduce核心编程思想MapReduce 框架原理MapReduce 工作流程组件模块说明MapReduce :MapReduce 是一个分布式运算程序的编程框架,核心功能是将用户编写的业务逻辑代码和MapReduce自带默认组件整合成一个完整的分布式运算程序,并发运行在一个 Hadoop 集群上。MapReduce 进程:一个完整的 MapReduce 程序在分布式运行时有三类实例进程,分别为MrAppMaster,MapTask,Reduce

2022-05-09 14:37:08 1017

原创 HDFS原理 | NameNode和DataNode工作原理(图形化通俗易懂)

NameNode和DataNode工作原理组件模块说明NameNode工作原理组件模块说明NameNode:存储文件的元数据。作用:管理HDFS的名称空间;配置副本策略;管理数据块(Block)映射信息;处理客户端读写请求。NameNode两个重要文件(内存中的镜像=fsimage+edits)。fsimage:元数据镜像文件。NameNode的元数据存放在内存中,为了断电不丢数据,因此需要在磁盘中备份元数据。edits:元数据操作日志(针对目录树的修改操作),被写入共享存储系统中, 如NFS、 J

2022-05-01 23:00:44 1179

原创 HDFS原理 | HDFS读写数据流程(图形化通俗易懂)

HDFS的写数据流程和HDFS的读数据流程详细说明

2022-04-27 15:48:49 1701

原创 redis 6.0 源码代码整体结构

redis 6.0 源码代码整体结构整体结构deps目录src目录tests目录整体结构在redis源码目录下,一共包含了deps、src、tests、utils四个子目录。deps目录主要包含了Redis依赖的第三方代码库,这些代码可以独立于Redis src目录下的功能源码进行编译hiredis redis的C语言版本客户端代码jemalloc 代替glibc库的内存分配器linenoise 代替readline,命令行解析工具lua 包含lua脚本代码src目录包含了Re

2021-12-24 17:35:34 914 5

原创 ignite 2.11.0 客户端加入集群过程源码分析

ignite 2.11.0 客户端加入集群过程源码分析

2021-12-20 15:05:20 524 2

原创 通过Wireshark和arthas排查由DNS引发的Ignite生产故障案例

通过Wireshark和arthas排查由DNS引发的Ignite生产故障案例故障背景故障分析第一次定位问题跨架构假设生产重现故障Wireshark抓包分析修复超时问题第二次故障定位arthas定位通过trace查看耗时方法通过thread查看线程jstackkill -3 pid故障背景一次维护人员在上完线后,发现在分布式内存数据网格apache Ignite集群上通过客户端执行加载数据任务时,发现客户端节点连不上服务节点。生产环境情况:分为A、B两中心A中心 x86架构主机8台,为ignite

2021-11-29 14:57:09 758

原创 apache Ignite ignite配置Log4j2日志例子

apache Ignite ignite配置Log4j2日志例子例子代码位置ignite-log4j2模块配置xml文件ignite-log4j2.xml文件调debug模式启动测试例子代码位置https://github.com/lilihongjava/ignite_examples/tree/main/ignite-03ignite-log4j2模块在使用Log4j之前,需要先导入ignite-log4j2模块。 <dependencies> <dep

2021-11-17 16:39:42 910

原创 idea debug jdk源码行数不对以及No executable code found at line

debug发现源码行数不对,或者出现No executable code found at line,一般就是idea的jdk版本与要debug源码的jdk版本不一致导致。或者是本地maven指向的jdk版本与idea配置的jdk版本不一致。现象jdk源码ObjectInputStream设置debug断点,出现No executable code found at line原因本次引发的原因是本地远程debug服务器(linux)程序,本地是windows jdk1.8版本,远程是linux j

2021-11-10 16:56:23 3076

原创 ignite 2.11.0 节点发现原理及源码分析

ignite 2.11.0 节点发现原理节点发现介绍环形拓扑节点加入过程概述创建连接TcpDiscoveryJoinRequestMessageTcpDiscoveryNodeAddedMessageTcpDiscoveryNodeAddFinishedMessage节点发现介绍发现机制的主要目标是创建 Ignite 节点的拓扑结构,并在每个节点上构建并维护一致的内存视图。 例如,此视图包含集群中的节点数及节点顺序。发现机制由 DiscoverySpi 接口表示,默认实现是TcpDiscoverySp

2021-10-28 14:40:27 2571 2

原创 apache Ignite 节点生命周期事件例子

例子代码位置https://github.com/lilihongjava/ignite_examples/tree/main/ignite-02节点生命周期事件介绍生命周期事件可以在节点生命周期的不同阶段执行自定义代码。共有4个生命周期事件:BEFORE_NODE_START:Ignite节点的启动程序初始化之前调用;AFTER_NODE_START:Ignite节点启动之后调用;BEFORE_NODE_STOP:Ignite节点的停止程序初始化之前调用;AFTER_NODE_STOP:

2021-10-21 17:02:36 500

原创 apache Ignite 安装和helloworld

代码位置https://github.com/lilihongjava/ignite_examples/tree/main/ignite-01安装下载ignite安装包,apache-ignite-2.11.0-bin.zip选2台服务器,解压文件,在bin目录下(如/root/ignite/apache-ignite-2.11.0-bin/bin)执行./ignite.sh ../examples/config/example-ignite.xml日志如下:[15:56:53] Ignit

2021-10-21 16:14:19 663

原创 通过ansible搭建 Redis Cluster 集群环境(Docker)

背景通过通过ansible实现自动化搭建 Redis Cluster 集群环境以Docker 搭建Redis 集群github地址 https://github.com/lilihongjava/ansible-redis-cluster本次验证环境docker:Docker version 18.03.0-celinux:redhat8ansible:ansible 2.9.23redis:6.0.7hosts_install[redis]10.1.12.214 ansible_u

2021-10-18 16:25:52 992

原创 docker用来实现“隔离”的技术手段:namespace

例子说明namespacedocker run -it busybox /bin/sh进入容器后,执行ps / # ps PID USER TIME COMMAND1 root 0:00 /bin/sh10 root 0:00 ps可以看到,宿主机执行的 /bin/sh,就是这个容器内部的第 1 号进程(PID=1),而这个容器里一共只有两个进程在运行。这就意味着,前面执行的 /bin/sh,以及我们刚刚执行的 ps,已经被 Docker 隔离在了一个跟宿主机完全不同的世界当中。这种

2021-06-21 10:17:28 441 1

原创 docker和Kubernetes发展介绍

docker和Kubernetes发展介绍docker崛起打包技术docker 平台化SwarmFigKubernetes崛起Libcontainerdocker崛起2013 年的后端技术领域,曾经被人们寄予厚望的云计算技术,也已经从当初虚无缥缈的概念蜕变成了实实在在的虚拟机和账单。而相比于的如日中天AWS 和盛极一时的 OpenStack,以 Cloud Foundry 为代表的开源 PaaS 项目,却成为了当时云计算技术中的一股清流。打包技术PaaS 之所以能够帮助用户大规模部署应用到集群里,是

2021-06-21 10:11:20 212

原创 通过异常分数表实现微服务系统根因节点查找(包含代码示例)

通过异常分数表实现根因节点查找代码示例代码示例入口代码if __name__ == '__main__': trace_data = pd.read_csv(".././data/process_trace.csv", index_col=False) rca_temp = RCA(trace_data=trace_data, alpha=0.99, ub=0.1) rca_temp.run()...

2021-06-17 10:41:54 4155

原创 核密度估计(kde)实现异常程度转换

核密度估计实现异常程度转换核密度估计介绍核函数估计KDE实现异常程度转换原理代码示例代码说明核密度估计介绍对于估计概率密度,如果确定数据服从的分布类型,可以使用参数拟合,否则只能使用非参数拟合百科:核密度估计(kernel density estimation)是在概率论中用来估计未知的密度函数,属于非参数检验方法之一核函数估计KDE实现异常程度转换原理代码示例主函数:if __name__ == '__main__': train_data = np.array([22.22, 2

2021-06-16 09:46:25 5540

转载 根因定位论文:Root Cause Analysis of Anomalies of Multitier Services in Public Clouds

转载原链接:https://jckling.github.io/2021/01/23/Other/Root%20Cause%20Analysis%20of%20Anomalies%20of%20Multitier%20Services%20in%20Public%20Clouds/从云供应商的角度,快速定位导致云平台上多层业务异常的根本原因,解决方案应该对租户的服务或应用程序是无侵入的(非侵入式)。简介多层服务或云应用涉及上百个组件,而这些组件又分布在不同的主机上。IaaS 云允许租户共享物理计算基础

2021-05-02 00:59:50 2220

原创 根因定位FluxRank论文通过核密度估计(KDE)获得变化量部分

II.CHANGE QUANTIFICATIONCHANGE QUANTIFICATION说明A. 变化开始时间B. 变化程度论文:FluxRank: A Widely-Deployable Framework to AutomaticallyLocalizing Root Cause Machines for Software Service Failure Mitigation 的 II. CHANGE QUANTIFICATION部分FluxRank论文背景说明CHANGE QUANTIFI

2021-05-01 23:21:48 6158

原创 根因定位FluxRank论文背景说明

摘要软件服务的故障直接影响用户体验和服务收入。因此,运维可以在服务所在的每台计算机上监视服务级别的KPI(例如响应时间)和计算机级别的KPI(例如CPU使用情况)。当服务失败时,运维必须尽快定位根本原因的机器并减轻故障。由于难以获得所需的额外测量数据,现有方法的应用受到限制。目前故障定位在很大程度上是手动的并且非常耗时。本文介绍了FluxRank,它是一种可广泛部署的框架,可以自动准确地定位根本原因机器,以便可以触发某些操作来减轻服务故障。我们使用来自搜索公司的五个真实服务(具有成千上万台计算机)的历史案

2021-04-29 19:38:29 4678 2

原创 pandas datetime与时间戳互相转换,字符串转换datetime

参考pandas.to_datetime的api字符串转换为pandas datetime通过to_datetime函数可以把字符串转换为pandas datetime df = pd.DataFrame({'date': ['2011-04-24 01:30:00.000']}) df['date'] = pd.to_datetime(df['date'])打印结果0 2011-04-24 01:30:00Name: date, dtype: datetime64[ns]

2021-04-07 23:46:42 19447 9

原创 通过傅里叶变换判断数据是否为周期性及其代码实现

通过傅里叶变换判断数据是否为周期1. 检测方法2. 代码示例3. 代码讲解3.1 使用周期图法估计功率谱密度3.2 原理1. 检测方法通常判断数据周期性的方法是对数据进行傅里叶变换。采用是傅立叶变换,该方法快速且计算效率高,但在存在多季节性模式时效果不佳。2. 代码示例代码位置: https://github.com/lilihongjava/aiopsdef is_periodicity(data, show_pic=False): """ :param data: 检测数据,

2021-03-23 10:52:55 6004 6

原创 linux调优以满足100万并发连接的要求

首先需要借助工具测试操作系统是否支持100万个连接。工具地址:https://github.com/ideawu/c1000k安装wget --no-check-certificate https://github.com/ideawu/c1000k/archive/master.zipunzip master.zipcd c1000k-mastermake首次检测结果编译完成后,执行命令进行检测# 启动服务器,监听端口7000〜7099./server 7000# 运行客户端./

2021-03-01 16:05:33 2326 2

原创 java类加载器通俗理解

启动类加载器将那一段加载逻辑定义为启动类加载器启动类加载器不像其他类加载器有实体,它是没有实体的,JVM将C++处理类加载的一套逻辑定义为启动类加载器

2021-02-21 00:14:53 212

原创 APISIX测试框架test::nginx介绍、安装和使用

test::nginx的安装和使用1. test::nginx介绍2. 安装1. test::nginx介绍test::nginx 是 OpenResty的测试框架,是不基于断言,也不使用 Lua 语言。test::nginx 用Perl编写的,因为Perl已经积累了多年的丰富测试工具和工具链(其实是作者章亦春的个人喜好)。对于同一份测试案例集,通过对参数和环境变量的控制,可以实现乱序执行、多次重复、内存泄漏检测、压力测试等不同的效果。2. 安装以下例子为cenos7的命令test::Nginx

2021-02-03 10:42:43 3252

故障根因分析告警数据.zip

故障根因分析告警数据。无线侧故障根因分析,针对现网告警、工单数量大,故障原因定位困难的痛点,将现网历史告警数据和工单中的故障原因定位标注数据相关联,训练分类出停电、软件故障、硬件故障、误告警、传输故障等原因,从而减少实际派单数量并进行优化策略派单。

2021-01-27

线性回归数学原理.pptx

线性回归推导过程,包含线性代数基础-矩阵和向量、加法和标量乘法、矩阵乘法、线性回归-最小二乘法定义等,从浅至深入门机器学习数学基础。

2020-05-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除