使用netstat -lntp来看看有侦听在网络某端口的进程。当然,也可以使用 lsof。

es一台服务器部署两个节点需要注意哪些问题?

Elasticsearch | 作者 Leeeo | 发布于2019年01月14日 | 阅读数:5717

我们现在的集群(由3个节点组成)问题是:CPU利用率不超过50%,load负载不超过一半,但是某一时刻会发生get请求被拒绝的情况
log日志信息如下:
[2019-01-13T18:47:25,318][DEBUG][o.e.a.g.TransportGetAction] [node-***] null: failed to execute [get [myindex_name][_doc][50650409]: routing [null]]
org.elasticsearch.transport.RemoteTransportException: [node-***][*.*.*.*:9300][indices:data/read/get[s]]
Caused by: org.elasticsearch.common.util.concurrent.EsRejectedExecutionException: rejected execution of org.elasticsearch.transport.TcpTransport$RequestHandler@13b8f51 on EsThreadPoolExecutor[name = node-***/get, queue capacity = 1000, org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor@6c611c6e[Running, pool size = 24, active threads = 24, queued tasks = 1000, completed tasks = 8002224]]
 
get队列满了,所以get请求被拒绝。
现在我想既然资源没有100%利用,是不是可以在同一台服务器上部署 两个节点,从而增大get的请求 并发数。
如果这样可以缓解问题的话,那么同一台服务器 部署两个节点 需要注意什么呢?
 
我记得以前看过相关文档,数据不能分布在同一服务器上。
还有 processor 也许可以设置成cpu数的 一半(但是我不想改这个数)
已邀请:

zqc0512 - andy zhou

赞同来自: Leeeo

这玩意要测试的。你内存大的话可以搞多个节点,还有多硬盘,一般一个节点可以只分配一块硬盘。看配置。
cluster.routing.allocation.same_shard.host 这玩意要true

要回复问题请先登录注册