Elasticsearch 集群网络配置实例

网络配置

在elasticsearch中,客户端通过http与es进行通信;es集群节点间主要通过transport进行通信。

在不同的网络环境下,需要进行相应的网络配置调整。

简单网络环境

单网卡

假设只有一个网络接口A,IP地址为176.33.2.101、http通信端口9200、transport通信端口9300。

# 监听的IP
network.host: 176.33.2.101

# 监听的tcp端口
http.port: 9200

# 监听的tcp端口
transport.port:9300
NAT或者代理

在上述单网卡示例的基础上,存在NAT或者代理时,需要针对NAT进行端口配置。

如Docker启动ES实例使用桥接网络时,便存在NAT。假设现在容器配置为,通过外部9002端口映射到容器内部的http端口9200;通过外部9003端口映射到容器内部的transport端口9300。

网络配置

# 监听所有网络接口
network.host: 0.0.0.0

# 监听的tcp端口
http.port: 9200

# 发布的http通信端口,告诉客户端与其他节点,使用9002与自己通信
http.publish_port: 9002

# 发布的http通信地址,告诉客户端与其他节点,使用该地址与自己通信
http.publish_host: 176.33.2.101

# 监听的tcp端口
transport.port:9300

# 发布的transport通信端口,告诉其他节点,使用9003与自己通信
transport.publish_port: 9003

# 发布的transport通信地址,告诉其他节点,使用该地址与自己通信
transport.publish_host: 176.33.2.101

复杂网络环境

多网卡

假设存在两个网络接口A、B,对应的IP地址为176.33.2.101和176.33.2.102。其中,客户端通过网络接口A与节点进行通信,通信端口为9200;节点间通过网络接口B进行通信,通信端口为9300。

网络配置

# 监听A、B两个网络接口
network.host: 0.0.0.0

# 监听的tcp端口
http.port: 9200

# 发布的http通信地址,告诉客户端与其他节点,使用该地址与自己通信
http.publish_host: 176.33.2.101

# 监听的tcp端
transport.port: 9300

# 发布的transport通信地址,告诉其他节点,使用该地址与自己通信
transport.publish_host: 176.33.2.102
NAT或者代理

在上述多网卡的基础上,又存在NAT(网络地址转换)或者代理时。这意味着,不管是与客户端通信还是与节点间通信,都需要先经过NAT或代理,不能直接访问节点。

如Docker启动ES实例使用桥接网络时,便存在NAT。假设容器配置为,通过外部9002端口映射到容器内部的http端口9200;通过外部9003端口映射到容器内部的transport端口9300。

网络配置

# 监听所有网络接口
network.host: 0.0.0.0

# 监听的tcp端口
http.port: 9200

# 发布的http通信端口,告诉客户端与其他节点,使用9002与自己通信
http.publish_port: 9002

# 发布的http通信地址,告诉客户端与其他节点,使用该地址与自己通信
http.publish_host: 176.33.2.101

# 监听的tcp端口
transport.port: 9300

# 发布的transport通信端口,告诉其他节点,使用9003与自己通信
transport.publish_port: 9003

# 发布的transport通信地址,告诉其他节点,使用该地址与自己通信
transport.publish_host: 176.33.2.102
posted @   cd_along  阅读(111)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示