我正在使用 ES v7.3 并使用切片从 ES 流式传输数据,但我观察到,在我们流式传输数据几次后,一些滚动上下文保持打开状态,并且它们保持打开状态数天,并且不会过期或终止,因此搜索继续进行,并且观察到 CPU 峰值较高。此外,在日志中我们还收到以下消息
[2020-02-07T06:49:33,559][DEBUG][o.e.a.s.TransportSearchScrollAction] [ip-1-0-104-220] [1234717] Failed to execute query phase
org.elasticsearch.transport.RemoteTransportException: [ip-1-0-104-220][1.0.104.220:9300][indices:data/read/search[phase/query/scroll]]
Caused by: org.elasticsearch.search.SearchContextMissingException: No search context found for id [1234717]
at org.elasticsearch.search.SearchService.getExecutor(SearchService.java:462) ~[elasticsearch-7.3.1.jar:7.3.1]
at org.elasticsearch.search.SearchService.runAsync(SearchService.java:344) ~[elasticsearch-7.3.1.jar:7.3.1]
at org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:401) ~[elasticsearch-7.3.1.jar:7.3.1]
at org.elasticsearch.action.search.SearchTransportService.lambda$registerRequestHandler$10(SearchTransportService.java:367) ~[elasticsearch-7.3.1.jar:7.3.1]
at org.elasticsearch.xpack.security.transport.SecurityServerTransportInterceptor$ProfileSecuredRequestHandler$1.doRun(SecurityServerTransportInterceptor.java:257) [x-pack-security-7.3.1.jar:7.3.1]
Run Code Online (Sandbox Code Playgroud)
如果我们缺少索引级别的任何设置,我们将请求是否有人可以指导我们,我们应该强制执行这些设置,以便这些打开的上下文在达到超时后被杀死或过期。
要检查和删除打开的上下文,我分别使用以下命令,
GET _nodes/stats/indices?filter_path=**.open_contexts
DELETE /_search/scroll/_all
Run Code Online (Sandbox Code Playgroud)
此外,我的超时是,
exports.ELASTICSEARCH = {
PARALLEL_SLICES : 2,
SCROLL_ALIVE_TIME : '5m',
SLICE_ALIVE_TIME : '1m',
SCROLL_SIZE : 10000,
REQUEST_RETRY_COUNT : 5,
REQUEST_TIMEOUT : 120000, // in milliSecond
ERROR_RETRY_COUNT : 3
};
Run Code Online (Sandbox Code Playgroud) 我正在使用 Cassandra 3.0.15v 并想使用 scylla 提供的 sstableloader 实用程序将我的数据移动到 scylla db 3.3.0v,我尝试了不同的方法,但我无法做到。
表架构是,
CREATE TABLE events.test (
"Id1" text,
"Id2" text,
"event" set<text>,
PRIMARY KEY ("Id1", "Id2")
)
WITH CLUSTERING ORDER BY ("Id2" ASC)
AND bloom_filter_fp_chance = 0.01
AND caching = {'keys': 'ALL', 'rows_per_partition': 'ALL'}
AND comment = ''
AND compaction = {'class': 'SizeTieredCompactionStrategy'}
AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'}
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval …Run Code Online (Sandbox Code Playgroud) 我目前正在使用 gp2 弹性卷,我想在 AWS 中升级到 io1 卷以获得高 iops 几天,现在我想知道一旦升级它,几天后我是否能够将其降级回 gp2 并如果可能的话,他们是否会丢失任何数据或可能出现任何此类情况,请提供帮助。
我知道如何升级音量,但我不确定是否要降级,所以如果有人尝试过,请提供帮助。
当前音量:gp2
我用这个命令来升级:
aws ec2 modify-volume --volume-type io1 --iops 10000 --size 200 --volume-id vol-1
Run Code Online (Sandbox Code Playgroud)
降级的适当方法应该是什么。
我定期在 s3 存储桶中拍摄 ES 集群的快照,因此我想知道,如果我从集群中删除旧文档并定期添加新文档,那么在拍摄快照后,ES 如何处理这种情况(无论文档如何)也从我以前的快照中删除,或者 ES 如何保留我的文档的备份。请解释?
我想知道我的文档在elasticsearch中的创建时间,是否有任何元字段保存此信息,或者如果不存在那么我该如何实现它。
我每次都会发出更新插入请求,因此无法提供时间。
更新插入请求是:
POST test/_update/document_id
{
"doc": {
"field1": "value1",
"field2": "value2",
"field3": "value3",
"relationship": {
"parent": "child"
}
},
"doc_as_upsert": "true"
}
Run Code Online (Sandbox Code Playgroud)
使用elasticsearch npm 和以下代码:
esDoc.doc['relationship'] = { name: "test" };
esDoc['doc_as_upsert'] = true;
bulkQueue.add({ update: { _index: ES_INDEX_PREFIX + testId, _id: _id } }, esDoc)
Run Code Online (Sandbox Code Playgroud)