- 博客(35)
- 资源 (20)
- 收藏
- 关注
原创 Elasticsearch cannot downgrade a node from version [7.x.x] to version [7.x.x]
目录背景和问题分析1. 最简单方案2. 复制数据仓库cannot downgrade a node from version [7.x.x] to version [7.x.x]Elasticsearch降级实践背景和问题分析首先官方是不支持降级的,想要降级必须从快照中恢复,这是最保险的,前提也比较多,成本较高。但是你做了很小的版本升级,过后又非常想回退到原来的版本,怎么办呢?注意:我的Elasticsearch是单机模式,集群模式自行研究吧。以我的操作环境为例:从7.13.4回退到7.11.
2021-09-27 17:03:52
1484
1
原创 凤凰架构-全局事务、共享事务、分布式事务
周志明《凤凰架构:构建可靠的大型分布式系统》https://icyfenix.cn/包括:XA、JTA、两阶段提交、三阶段提交、CAP、BASE理论。实现分布式事务的三种解决方案,可靠消息队列、TCC、SAGA事务。可靠消息队列:简单、无法解决隔离性问题TCC:编码实现业务隔离性,但要求技术可控性(预留资源接口),硬编码可以使用SeataSAGA事务:编码实现业务隔离性和补偿机制,不要求技术可控性,硬编码可以使用Seata目录全局事务共享事务分布式事务CAPBASE理论可靠消息队列TCC
2021-09-02 09:48:27
1023
原创 凤凰架构-向微服务迈进
周志明《凤凰架构:构建可靠的大型分布式系统》https://icyfenix.cn/向微服务迈进,目的->前提->边界->治理目录目的:微服务的驱动力前提:微服务需要的条件边界:微服务的粒度治理:理解系统复杂性静态的治理发展的治理软件研发中任何一项技术、方法、架构都不可能是银弹。假如只能用一个词来形容微服务解决问题的核心思想,笔者给的答案就是“分治”,这即是微服务的基本特征,也是微服务应对复杂性的手段。目的:微服务的驱动力硬件的成本能够持续稳定地下降,而软件开发的成本则不
2021-07-30 09:47:04
286
原创 凤凰架构-程序员发展观和价值观
周志明《凤凰架构:构建可靠的大型分布式系统》https://icyfenix.cn/作者阐明程序员的发展观和价值观目录程序员发展观程序员价值观程序员发展观无论日后你的职业目标是永远做一名程序员,还是架构师,抑或是成为一名研发管理者,都不要轻易地离开技术领域的一线前沿。离开技术一线前沿,你对代码、技术、产品状态与团队研发状态的理解,渐渐和团队成员产生了偏差错位,丧失了细节上给予指导的能力,丧失了专业问题上提出接地气解决方案的能力,只能在短期难以校验对错的大战略方向提意见,在会议、流程及团队管理措施
2021-07-28 09:48:06
490
原创 凤凰架构-架构演进
周志明《凤凰架构:构建可靠的大型分布式系统》https://icyfenix.cn/架构演进,原始分布式时代->单体系统时代->SOA时代->微服务时代->后微服务时代->无服务时代架构并不是被“发明”出来的,而是持续进化的结果。整个“演进中的架构”这部分,一条重要的逻辑线索就是软件工业对如何拆分业务、隔离技术复杂性的探索。从最初的不拆分,到通过越来越复杂的技术手段逐渐满足了业务的拆分与协作,再到追求隔离掉这些复杂技术手段,将它们掩埋于基础设施之中,到未来(有可能的)
2021-07-27 09:39:08
1780
原创 凤凰架构-介绍
周志明《凤凰架构:构建可靠的大型分布式系统》https://icyfenix.cn/作者,如何理解”可靠“的软件系统,架构演进的驱动力是什么。目录关于作者周志明如何构建一个大规模但依然可靠的软件系统架构演进的驱动力关于作者周志明程序员研究员计算机技术作家技术布道师职业是上市公司的高级管理人员,实际是一名兼职一些管理与研究工作的程序员。做技术不仅要去看、去读、去想、去用,更要去写、去说。终身学习让自己有个年轻的灵魂,终身锻炼让自己有个年轻的身体。如何构建一个大规模但依然可靠的软件
2021-07-26 14:17:01
3067
原创 ELK-合集
通过最近对ELK全家桶的学习和应用实践,总结成系列文章。如有疑问,欢迎私信,共同学习,一起成长。安利一下《Elastic Stack 实战手册》早鸟版首发,这是我最近才关注到的,写的很好https://developer.aliyun.com/topic/elasticstack/playbook文章合集ELK-实践(架构选择&部署说明)ELK-实践(业务框架&业务配置)ELK-加密通信的说明和配置教程Elasticsearch-介绍Elasticsearch-索引(Ind
2021-07-01 09:53:05
128
原创 ElastAlert-实践
目录基于Elastalert的二次开发规则配置建议支持钉钉报警报警实践转换为本地时区基于Elastalert的二次开发https://github.com/lights8080/elastalert forked from Yelp/elastalert修改内容大致如下:修改报警及日志的日期格式为%Y-%m-%d %H:%M:%S %Z集成钉钉报警(支持At、secret认证),参考example_rules/example_frequency_lights8080.yamlPercentag
2021-06-29 17:43:25
466
1
原创 ElastAlert-核心逻辑流程及源码解析
目录1、核心主流程及源码解析2、run_every、buffer_time、timeframe之间的关系3、num_hits、num_matches说明1、核心主流程及源码解析核心主流程:初始化ElastAlerter对象,并调用start():加载规则、并启动jobjob调用规则处理(handle_rule_execution):计算结束时间,run_rule,设置job下次执行时间run_rule:计算查询开始和结束时间,run_query,send_alert,回写索引run_query
2021-06-29 17:42:46
287
原创 ElastAlert-配置
目录全局配置(Configuration)规则配置(Rule Configuration)参考全局配置(Configuration)# Elasticsearch集群配置es_host:es_port:use_ssl:verify_certs:es_username:es_password:es_url_prefix:es_conn_timeout:# 设置检索rules和hashes的加载类rules_loader: 'FileRulesLoader'# 规则配置文件的文件夹的名
2021-06-28 11:05:07
608
原创 ElastAlert-介绍
目录一、Alerting With Elasticsearch特性可用性(Reliability)模块性(Modularity)二、Running ElastAlert安装命令测试规则(Testing Rule)运行(Running ElastAlert)三、Rule Types and Configuration OptionsRule TypesAlerts四、ElastAlert Metadata Indexelastalert_statuselastalertelastalert_errorsile
2021-06-28 11:04:02
967
原创 pyenv for Mac
目录安装命令参考pyenv for mac安装说明安装brew install pyenv# pyenv管理的Python命令目录添加到$PATHecho 'eval "$(pyenv init --path)"' >> ~/.bash_profile命令# 安装指定python版本pyenv install 3.6.9# 查看安装的python版本pyenv versions# 设置全局python版本pyenv global 3.5.2# 为本地环境设置py
2021-06-24 11:00:26
119
原创 Linux Shell
目录Shellshell环境shell介绍和shell环境Shellshell是用户使用Linux系统的一座桥梁,是一种命令语言。Shell 脚本(shell script)是一种为 shell 编写的脚本程序。业界所说的 shell 通常都是指 shell 脚本,但是shell 和 shell script是两个不同的概念。Linux Shell分类:Bourne Shell(/usr/bin/sh或/bin/sh)Bourne Again Shell(/bin/bash)C Shell(
2021-06-21 14:31:26
104
原创 Linux内存[buff/cache]占用过高分析和优化
问题现场查看系统内存的使用状态=监控报警可用内存空间不足,常规的解决方案如下:增加内存(增加成本)增加虚拟内存(影响性能)定期清理缓存(echo 1 > /proc/sys/vm/drop_caches)本文将介绍定期清除页面缓存,但是过会儿内存又被占满问题的分析。问题分析通过监控系统负载情况(vmstat 1),确定是页面缓存(cache项)占用量大,并且释放页面缓存后从块设备读入数据量(bi项)会马上增加。通过监控io情况(iostat -x -k 1)也可以看出
2021-05-19 19:44:49
5746
原创 OOM killer及Overcommit
目录OOM killerOvercommit(过量使用)参数调优OVERCOMMIT策略的可用内存判定相关命令参考OOM killerOOM killer(Out Of Memory killer)是Linux内核的一种内存管理机制,该机制在系统物理内存不足时,选择性(oom_killer遍历当前所有进程,根据进程的内存使用情况进行打分,然后从中选择一个分数最高的进程)杀死一些进程以释放内存,以使系统继续运行。Overcommit(过量使用)这个特性出于优化系统考虑,因为进程实际使用到的内存往往比申
2021-05-19 16:01:42
340
原创 ElastAlert-发送报警错误[AttributeError: ‘_thread._local‘ object has no attribute ‘alerts_sent‘]
目录报错说明解决步骤参考报错说明官网安装ElastAlert,发送报警,报错如下:ERROR:root:Traceback (most recent call last):File "/opt/pyenv/versions/elastalert_360/lib/python3.6/site-packages/elastalert-0.2.1-py3.6.egg/elastalert/elastalert.py", line 1451, in alertreturn self.send_alert(
2021-05-14 19:34:45
424
原创 ELK-架构&部署&实践总结
介绍业务规模和架构选择,以及部署说明和实践配置。基于7.11版本。目录业务规模架构选择部署说明&实践配置新建用户和修改文件夹权限修改系统配置ElasticsearchKibanaLogstashFilebeat业务规模业务每天查询量在千万级,采集数据的规模上亿(后续会更大)。单台Logstash,数据延迟并不大,肉眼可见的Logstash的数据处理能力架构选择ELK架构有很多种,这里简单列出常用的几个:架构1(最为简单)Logstash -> Elasticsearch.
2021-05-10 17:28:20
358
10
原创 ELK-加密通信的说明和配置教程
介绍Elasticsearch节点之间的加密通信、浏览器与Kibana之间的加密通信、Kibana与Elasticsearch之间的加密通信、操作步骤和配置说明。基于7.11。目录1 Elasticsearch加密通信1.1 Elasticsearch节点之间的加密通信1.2 HTTP客户端的加密通信2 Kibana通信加密2.1 浏览器与Kibana之间的加密通信2.2 Kibana与Elasticsearch之间的加密通信3 操作步骤4 参数配置1 Elasticsearch加密通信Elas.
2021-05-08 18:32:17
717
9
原创 Kibana-介绍
Kibana是一个开源分析和可视化平台,旨在与Elasticsearch协同工作。您使用Kibana搜索,查看和与存储在Elasticsearch索引中的数据进行交互。您可以轻松执行高级数据分析,并在各种图表,表格和地图中可视化您的数据。https://www.elastic.co/guide/en/kibana/7.11/index.html目录侧边栏Dashboard(仪表板)面板类型Alerts and Actions(监控警报)Graph(图形分析)Kibana通信加密加密浏览器与Kiban.
2021-04-30 16:48:36
493
2
原创 Beats-Filebeat命令&配置说明
介绍Filebeat命令、配置以及最佳实战。基于7.11版本。目录命令配置说明 filebeat.yml最佳实践调优命令export:导出配置到标准输出(configuration, index template, ILM policy, dashboard)keystore:管理秘钥仓库modules:管理模块配置run:运行Filebeat。不知道命令的情况下,默认使用此命令–modules MODULE_LIST:指定运行的模块setup:一次性初始化环境。包括索引模板,.
2021-04-29 13:24:10
1232
1
原创 Beats-Filebeat介绍
Filebeat介绍,包括工作方式、模块、如何避免数据重复、处理器的速查表。基于7.11版本。Beats是一款轻量级数据采集器,你可以将它作为代理程序安装在你的服务器上,然后将操作数据发送到 Elasticsearch。可以直接发送数据到 Elasticsearch 或者通过 Logstash,在那里你可以进一步处理和增强数据。Filebeat(日志文件)Metricbeat(指标)Heartbeat(可用性监控)Functionbeat(函数计算采集器)FilebeatFile.
2021-04-28 09:35:29
669
1
原创 Elasticsearch-文本分析(Text Analysis)
文本分析使Elasticsearch能够执行全文搜索,其中搜索返回所有相关结果,而不仅仅是精确匹配。文本通过标记化(tokenization)使全文搜索成为可能,将文本分解为标记的更小块。在大多数情况下,这些标记是单个单词。目录概念内置解析器概念分析器(无论是内置的还是自定义的)只是一个包,其中包含三个较低级别的构建块:字符过滤器(character filters),标记生成器(tokenizers)和标记过滤器(token filters)。索引和搜索分析器:文本分析发生在两次时间,索引时
2021-04-27 10:33:33
658
2
原创 Elasticsearch-安全特性(Security)
Elasticsearch安全特性,介绍加密通讯的基本原理、开启安全特性的操作步骤、如何生成节点证书、用户认证和相关概念等。基于7.11版本。目录安全特性1 加密通讯1.1 加密集群中节点之间的通信1.2 加密HTTP客户端通信1.3 生成节点证书2 用户认证3 相关概念4 参考文档安全特性Elastic Stack安全功能使您可以轻松保护集群。Elasticsearch集群保护方式:通过密码保护,基于角色的访问控制和IP过滤防止未经授权的访问。使用SSL/TLS加密保留数据的完整性。.
2021-04-26 11:55:35
1573
1
原创 Elasticsearch-聚合(Aggregations)
Elasticsearch聚合速查表,介绍指标聚合、桶分聚合、管道聚合的分类和聚合示例。基于7.11版本。目录聚合分类BucketMetricPipeline示例聚合将数据汇总为指标, 统计, 或其他分析。聚合分类Metric:指标聚合,从文档字段值中计算指标,如总和、平均值等Bucket:桶分聚合,根据字段值、范围或其他条件将文档分组为桶Pipeline:管道聚合,从其他的聚合结果作为输入BucketAdjacency matrix:邻接矩阵,获取矩阵每个组的计数Auto-i.
2021-04-26 10:06:51
637
原创 Elasticsearch-搜索(Search DSL)
Elasticsearch介绍查询搜索请求包含哪些选项,并介绍其中的Query DSL。包括语法说明、查询和过滤上下文、复合查询等和查询示例。基于7.11版本。搜索请求是对Elasticsearch数据流或索引中的数据信息的请求,包括以下自定义选项:Query DSL(查询语法)Aggregations(分组聚合)Search multiple data streams and indices(多数据流和索引搜索)Paginate search results(分页查询)Retrieve.
2021-04-25 17:17:17
423
原创 Elasticsearch-索引(Index)
Elasticsearch索引介绍,包括索引设置、索引模板、索引生命周期管理、翻滚索引。基于7.11版本。目录索引设置(Index Settings)staticdynamic索引模板(Index Templates)索引生命周期管理(Index Lifecycle Manager - ILM)索引生命周期(Index lifecycle)阶段转换(phase transitions)阶段执行(phase execution)阶段动作(phase actions)索引生命周期动作(Index Lif.
2021-04-07 18:53:02
786
原创 Elasticsearch-映射(Mapping)
目录动态映射(Dynamic mapping)显式映射(Explicit mapping)字段数据类型(Field data types)映射参数(Mapping parameters)映射限制设置(mapping limit settings)映射(Mapping)是定义文档及其包含的字段如何存储和索引的过程。每个文档都是字段的集合,每个字段都有自己的数据类型。为数据创建一个映射定义,包含与文档相关的字段列表。索引中定义太多字段会导致映射爆炸,从而导致内存不足错误和难以恢复的情况。在动态映射中,如果
2021-04-06 18:18:07
607
原创 Elasticsearch-介绍
Elasticsearch是一个分布式搜索和分析引擎,为所有类型的数据提供了近实时的搜索和分析。不仅可以进行简单的数据探索,还可以汇总信息来发现数据中的趋势和模式。随着数据和查询量的增长,分布式特性可以使部署顺畅的无缝的增长。目录1. 文档和索引文档(Document)索引(Index)倒排索引(inverted index)2. 搜索和分析搜索(Search)分析(Analyze)3. 可伸缩和弹性集群(Cluster)节点(Node)分片(Shard)跨集群复制(Cross-cluster repli
2021-04-02 13:35:43
362
1
原创 Logstash-配置
Logstash配置介绍、插件说明、配置说明、高级配置、命令说明基于7.11版本。https目录一、配置Logstash1. 在配置中访问事件数据和字段引用事件数据和字段sprintf格式化条件@metadata字段二、插件说明Input pluginsFilter pluginsOutput plugins三、配置说明logstash.yml四、高级配置1. 多管道配置(multiple pipelines configuration)2. 管道到管道的通信(pipeline-to-pipeline
2021-03-24 16:57:24
649
原创 Logstash-介绍
目录介绍如何工作inputs(输入阶段)filters(过滤器阶段)outputs(输出阶段)Codecs(解码器)1. 工作原理2. 事件顺序Logstash 模块弹性数据持久队列工作原理页检查点死信队列工作原理部署和扩展Beats to ElasticsearchBeats and Logstash to
2021-03-24 16:46:33
669
原创 Spring Cloud Gateway与后端服务问题处理总结
目录问题1(Connection prematurely closed BEFORE response)问题2(浪涌导致网关报错分析)问题1(Connection prematurely closed BEFORE response)后端服务偶尔报错Connection prematurely closed BEFORE response。这个问题的产生原因和解决办法网上很容易找到。我这里只贴出问题原理图和解决办法。详细说明请参考https://javazhiyin.blog.youkuaiyun.com/ar
2021-02-09 15:02:03
7856
原创 生产环境的一次JVM调优过程
目录问题背景分析过程优化思路问题背景机器负载截图:进程截图:启动参数:java -jar -Xms2048m -Xmx4096m -Xss256k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=4096m -XX:NewSize=1920m -XX:MaxNewSize=4096m -XX:SurvivorRatio=6 -XX:+UseParNewGC -XX:ParallelGCThreads=8 -XX:MaxTenuringThreshold=
2021-02-05 17:56:07
443
原创 spring cloud gateway [DataBufferLimitException: Exceeded limit on max bytes to buffer : 262144]
spring cloud gateway [DataBufferLimitException: Exceeded limit on max bytes to buffer : 262144]问题背景分析过程解决办法问题背景线上环境spring cloud gateway偶尔遇到如下异常:DataBufferLimitException: Exceeded limit on max bytes to buffer : 262144问题的产生原因很容易查到,REST API接口请求数据超过256K,被网
2021-02-04 21:21:54
5227
4
原创 事务隔离级别解读
本文仅供学习和参考事务http://www.cnblogs.com/jackal/archive/2011/02/14/1954231.html目录:1、原则2、隔离级别3、隔离级别所允许的并发问题1、原则原子性(Atomic),一致性(Consistency),隔离性(Isolation),持久性(Durability)
2013-05-16 14:21:38
661
原创 分布式与集群的联系和区别
分布式与集群的联系和区别分布式强调的同一个业务被分拆成不同的子业务,被部署在不同的服务器上(可能是性能的问题,也可能是安全的问题,也可能是模块对服务器的需求不同的问题将业务进行分解),服务器可以跨域也可以同域。而集群偏重平行处理,一台服务器不能提供足够的能力,而采用多台服务器并行处理一个问题。共同点:都是为了提升单位时间内工作效率分布式是指将
2013-05-16 14:02:23
545
Maven安装和使用说明文档
2016-09-09
建立数据库不一定要遵循三范式
2008-09-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人