修改配置文件 /config/elasticsearch.yml
我用两台机器,内网地址分别为230 和 231

处理启动报错一:

[2017-01-12T15:55:55,433][INFO ][o.e.b.BootstrapCheck     ] [SfD5sIh] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
ERROR: bootstrap checks failed
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
  • 临时提高了vm.max_map_count的大小,此操作需要root权限:
  sudo  sysctl -w vm.max_map_count=262144
  sysctl -a|grep vm.max_map_count
  • 永久修改vm.max_map_count:

  解决:切换到root用户修改配置sysctl.conf

  vi /etc/sysctl.conf 
  添加下面配置:
  vm.max_map_count=655360
  并执行命令:
  sysctl -p
  然后,重新启动elasticsearch,即可启动成功。
 

处理启动报错二:

  max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

  修改/etc/security/limits.conf文件,添加或修改如下行:

  *        hard    nofile           65536
  *        soft    nofile           65536
 
 

处理启动报错三:

  max number of threads [1024] for user [lish] likely too low, increase to at least [2048]

  解决:切换到root用户,进入limits.d目录下修改配置文件。

  vi /etc/security/limits.d/90-nproc.conf

  修改如下内容:

  * soft nproc 1024

  #修改为

  * soft nproc 2048
 
 

  补:启动异常:ERROR: bootstrap checks failed
  system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

  问题原因:因为Centos6不支持SecComp,而ES5.2.1默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。详见 :https://github.com/elastic/elasticsearch/issues/22899

  解决方法:在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面:
  bootstrap.memory_lock: false

  bootstrap.system_call_filter: false
 

  近日,单台机器,8个节点的es集群,8个节点都正常started了,但是就是无法形成集群,后来看日志,日志中出现一堆的MasterNotDiscoveredException这种异常,完整日志如下:

[2016-04-27 15:08:22,445][DEBUG][action.admin.cluster.health] [es.10.16.66.152.0] no known master node, scheduling a retry
[2016-04-27 15:08:52,457][INFO ][rest.suppressed ] /_cat/health Params: {h=node.total}
MasterNotDiscoveredException[waited for [30s]]
at org.elasticsearch.action.support.master.TransportMasterNodeAction$4.onTimeout(TransportMasterNodeAction.java:160)
at org.elasticsearch.cluster.ClusterStateObserver$ObserverClusterStateListener.onTimeout(ClusterStateObserver.java:239)
at org.elasticsearch.cluster.service.InternalClusterService$NotifyTimeout.run(InternalClusterService.java:630)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

  查看了每一个节点的elasticsearch.yml这个文件之后,发现其中只有一个节点的node.master这个配置为true,而其中discovery.zen.minimum_master_nodes这个配置的值却是5,而有资格成为主节点的只有一个,所以永远也形成不了集群啊。

结果就是要么把其他节点的node.master都设置为true,要么discovery.zen.minimum_master_nodes将这个配置改为1。
 
 
错误的解决办法均是从网上扒的,看官就不要吐槽了 虽然官网都有相关说明,但有现成的就不愿意看英文文档,谁叫英文不好呢

elasticsearch 分布式部署的更多相关文章

  1. Elastic Stack之ElasticSearch分布式集群二进制方式部署

    Elastic Stack之ElasticSearch分布式集群二进制方式部署 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必大家都知道ELK其实就是Elasticsearc ...

  2. Elastic Stack之ElasticSearch分布式集群yum方式搭建

    Elastic Stack之ElasticSearch分布式集群yum方式搭建 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.搜索引擎及Lucene基本概念 1>.什么 ...

  3. elasticsearch 分布式集群搭建

    elasticsearch环境搭建及单节点搭建可参考我的上一篇:http://www.cnblogs.com/xuwenjin/p/8745624.html 本文以Elaticsearch 6.2.2 ...

  4. 搭建ELK日志分析平台(上)—— ELK介绍及搭建 Elasticsearch 分布式集群

    笔记内容:搭建ELK日志分析平台(上)-- ELK介绍及搭建 Elasticsearch 分布式集群笔记日期:2018-03-02 27.1 ELK介绍 27.2 ELK安装准备工作 27.3 安装e ...

  5. Hadoop1 Centos伪分布式部署

    前言:       毕业两年了,之前的工作一直没有接触过大数据的东西,对hadoop等比较陌生,所以最近开始学习了.对于我这样第一次学的人,过程还是充满了很多疑惑和不解的,不过我采取的策略是还是先让环 ...

  6. ActiveMQ5.14.1+Zookeeper3.4.9高可用伪分布式部署

    本文借鉴http://www.cnblogs.com/gossip/p/5977489.html,在此基础上进行了完善,使之成为一个完整版的伪分布式部署说明,在此记录一下! 一.本文目的       ...

  7. Memcache分布式部署方案

    基础环境 其实基于PHP扩展的Memcache客户端实际上早已经实现,而且非常稳定.先解释一些名词,Memcache是danga.com的一个开源项目,可以类比于MySQL这样的服务,而PHP扩展的M ...

  8. hadoop2.6分布式部署时 livenodes等于1的原因

    1.问题描述 在进行hadoop2.x版本的hdfs分布式部署时,遇到了一个奇怪的问题: 使用start-dfs.sh命令启动dfs之后,所有的datanode节点上均能看到datanode进程,然而 ...

  9. 项目分布式部署那些事(2):基于OCS(Memcached)的Session共享方案

    在不久之前发布了一篇"项目分布式部署那些事(1):ONS消息队列.基于Redis的Session共享,开源共享",因为一些问题我们使用了阿里云的OCS,下面就来简单的介绍和分享下相 ...

随机推荐

  1. 孤荷凌寒自学python那些事第二天

    孤荷凌寒自学python第二天 Python的变量声明 (完整学习过程屏幕记录视频在文末,手写笔记在文末) Python的变量声明不必要显式指定变量类型 甚至也不需要进行显式的声明 比javascri ...

  2. sklearn中predict()与predict_proba()用法区别

    predict是训练后返回预测结果,是标签值. predict_proba返回的是一个 n 行 k 列的数组, 第 i 行 第 j 列上的数值是模型预测 第 i 个预测样本为某个标签的概率,并且每一行 ...

  3. ZOJ 3606 Lazy Salesgirl ( 线段树 + 思路 )

    卖切糕的小女孩 http://www.cnblogs.com/wuyiqi/archive/2012/04/28/2474672.html #include <cstdio> #inclu ...

  4. JavaWeb笔记(四)Cookie&Session

    Cookie 客户端会话技术,客户端保存,用于存储少量不太敏感的数据,在不登陆的情况下完成服务器对客户端的身份识别 简单使用步骤 创建Cookie对象,绑定数据 new Cookie(String n ...

  5. 转载~基于比较的排序算法的最优下界为什么是O(nlogn)

    基于比较的排序算法的最优下界为什么是O(nlogn) 发表于2013/12/21 16:15:50  1024人阅读 分类: Algorithm 1.决策二叉树 回答这个问题之前我们先来玩一个猜数字的 ...

  6. fmap为什么可以用function作为第二个参数

    看看fmap的类型 fmap :: Functor f => (a -> b) -> f a -> f b 很明显的,第一个参数是function,第二个参数是functor的 ...

  7. GHC extensions

    OverloadedStrings 这是最常见的一个扩展,很多时候都能看到   Haskell中,数字是num的多态,比如:   a :: Int a = 1   b :: Double b = 1 ...

  8. C++ bitset类的使用与简介 [转载]

    有些程序要处理二进制位的有序集,每个位可能包含的是0(关)或1(开)的值.位是用来保存一组项或条件的yes/no信息(有时也称标志)的简洁方法.标准库提供了bitset类使得处理位集合更容易一些.要使 ...

  9. c#操作SQL的例子

    >> 数据表复制 当表目标表存在时: insert into 目的数据库..表 select * from 源数据库..表 当目标表不存在时: select * into 目的数据库..表 ...

  10. Kubernetes仓库搭建

    #生成证书#/etc/pki/tls/openssl.cnf [ v3_ca ]下添加serviceIPsubjectAltName = 169.169.0.11#创建证书169.169.0.11为s ...