elasticsearch多个nic绑定网络接口

Sum*_*Sky 5 configuration nic network-programming elasticsearch

介绍

配置elasticsearch时遇到绑定侦听接口的问题.不知何故,文档没有提供如何设置多个网络接口(网络def绑定def)

问题描述

我的目的是设置network.bind_hostas _eth1:ipv4__local_

即使在尝试设置bind_host_local_仅时,弹性搜索端口9200仍然只能通过eth1到达(当然我已重新启动服务器)

解决方案尝试

我已经通过设置netcat服务器测试了防火墙配置,这个服务器完全适用于该端口

所以这导致2个问题:

  1. 如何配置多个网卡?(表示法是什么?)
  2. 我需要改变network.publish_host吗?!

.

  • 还有其他指针吗?

目前的配置:

network.bind_host:    _eth1:ipv4_
network.publish_host: _eth1:ipv4_
network.host:         _eth1:ipv4_
Run Code Online (Sandbox Code Playgroud)

还测试了配置:

network.bind_host:    _local_
network.publish_host: _eth1:ipv4_
network.host:         _local_
Run Code Online (Sandbox Code Playgroud)

PS:afaik,publish_host是服务器间通信的关键词

yai*_*air 5

  1. 使用YAML列表获取所需属性:

    network.bind_host:
      - _local_
      - _en0:ipv4_
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如果我理解这个答案,publish_host应该是_eth1:ipv4_.您publish_host必须是elasticsearch通过该bind_host属性绑定的接口之一.


以上链接的答案实际上很棒,所以我必须在这里引用它:

"bind_host"是Elasticsearch节点在启动网络时在套接字绑定调用中使用的主机.由于套接字编程模型,您可以"绑定"到一个地址.通过引用"地址",套接字允许访问一个或所有底层网络设备.有几个具有预定义语义的地址,例如0.0.0.0保留用于"绑定到所有网络设备".因此"bind_host"地址不一定反映单个唯一地址.

"publish_host"必须是唯一的唯一网络地址.它用于其他节点的连接调用,而不是节点本身的套接字绑定调用.通过使用"publish_host",所有节点和客户端都可以确保它们可以连接到此节点.将此唯一地址声明为外部可以解释为"发布",因此称为"publish_host".

您不能将"bind_host"和"publish_host"设置为任意值,这些值必须符合底层套接字模型.