首页 文章 精选 留言 我的

精选列表

搜索[接口调试],共10000篇文章
优秀的个人博客,低调大师

elasticsearch监控相关接口

转自官网:https://www.elastic.co/guide/en/elasticsearch/reference/1.6/cat.html 转自csdn:http://blog.csdn.net/yangwenbo214/article/details/74000458 转自cnblogs:https://www.cnblogs.com/smail-bao/p/7448392.html Cluster Health The cluster health API allows to get a very simple status on the health of the cluster. $ curl -XGET 'http://localhost:9200/_cluster/health?pretty=true' The API can also be executed against one or more indices to get just the specified indices health: $ curl -XGET 'http://localhost:9200/_cluster/health/test1,test2' Cluster State The cluster state API allows to get a comprehensive state information of the whole cluster. As the cluster state can grow (depending on the number of shards and indices, your mapping, templates), it is possible to filter the cluster state response specifying the parts in the URL. $ curl -XGET 'http://localhost:9200/_cluster/state/{metrics}/{indices}' A couple of example calls: # return only metadata and routing_table data for specified indices $ curl -XGET 'http://localhost:9200/_cluster/state/metadata,routing_table/foo,bar' # return everything for these two indices $ curl -XGET 'http://localhost:9200/_cluster/state/_all/foo,bar' # Return only blocks data $ curl -XGET 'http://localhost:9200/_cluster/state/blocks' Cluster Stats The Cluster Stats API allows to retrieve statistics from a cluster wide perspective. The API returns basic index metrics (shard numbers, store size, memory usage) and information about the current nodes that form the cluster (number, roles, os, jvm versions, memory usage, cpu and installed plugins). curl -XGET 'http://localhost:9200/_cluster/stats?human&pretty' Pending cluster tasks The pending cluster tasks API returns a list of any cluster-level changes (e.g. create index, update mapping, allocate or fail shard) which have not yet been executed. $ curl -XGET 'http://localhost:9200/_cluster/pending_tasks' Cluster Reroute The reroute command allows to explicitly execute a cluster reroute allocation command including specific commands. For example, a shard can be moved from one node to another explicitly, an allocation can be canceled, or an unassigned shard can be explicitly allocated on a specific node. Cluster Update Settings Allows to update cluster wide specific settings. Settings updated can either be persistent (applied cross restarts) or transient (will not survive a full cluster restart). Nodes Stats The cluster nodes stats API allows to retrieve one or more (or all) of the cluster nodes statistics. curl -XGET 'http://localhost:9200/_nodes/stats' curl -XGET 'http://localhost:9200/_nodes/nodeId1,nodeId2/stats' The first command retrieves stats of all the nodes in the cluster. The second command selectively retrieves nodes stats of onlynodeId1andnodeId2 Nodes Info The cluster nodes info API allows to retrieve one or more (or all) of the cluster nodes information. curl -XGET 'http://localhost:9200/_nodes' curl -XGET 'http://localhost:9200/_nodes/nodeId1,nodeId2' The first command retrieves information of all the nodes in the cluster. The second command selectively retrieves nodes information of onlynodeId1andnodeId2. All the nodes selective options are explainedhere. By default, it just returns all attributes and core settings for a node. It also allows to get only information onsettings,os,process,jvm,thread_pool,network,transport,httpandplugins: curl -XGET 'http://localhost:9200/_nodes/process' curl -XGET 'http://localhost:9200/_nodes/_all/process' curl -XGET 'http://localhost:9200/_nodes/nodeId1,nodeId2/jvm,process' # same as above curl -XGET 'http://localhost:9200/_nodes/nodeId1,nodeId2/info/jvm,process' curl -XGET 'http://localhost:9200/_nodes/nodeId1,nodeId2/_all The_allflag can be set to return all the information - or you can simply omit it. plugins- if set, the result will contain details about the loaded plugins per node: name: plugin name description: plugin description if any site:trueif the plugin is a site plugin jvm:trueif the plugin is a plugin running in the JVM url: URL if the plugin is a site plugin Nodes hot_threads An API allowing to get the current hot threads on each node in the cluster. Endpoints are/_nodes/hot_threads, and/_nodes/{nodesIds}/hot_threads. The output is plain text with a breakdown of each node’s top hot threads. Nodes Shutdown The nodes shutdown API allows to shutdown one or more (or all) nodes in the cluster.

优秀的个人博客,低调大师

Visual Studio 2013 如何使用TitanEngine引擎库调试

前文已详细讲解泰坦引擎的编译生成方法,本章将进阶实操泰坦引擎应用开发,聚焦零基础实现C++调用泰坦引擎、进程附加分析核心能力。本文基于静态链接库模式编译生成的TitanEngine.lib库,搭配官方TitanEngine.h头文件完成环境配置,以打印PE节表信息为实战案例,手把手讲解C++接入泰坦引擎、实现简单进程附加分析的完整流程,补齐泰坦引擎从编译搭建到功能落地的实操教程,帮助开发者快速掌握引擎调用与基础逆向分析技巧。

优秀的个人博客,低调大师

GaussDB分区表DQL/DML业务报错调试

问题现象 使用分区表进行DQL/DML业务,出现业务报错。 原因分析 导致分区表DQL/DML业务报错的原因有很多,需要根据具体的报错内容和报错的业务模型,来判断属于哪些场景。 这里列出一些常见的报错场景: 开启行迁移开关后,并发UPDATE/DELETE报错 关闭行迁移开关后,跨分区更新导致的报错 插入数据无法路由到已有分区导致的报错 处理方法 判断是否为开启行迁移开关导致的并发UPDATE/DELETE报错 报错场景 如果业务报错为以下两种场景之一,则说明为开启行迁移开关导致的并发UPDATE/DELETE报错。 --UPDATE业务报错 ERROR: partition table update conflict DETAIL: disable row movement of table can avoid this conflict --DELETE业务报错 ERROR: partition table delete conflict DETAIL: disable row movement of table can avoid this conflict 原因分析 开启行迁移开关后,允许通过更新分区键的方式,将数据从一个分区更新到另一个分区;关闭行迁移开关后,如果业务试图将数据从一个分区更新到另一个分区,则业务会抛出报错。 开启/关闭行迁移开关的方法是创建分区表时申明ENABLE/DISABLE ROW MOVEMENT子句。也可以通过ALTER TABLE命令来修改: --开启分区表t1的行迁移开关 ALTER TABLE t1 ENABLE ROW MOVEMENT; --关闭分区表t1的行迁移开关 ALTER TABLE t1 DISABLE ROW MOVEMENT; 开启行迁移开关后,并发UPDATE/DELETE业务可能会报错。原因如下: UPDATE和DELETE操作对于旧数据都是标记为已删除。在打开行迁移开关情况下,如果更新分区键时,导致了跨分区更新,内核会把旧分区中旧数据标记为已删除,在新分区中新增加一条数据,无法通过旧数据找到新数据。 在UPDATE和UPDATE并发、DELETE和DELETE并发、UPDATE和DELETE并发三个并发场景下,如果并发操作同一行数据时,数据跨分区和非跨分区结果有不同的行为。 对于数据非跨分区结果,第一个操作执行完后,第二个操作不会报错。 如果第一个操作是UPDATE,第二个操作能成功找到最新的数据,之后对新数据操作。 如果第一个操作是DELETE,第二个操作看到当前数据已经被删除而且找不到最新数据,就终止操作。 对于数据跨分区结果,第一个操作执行完后,第二个操作会报错。 如果第一个操作是UPDATE,由于新数据在新分区中,第二个操作不能成功找到最新的数据,就无法操作,之后会报错。 如果第一个操作是DELETE,第二个操作看到当前数据已经被删除而且找不到最新数据,但无法判断删除旧数据的操作源于UPDATE还是DELETE。如果是UPDATE,报错处理。如果是DELETE,终止操作,为了保持数据的正确性,同样报错处理。 处理方法 如果业务明确不存在跨分区更新分区键的业务,可以关闭关闭行迁移开关。 如果业务确实存在跨分区更新分区键的业务,需要串行执行业务才能解决问题;或者考虑更换分区键。 判断是否为关闭行迁移开关导致的跨分区更新报错 报错场景 如果业务报错为以下场景,则说明为关闭行迁移开关导致的跨分区更新报错。 ERROR: fail to update partitioned table "t1" DETAIL: disable row movement 原因分析 关闭行迁移开关后,如果业务试图将数据从一个分区更新到另一个分区,则业务会抛出报错。 处理方法 如果业务确实存在跨分区更新分区键的业务,可以考虑打开行迁移开关,但需考虑是否可能会存在并发报错场景;或者考虑更换分区键。 判断是否为插入数据无法路由到已有分区导致的报错 报错场景 如果业务报错为以下场景,则说明为插入数据无法路由到已有分区导致的报错。 ERROR: inserted partition key does not map to any table partitiont 原因分析 导致这种场景出现的原因一般有两种,一种是因为分区定义不合理导致的业务异常,另一种是分区键类型设计不合理导致的比较异常。 分区定义不合理是指业务定义的分区结构无法满足全量表数据的匹配,有部分数据不属于任一已有分区。比如下面的业务就会抛出这种报错: CREATE TABLE t1 ( c1 integer, c2 integer ) PARTITION BY RANGE (c1) ( PARTITION p1 VALUES LESS THAN (100), PARTITION p2 VALUES LESS THAN (200) ) DISABLE ROW MOVEMENT; INSERT INTO t1 VALUES(1,1),(201,1); 分区键类型设计不合理是指使用了不合理的分区键类型,导致数据的比较规则并不符合用户预期场景。比如按照字典序规则,字符串’9’比’100’大。下面的业务就会抛出这种报错: CREATE TABLE t1 ( c1 varchar, c2 integer ) PARTITION BY RANGE (c1) ( PARTITION p1 VALUES LESS THAN ('100'), PARTITION p2 VALUES LESS THAN ('200') ) DISABLE ROW MOVEMENT; INSERT INTO t1 VALUES('9',1); 处理方法 如果是分区定义不合理导致的业务异常,需要重新设计分区结构。可以使用分区DDL命令,比如ADD分区、SPLIT分区、MERGE分区等来调整分区结构。 如果是分区键类型设计不合理导致的比较异常,目前不支持修改分区键所在列的类型,需要重新创建分区表。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册