elasticsearch-2.1.1集群搭建初探/填坑
elasticsearch2.x发布有一段时间了,抽空把集群搭起来,做点实验
-------------------------------------------------------------------------------------正文------------------------------------------------------------------------------------
elasticsearch1.7的搭建非常简单,只需要把tar.gz的包下载到linux服务器上解压缩,然后在bin目录下启动es即可,
集群的搭建也非常简单,保证cluster_name一致, node_name不一致就好了,
可以在同一个网段自动发现新节点,也可以在配置文件的discovery.zen.ping.unicast.hosts属性中指定集群的节点IP;
----------------------------------------------------------------------------------接下来开始填坑------------------------------------------------------------------------------
启动失败---->
坑一:Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root.
填坑:解释为“防止attacker 获取root权限”, 如果是RPM包安装,会自动创建elastsearch组和elastsearch用户,设置好密码,换一个用户启动即可
坑二:Increase RLIMIT_MEMLOCK, soft limit: XXXXX, hard limit: XXXXX
填坑:es为了性能考虑,推荐关掉swap,并锁定一部分mem,按照日志中的指引操作即可
一般处理好这两个,注意一下文件和日志的权限,基本就能正常的启动了;
搭建集群失败-->
首先要注意的一点,在1.7的时候,es判断集群是否可用时,会用index.number_of_replicas去判断,
但是在2.1.1中,这个变成了discovery.zen.minimum_master_nodes,当集群的node低于设定值的时候,集群会无法访问
PS:这个参数在介绍中是用来防止选举master发生脑裂的一个参数,实际上当存活节点数低于这个值,就选举不出master了;
测试中采用四个node来搭建集群
坑三:手动把四个host写进了discovery.zen.ping.unicast.hosts,但是没有手动指定discovery.zen.minimum_master_nodes的值,每一个node启动以后都把自己设置为Master
填坑:network.host默认采用的是127.0.0.1,这个问题可能会受到hosts的影响,为了意义明确,写成机器的IP,问题解决
坑四:手动把四个host写进了discovery.zen.ping.unicast.hosts,并且手动指定discovery.zen.minimum_master_nodes的值,启动node以后出现报错,ping其他的node超时 or 不停的等待初始化;
填坑:推测es自身应该是自动计算这个discovery.zen.minimum_master_nodes的, 如果手动指定以后,往集群中添加机器时,数量小于discovery.zen.minimum_master_nodes就会出现这种现象,
只需要继续往里面添加节点,直到超过手动指定的值,集群会自动选举Master,并正常运转起来。
总结:
不要用root启动,修改memlock的设置,手动指定network.host的值,discovery.zen.minimum_master_nodes可以手动写,也可以不写,保证cluster_name一致, node_name不一致,es2.1.1的集群就可以正常启动了
PS:jdk至少是1.7, 作为测试用的话,ES_HEAP_SIZE可以不写

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
写在HBase源码分析前面的话
本版块全部为HBase1.0.2相关源码分析文章,系个人研究源码原创写成,除对部分引用标示外,其余均为原创,或翻译源码注释。 该系列文章为与网友交流HBase学习,不做任何其他商业用途~~O(∩_∩)O哈哈~ 由于水平有限,文章基本上是边读源码,边翻译注释,边分析源码写成,没有较强的前后逻辑性,我会在写完全部文章后再回头整理。 由于水平有限,文章中可能存在理解错误的地方,欢迎各位针对文章中的错误、问题或者其他指导建议,踊跃评论,多多指点,谢谢!!! 也可加我QQ714613658,一起讨论大数据相关技术、架构与最新发展,谢谢
- 下一篇
ElasticSearch关闭重启命令
很多人学习elasticSearch都是自学,想百度一下如何重启es也是没有答案,我硬着头皮,算是琢磨出来了,借此写博,希望能帮助您。 1.如何关闭ES,elasticsearch关闭办法 1.使用head插件 找到想关掉的节点进行关停 2.使用命令kill杀掉服务器的ES进程即可 1.查找ES进程 ps -ef | grep elastic 2.杀掉ES进程 kill -9 2382(进程号) 3.重启ES sh elasticsearch -d 2.如何重启ES 没有重启的办法,只有参考上面关闭->开启这样。 以下是详细的操作过程 1.首先是查找服务器是否有ES进程,无果ES没有开启,也就不用关闭了,如果开启,则杀死进程就行 1.查找进程命令 ps -ef | grep elastic [root@bjdhj-125-203 _site]# ps -ef | grep elastic //然后可以看到如下的进程号,2382,2583之类的,之后kill掉就可以啦。 root 2382 1 0 Jan05 ? 00:10:57 /opt/soft/jdk/jdk1.7.0_80...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS关闭SELinux安全模块
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长