美文网首页
Elasticsearch节点间通信基础--Transport(

Elasticsearch节点间通信基础--Transport(

作者: Ombres | 来源:发表于2019-06-25 21:08 被阅读0次

    Transport

    概念

    Transport用于集群内节点之间的内部通信,从一个节点到另一个节点的每次调用都使用Transport。

    特点

    Transport的消息传输是异步通信,在通信的过程中,不会有等待的线程。Elasticsearch使用这种机制可以有效避免C10K(同时处理10000个连接)的问题,而且是广播和收集的一种理想性的解决方案。在Elasticsearch中,很多操作都涉及到了在多个节点之前的交互,比如搜索,索引等等。

    相关设置

    1. transport.port 端口号,默认是9300-9400
    2. transport.publish_port 对外公布的端口,默认与transport.port相同
    3. transport.host host地址,默认为network.host
    4. transport.bind_host service绑定的地址,默认是transport.hostnetwork.bind_host
    5. transport.publish_host 集群通信的地址,默认是transport.hostnetwork.publish_host,有且只有一个
    6. transport.connect_timeout 连接超时时间
    7. transport.compress 是否在传输时进行压缩
    8. transport.ping_schedule ping消息间隔时间,用来确认transport是否可用,默认是5s,可用设置为-1来代表禁止ping

    配置优化

    1. 节点间保持连接很重要,因此尽量让transport连接不中断,transport.ping_schedule可用定时检测连接的可用性
    2. 一般来说,集群节点之间的交互是本地的,相对网络带宽资源,CPU资源更重要,transport.compress配置设置为false可用减少资源损耗。
    3. 有时候需要排查transport的问题,可用通过以下设置进行日志跟踪,这个配置是临时生效的
    PUT _cluster/settings
    {
       "transient" : {
          "logger.org.elasticsearch.transport.TransportService.tracer" : "TRACE",
          "transport.tracer.include" : "*",   #跟踪哪些操作
          "transport.tracer.exclude" : "internal:coordination/fault_detection/*"   #不跟踪哪些操作
       }
    }
    

    相关文章

      网友评论

          本文标题:Elasticsearch节点间通信基础--Transport(

          本文链接:https://www.haomeiwen.com/subject/tzozxctx.html