本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn

摘要:

  • 作者原来搭建的环境是0.95版本
  • 现在升级到2.3.3版本,变了很多,也踩了很多坑

root权限启动问题
版本升级到2.2后,必须建一个单独的账号用于启动elasticsearch,不可以使用root账号进行启动,否则会报以下错误

Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root.

也可以这样解决:
在bin目录修改elasticsearch.in.sh文件,填加如下配置项:

JAVA_OPTS="$JAVA_OPTS -Des.insecure.allow.root=true"
这样就可以用root用户启动elasticsearch了,当然还是建议大家创建其他用户使用。

访问地址
如果需要通过ip进行访问es集群,必须修改elasticsearch.yml中的network.host节点。es 0.9版本的默认配置是 “0.0.0.0”,所以不绑定ip也可访问,但是es 2.3版本如果采用默认配置,只能通过 localhost 和 “127.0.0.1”进行访问。
network.host节点可以配置多个值,如下:

network.host: 192.168.10.145
集群节点IP配置
es0.9 版本的集群的discovery默认采用的是组播(multicast)模式,但是在es2.3版本中已去除该模式,虽然提供了multicast的插件,但是官方说不建议采用multicast的模式,故我们只能采用单播(unicast)模式:
discovery.zen.ping.unicast.hosts: ["192.168.10.145", "192.168.10.168"]  
关于节点“discovery.zen.ping.unicast.hosts”的值可以是单值也可以是多值,在不同的服务器之间部署es节点可以不指明ip端口,但是在同一服务器中部署,ip最好是加上检测的端口号,否则可能检测不到要加入的节点,如下配置:
discovery.zen.ping.unicast.hosts: ["192.168.10.145:9300"]
启动
es0.9版本直接./elasticsearch就后台启动了,而es2.3必须./elasticsearch -d才是后台启动,否则是前台启动:

插件安装
es0.9插件安装是./plugin -install xxx,而es2.3插件安装没有减号./plugin install xxx

IK插件安装
es0.9版本直接下载IK,mvn clean package 打包后拷贝target目录下的jar到plugins目录下新建的IK文件夹下即可;
但是es2.3是mvn clean package 打包后,到target/release目录下,有一个zip文件,直接unzip解压,然后把解压的内容拷贝到plugins目录下的ik文件下下,否则会报如下错误:

 
Exception in thread "main" java.lang.IllegalStateException: Could not load plugin descriptor for existing plugin [analysis-ik]. Was the plugin built before 2.0?
Likely root cause: java.nio.file.NoSuchFileException: /home/es/es2/plugins/analysis-ik/plugin-descriptor.properties

elasticsearch2.3.3集群搭建踩到的坑的更多相关文章

  1. redis集群搭建踩坑笔记

    推荐参考教程:https://blog.csdn.net/pucao_cug/article/details/69250101 错误: from /usr/lib/ruby/2.3.0/rubygem ...

  2. 互联网级监控系统必备-时序数据库之Influxdb集群及踩过的坑

    上篇博文中,我们介绍了做互联网级监控系统的必备-Influxdb的关键特性.数据读写.应用场景: 互联网级监控系统必备-时序数据库之Influxdb 本文中,我们介绍Influxdb数据库集群的搭建, ...

  3. 海豚调度5月Meetup:6个月重构大数据平台,帮你避开调度升级改造/集群迁移踩过的坑

    当今许多企业都有着技术架构的DataOps程度不够.二次开发成本高.迁移成本高.集群部署混乱等情况,团队在技术选型之后发现并不适合自己的需求,但是迁移成本和难度又比较大,甚至前团队还留下了不少坑,企业 ...

  4. Hadoop分布式集群搭建hadoop2.6+Ubuntu16.04

    前段时间搭建Hadoop分布式集群,踩了不少坑,网上很多资料都写得不够详细,对于新手来说搭建起来会遇到很多问题.以下是自己根据搭建Hadoop分布式集群的经验希望给新手一些帮助.当然,建议先把HDFS ...

  5. redis安装、测试&集群的搭建&踩过的坑

    1 redis的安装 1.1   安装redis 版本说明 本教程使用redis3.0版本.3.0版本主要增加了redis集群功能. 安装的前提条件: 需要安装gcc:yum install gcc- ...

  6. Kafka 0.9+Zookeeper3.4.6集群搭建、配置,新Client API的使用要点,高可用性测试,以及各种坑 (转载)

    Kafka 0.9版本对java client的api做出了较大调整,本文主要总结了Kafka 0.9在集群搭建.高可用性.新API方面的相关过程和细节,以及本人在安装调试过程中踩出的各种坑. 关于K ...

  7. Kafka相关内容总结(Kafka集群搭建手记)

    简介 Kafka is a distributed,partitioned,replicated commit logservice.它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是 ...

  8. RabbitMQ的安装及集群搭建方法

    RabbitMQ安装 1 安装erlang 下载地址:http://www.erlang.org/downloads 博主这里采用的是otp_src_19.1.tar.gz (200MB+) [roo ...

  9. apache-storm-1.0.2.tar.gz的集群搭建(3节点)(图文详解)(非HA和HA)

    不多说,直接上干货! Storm的版本选取 我这里,是选用apache-storm-1.0.2.tar.gz apache-storm-0.9.6.tar.gz的集群搭建(3节点)(图文详解) 为什么 ...

随机推荐

  1. 邓_ phpcms_

    {pc:content action="lists" catid="$catid" num="10" order="id DESC ...

  2. Aliase_小白学Python_Day0_前言

    听到有老师介绍,说你为什么不把你的学习过程保存下来,一是当做总结,二是作为分享.我想,也对.这算是我的第一个博客,本次想写写我为什么选择学习Python. 很多人都问过我一个问题,行业那么多,你为什么 ...

  3. Contiki 源代码目录结构

    最近要在烧写contiki的CC2650上做一些简单的实验,需要对contiki的目录结构有一个简单的了解.本文使用的是contiki 3.0版本,并且参考了百度文库上的一篇文档:https://we ...

  4. oracle04_plsql

    PLSQL:Procedural Language SQL (1) plsql的基本结构(a) declare id constant number(2):=2;--常量定义 name varchar ...

  5. Django rest framework:__str__ returned non-string (type NoneType) 真正原因

    出错原因: 用户表是Django中核心的表,当这个表类字段中有一个这样的函数 def __str__(self): return self.name 在Django用户表设计时候有个字段容易犯这个失误 ...

  6. Python之数学(math)和随机数(random)

    math包包含了最基本的数学运算函数,如果想要更加高级的数学功能,可以使用标准库外的numpy和scipy库,他们不但支持数组和矩阵运算, 还有丰富的数学和物理方程可供使用 random包可以用来生成 ...

  7. java.lang.ClassNotFoundException: com.radiadesign.catalina.session.RedisSessionHandlerValve

    org.apache.tomcat.util.digester.Digester.startElement Begin event threw exception java.lang.ClassNot ...

  8. Android studio修改包名

    最后一步,需要手动修改工程 build.gradle文件中的applicationId改为跟你的包名一致即可,

  9. 获取android手机屏幕的宽高、density

    public static String getDisplayMetrics(Context cx) { String str = ""; DisplayMetrics dm = ...

  10. Java中的try catch finaly先后调用顺序

    自我总结,有什么不足或好的方案,希望大家给予纠正,感激不尽! 目的:try catch finaly的顺序执行,和大家复习一遍. 方法:debug来确认执行顺序.(需要引入junit包) 废话不多说, ...