说明:ES部署了3个节点,而一般情况只要这三个节点的IP其中一个都可以连接,Web端口使用的是9500,Client连接使用的是9600,调用程序使用了ES原生Client进行连接。

解决方法:

1、出现这样的问题,一般检查集群名称和IP是否填写正确。

2、注意,比如提供的IP能Telnet成功,但不一定代表能正常使用Client进行连接。

3、我猜测Client的原理:如果在构造Client对象时,传入了一个IP之后且连接成功后,ES会返回整个集群的IP给Client,此时的Client会逐个进行连接。

4、如果定位到IP问题之后,建议直接使用内网IP,也就是ES使用的IP进行连接来排查是不是IP问题。

问题解决过程分析:

1、由于生成环境的部署结构复杂且要考虑安全性,所以一般会做很多措施,而提供连接的IP并非是真实ES的内网IP,而其余集群的内网IP不一定能开放访问。

2、使用netstat -tnp | grep SYN分析出有多少IP在等待连接的,从而分析出到底是不是一直在连接集群中的内网IP。

3、分析出Client在通过提供的不是ES的内网IP连接之后还会连接ES真实的内网IP时,就应该是第一次Client连接ES成功后返回的IP列表,ES通知Client通过这些IP连接ES;解决方法可以这样:在Linux下使用iptables进行IP转发,比如提供的IP为192.168.1.2:9600,而ES集群的IP为(192.168.3.2/192.168.3.3/192.168.3.4),那么执行将192.168.3.2~的全部IP转发到192.168.1.2中。iptables转发参考:http://www.cnblogs.com/EasonJim/p/7589394.html

后话:

没错,我已经入坑了,现在持续填坑中。

最新文章

  1. GitHub for Windows 內建 Git Shell 執行時顏色所代表的意義
  2. [Xamarin] 從Xamarin中呼叫 *.jar 的 library -建立.jar篇 (转帖)
  3. POSIX, Bash, GPL etc
  4. (一)s3c2440 地址分配讲解 (很难很纠结)
  5. linux与windows的不同
  6. Karel运行环境配置
  7. linear model for classification
  8. Scala学习笔记--Actor和并发
  9. Python之路:堡垒机实例以及数据库操作
  10. php笔记一
  11. 通过ajax前端后台交互/登录页和注册页前端后台交互详解/前端后台交互基础应用/几个后台函数的基础应用/php文件函数基础应用/php字符传函数基础应用/php数组函数基础应用
  12. WPF编程-WPF体系结构
  13. DevExpress VCL 的 cxDBTreeList 的使用方法
  14. Numpy 索引
  15. 部署OpenStack问题汇总(四)--openstack中nova-compute状态status显示为'XXX'的问题
  16. 微信 weui 初体验
  17. git 忽略文件.gitignore
  18. str和repr
  19. Yii CDbCriteria类中方法
  20. 20145231 《Java程序设计》第一周学习总结

热门文章

  1. Centos7下redis设置密码、开放远程访问权限
  2. [BZOJ1391]解题报告|网络流的又一类建图&Dinic的若干优化
  3. [POJ2187][BZOJ1069]旋转卡壳
  4. 1210笔记//关于导航实例-QQ空间//导航实例-storyboard实现//控制器的生命周期//控制器的生命周期方法
  5. wx.ScrolledWindow wx.PseudoDC
  6. OpenWRT介绍
  7. UVALIVE 2686 Stargates
  8. postman接口间关联
  9. iOS开发-Runloop详解(简书)
  10. JVM垃圾收集规则和算法