在开始前先来介绍下背景:我的日志采集系统采用ELK(logstash(收集)、elasticsearch(存储+搜索)、kibana(展示)三个软件的简称)开源架构,在elasticsearch搭建了三台Linux节点,IP地址分别为:10.0.48.108,10.0.48.97,10.0.48.98,elasticsearch 2.4.6和kibana4.5.4部署在前两个节点服务器上,logstash2.3.1部署在最后一台服务器上,部署过程遇到许多问题,特意记录下来,以后有新的问题出现也会持续更新。

一、问题1

  今天在启动集群的时候108节点上出现ES【elasticsearch 集群健康值未连接】问题,而97上的ES能正常启动情况下我们用head插件查看elasticsearch集群状态如下图:

(图1)

  出现这个问题,我最先想到的是去重启该节点,通过命令:service elasticsearch restart,然后用命令:service elasticsearch status查看ES的状态,返回的状态结果如下:

[[WARN ][transport.netty          ] [NODENAME] exception caught on transport layer [[id: 0x9634070f]], closing connection
java.net.NoRouteToHostException: No route to host
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:)
at org.elasticsearch.common.netty.channel.socket.nio.NioClientBoss.connect(NioClientBoss.java:)
at org.elasticsearch.common.netty.channel.socket.nio.NioClientBoss.processSelectedKeys(NioClientBoss.java:)
at org.elasticsearch.common.netty.channel.socket.nio.NioClientBoss.process(NioClientBoss.java:)
at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:)
at org.elasticsearch.common.netty.channel.socket.nio.NioClientBoss.run(NioClientBoss.java:)
at org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:)
at org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$.run(DeadLockProofWorker.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:)

  

  从提示来看是因为找不到路由的原因,首先想到问题可能的原因是防火墙原因导致的,然而我在配置的时候已经打开了9200,9300等ES用到的端口,一时也不知道怎么解决,然后就去Google了一下错误提示,找到的答案都是关闭防火墙,居然都这么说,我就是去关闭了防火墙,不过很显然是毫无作用。后来看到又看到有人说是selinux安全策略导致的,于是也去用命令:setenforce 0关闭了,还是不起作用。到此一直折腾这个问题很久,都没找到最终解决方法,最后还是在这里看到有人说可能是一个系统bug,但是应该不影响ES启动才对,仔细一些它也对,它仅仅是一个警告(WARN)级别的提示,由此我才从这个坑里面退了出来。

  居然不是这个问题,那么就肯定是其他啥原因了,可是一直找啊找就是不知道啥问题啊,看日志每秒钟写进去的都是刚刚那个警告信息,没有其他错误啊,到这里彻底绝望!最后实在没办法只有重装ES咯,不过还要ES中写入的数据不会清空。然后重装,配置,居然还真就可以了,这真是奇妙,不过问题原因我还是不知道,于是我就回想最近对Linux系统的一些操作,后来终于想起我前些天把JDK给卸载了,重新安装了一个新的,我猜测SE安装前就关联了JAVA的,如果后来改变了,那就会影响到SE。

二、解决问题后的思考

(1)有时候看到的错误提示,可能不是我们想要的东西,只是表象,解决问题的时候不要钻牛角尖

(2)在生产系统的话,任何可能的操作都可能影响其他系统,还好我这里是测试环境,以后一定要注意

(3)解决问题的时候要多尝试,不要怕麻烦,像我这里重装ES也是实在没办法才选择的,如果早一点这么选择,我也不会耽搁一天时候就找原因

三、问题待续

  有时间再写..........

解决Elasticsearch问题的一些心得体会的更多相关文章

  1. 十天来学习java的心得体会

    有关学习java是几天来的心得体会: 十天学习java遇到很多问题,每个问题都是经过反复的看书本以及上网查找资料来解决的,发现这一点真的需要自己来而不是去遇到什么问题就去依靠他人(师兄.同学).在其中 ...

  2. AngularJS心得体会

    AngularJS早些时候有过了解,知道这是一个JS的MVC框架,同类型的框架还有Backbone等.这次是由于项目需要,学习了两天的Angular后开始着手改之前的项目代码,这里大概说一下这一周学习 ...

  3. 部署maven的一些要点、遇到的问题和心得体会

    maven的部署.遇到的问题和心得体会 2013-10-24 | 阅:  转:  |  分享         部署maven的一些要点.遇到的问题和心得体会 (图片看不了,可以下载doc文件) 一.  ...

  4. Salty Fish 结对学习心得体会及创意照 (20165211 20165208)

    小组结对学习心得体会及创意照 在阅读了软件工程讲义 3 两人合作(2) 要会做汉堡包和现代软件工程讲义 3 结对编程和两人合作后,加之对于这几周组队学习的感悟,我们对于组队学习的一些感悟和想法如下: ...

  5. Scrum培训心得体会

    # Scrum培训心得体会 非常荣幸能够参加公司组织的这场为期两天的培训,赛宝的老师讲的非常好.通过这次学习,理解了当前最流行的Scrum开发框架,下面总结了我对Scrum的理解. ## scrum的 ...

  6. "亿家App"问卷调查分析结果及心得体会

    一.问卷问题设计 调查背景:随着现代社会互联网的发展,基于家庭产生的服务项目也越来越多.为增加家庭之间的交流和互助,增加家庭内部.家庭与家庭之间的沟通互助,并利用互联网便捷交流的优势,使家庭在享受服务 ...

  7. IT增值服务实践心得体会:企业客户的钱比个人客户好赚得多

    友情提示 本人喜欢直言不讳,不喜欢拐弯抹角.喜欢从客观和主观.自身和他人等多种角度去探讨问题.如有不当之处,欢迎吐槽. 若干心得体会1.企业客户的钱更好赚,个人客户的钱很难.  为什么这么说呢? a. ...

  8. Alpha版本后的心得体会

    Alpha版本后的心得体会 在我们一系列的努力之下,我们团队打造的校园互助式快递代取APP——U-Help的α版本终于能够问世了.尽管这个版本存在着这样那样的问题,但是我们还是对此抱有充足的信心.另一 ...

  9. Git使用与心得体会

    Git使用与心得体会 一.闲聊 闲暇时间学一下Git,也算是不用在网页端操作github了 二.Git相关 集中式与分布式 Git是一个分布式的版本控制系统,而传统的SVN则属于集中式 集中式与分布式 ...

随机推荐

  1. OopMap介绍

    摘自:http://blog.csdn.net/woaigaolaoshi/article/details/51439227 在HotSpot中,对象的类型信息里有记录自己的OopMap,记录了在该类 ...

  2. 第4章 Selenium2-java WebDriver API (一)

    4.1  从定位元素开始 WebDriver提供了八种元素定位方:   在Java语言中对应的定位方法: ·id findElement(By.id())        ·name findEleme ...

  3. NPM的正确使用方式

    registry配置 npm registry原意为记录.登记.登记处的意思,这里指的也就是node包存放的服务器地址. 查看registry -> npm config get registr ...

  4. [转]Bootstrap table 分页 In asp.net MVC

    本文转自:https://www.cnblogs.com/lenovo_tiger_love/p/7474403.html 中文翻译文档: http://blog.csdn.net/rickiyeat ...

  5. 音频播放时出现 Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first. https://goo.gl/xX8pDD

    <audio id="play" controls="controls" loop="loop"> <source src ...

  6. [EWS]如何: 通过使用 Exchange 中的 EWS 流有关邮箱事件的通知

    摘要 在之前的文章中,介绍ews拉通知的模式订阅邮件.详情可阅读这篇文章:EWS 通过SubscribeToPullNotifications订阅Exchange新邮件提醒 ,可以看到拉通知的模式,是 ...

  7. 26.Linux-网卡驱动介绍以及制作虚拟网卡驱动(详解)

    1.描述 网卡的驱动其实很简单,它还是与硬件相关,主要是负责收发网络的数据包,它将上层协议传递下来的数据包以特定的媒介访问控制方式进行发送, 并将接收到的数据包传递给上层协议. 网卡设备与字符设备和块 ...

  8. EF DataFirst修改数据类型

    在做软件的时候我们可能会遇到这样的问题,就是在使用EF的时候,有时候精度不一样, 我们用整数来计算肯定是比浮点数来得快的,但我在MySQL里面存储的数据类型是decimal的,我生成EF后, 里面的数 ...

  9. BZOJ3108 [cqoi2013]图的逆变换

    Description 定义一个图的变换:对于一个有向图\(G=(V, E)\),建立一个新的有向图: \(V'=\{v_e|e \in E\}\),\(E'=\{(v_b, v_e)|b=(u,v) ...

  10. 【代码笔记】iOS-字符串替换回车和换行

    一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, ...