elasticsearch集群访问中的通信问题
摘要:在KVM虚拟化环境中搭建3节点ES集群时,因忘记添加桥接网卡导致集群无法识别主机。分析发现域名通信可能存在问题,尽管9300端口通信正常。解决方案包括:1)改用内网IP地址通信,修改network.bind_host和network.publish_host配置;2)配置Nginx反向代理,将ES请求转发到内网9200端口。最终实现通过WiFi直连访问内网KVM虚拟机中的ES服务页面,目前暂
项目场景:
在一个kvm虚拟机化的环境中、要搭建一个3节点的es集群、搭建完成后、发现忘记添加桥接网卡,于是关闭其中安装了head插件的机器来添加桥接网卡,便于我从当前WiFi的网络环境中访问
问题描述
添加完网卡重启之后、集群不能识别到这台主机
原因分析:
1.网络配置中一开始使用的域名通信,虽然监听网卡配置的0.0.0.0,但是仍然可能在我添加网卡之后出现、通信问题,具体什么问题测试发现、与其他主机的9300通信都是正常的,就是集群检查时找不到这台主机
解决方案:
1.明确使用内网网卡通信、换主机名为具体的IP地址、进行内网初始化、其他机器也使用IP通信,修改完成后先启动本机服务、再启动其他机器
2.发布的时候使用内网地址发布network.bind_host: ["192.168.122.130","192.168.71.19"]
network.publish_host: 192.168.122.130
grep -Ev "(#|^$)" /etc/elasticsearch/elasticsearch.yml
cluster.name: my-es
node.name: es01
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.bind_host: ["192.168.122.130","192.168.71.19"]
network.publish_host: 192.168.122.130
discovery.seed_hosts: ["192.168.122.130", "192.168.122.145", "192.168.122.200"]
cluster.initial_master_nodes: ["es01", "es02","es03"]
配置nginx反向代理
将对本机es开头的访问、全代理到本机内网网卡的9200端口
[root@es01 ~]# cat /etc/nginx/default.d/esproxy.conf
location /es/ {
proxy_pass http://192.168.122.130:9200/;
}
结果如下图
实现目标:通过WiFi直连网段、访问内网kvm虚拟机中的服务页面,暂时没有添加数据和绘制图形
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)