Elasticsearch-2.3.x填坑之路

使用版本说明:2.3.2

强制不能使用root用户启动?
因为在2.x版本强调了安全性,防止attracker侵入root用户,所以建议使用者创建其他用户启动。当然,可以通过配置来实现root用户启动。
在bin目录修改elasticsearch.in.sh文件,填加如下配置项:
JAVA_OPTS="$JAVA_OPTS -Des.insecure.allow.root=true"
这样就可以用root用户启动elasticsearch了,当然还是建议大家创建其他用户使用。

节点加入集群?
在前面1.x版本中,只要我们配置了同一个网段的IP,然后启动Elasticsearch,那么,各个节点会通过广播的方式获取到所有节点,但是在2.x中,这种配置有点不太适用了,需要我们对集群各个节点的IP配置在统一的集合中,配置文件当然是conf文件夹下的elasticsearch.yml。

首先,修改network.host,直接指定为与其他节点通信的IP,修改为:
#该IP自行根据实际情况修改

network.host: 192.168.20.177
修改discovery.zen.ping.unicast.hosts配置项,若配置几个节点用端口不是一样的,记住加上端口配置:
#同样,IP和端口自行根据实际情况修改

discovery.zen.ping.unicast.hosts: ["192.168.20.177", "192.168.20.178:9310"]

elasticsearch-servicewrapper插件的使用?
在1.x版本中,我们只要将解压的service目录移动到bin目录下即可使用,但是在2.x版本中,该插件已经基本废弃,看了一下github上的更新时间,都基本过了n个月或n年。所以需要我们手动去修改一些内容,使其能为我们服务。修改service目录下的elasticsearch.conf文件:

1.原始的启动配置为:
wrapper.app.parameter.1=org.elasticsearch.bootstrap.ElasticsearchF
在2.x版本中,启动类做了修改,也不算做修改吧,就是原来的启动类有两个,一个是org.elasticsearch.bootstrap.ElasticsearchF,另一个是org.elasticsearch.bootstrap.Elasticsearch。一个可以将日志打在前台,一个不能而已。在2.x版本中,启动类只有一个,那就是org.elasticsearch.bootstrap.Elasticsearch,且需要我们传递参数启动,修改如下:

wrapper.app.parameter.1=org.elasticsearch.bootstrap.Elasticsearch
wrapper.app.parameter.2=start

2.修改root权限启动,因为在用service的时候,其实我们启动就不使用bin目录下的elasticsearch.in.sh脚本了,所以需要我们在service里面添加root配置。在配置文件中追加修改即可:
# Java Additional Parameters

wrapper.java.additional.1=-Delasticsearch-service
wrapper.java.additional.2=-Des.path.home=%ES_HOME%
wrapper.java.additional.3=-Xss256k
wrapper.java.additional.4=-XX:+UseParNewGC
wrapper.java.additional.5=-XX:+UseConcMarkSweepGC
wrapper.java.additional.6=-XX:CMSInitiatingOccupancyFraction=75
wrapper.java.additional.7=-XX:+UseCMSInitiatingOccupancyOnly
wrapper.java.additional.8=-XX:+HeapDumpOnOutOfMemoryError
wrapper.java.additional.9=-Djava.awt.headless=true
追加一行:
wrapper.java.additional.10=-Des.insecure.allow.root=true
原来的那些参数的含义我就不说了,些是配置常量的,些是配置JVM的,若有需要可自行更改或添加。

3.设置security
修改ES的配置文件elasticsearch.yml,该配置项没有在配置中给出,我们直接添加即可:
security.manager.enabled: false

其实我们在设置完前两项之后基本上ES就可以启动了,但是我们执行elasticsearch start时会看到启动过程一直运行,如下表现形式:
#./elsaticsearch start
Starting Elasticsearch...

Waiting for Elasticsearch...............
如果我们不加该配置项,这个地方会一直waiting下去,所以我们需要添加改行配置。

FilterBuilder和QueryBuilder?
在1.x版本中ES查询条件可以用两种形式进行封装,也就是FilterBuilder和QueryBuilder,根据官方给出的解释,在第二次查询中,FilterBuilder会比QueryBuilder查询速度快,因为存在缓存。在2.x版本中,官方删除了FilterBuilder的所有查询条件,所以若原采用FilterBuilder的项目需要完全改为QueryBuilder,当然,缓存问题本人暂时没有进行相关的深究。

时间: 2024-10-10 05:23:05

Elasticsearch-2.3.x填坑之路的相关文章

一名Android开发者的微信小程序填坑之路(2)

前言 上一篇是九月二十七日写的,而这一篇我动笔的时间是十月十日(特殊的日子),中间相隔十三天--当然是因为国庆节.说老实话,这十三天里面我都没有碰和小程序有关的东西--毕竟学习小程序的开发也只是起于兴趣,而平时的工作并不会涉及与其相关的东西--但是在这十三天里,我能明显的感受到小程序热正在逐渐的消退,或者说大家正在逐渐以一种较为平和的姿态接受它的存在,其实这是一件好事.期待公测的到来. 接下来我就直接进入正题了,另外,文末我想和大家分享一下我的国庆节. PS:这篇文章是接着上一篇文章 一名And

Mybatis-Plus的填坑之路 - Lynwood/wunian7yulian

html { } :root { } html { font-size: 14px; background-color: var(--bg-color); color: var(--text-color); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif } body { margin: 0px; padding: 0px; height: auto; bottom: 0px; top: 0px; left: 0p

H5嵌入原生开发小结----兼容安卓与ios的填坑之路

一开始听说开发H5,以为就是做适配现代浏览器的移动网页,心想不用管IE了,欧也.到今天,发现当初too young too simple,兼容IE和兼容安卓与IOS,后者让你更抓狂.接下来数一下踩过的坑.主要分UI展示,键盘,输入框等等.解决bug最苦恼的问题不是没有解决方案,而是你没有找到真正的原因.再就是现象难以重现,每次都要发布代码,然后到手机app中去测试,模拟.这些地方会耗费大量的精力. 一.UI相关 1.安卓4.4以下不支持fixed布局. fixed布局的作用之一就是在手机键盘弹起

一名Android开发者的微信小程序填坑之路(1)

前言 首先要声明的是,我是一名 Android 开发者,之前基本没有前端开发经验,甚至连 JS ,HTML 都是为了开发小程序现学的一些皮毛--所以文章中所提到的一些点也许在资深前端开发者看来只是小case,但是站在一个 Android 开发者的角度来看确实是大坑. 前面就不说太多东西了,文章的末尾再谈谈我对小程序的一些看法--这篇文章主要是谈谈在开发小程序的过程中遇到的一些坑. PS:推荐一下我写的一个微信小程序版的Gank客户端:wechat-weapp-gank 正文 1,获取小程序开发工

移动端填坑之路

搞PC项目,最头疼的莫过于做IE6/7/8的兼容性(很蛋疼的事).而在如今移动端H5的兴起中,面对形形色色的机型,各种各样的品牌手机,导致我吗们FE们要做各种手机适配问题.样式兼容问题等等(巨烦,找问题还不好找).以下是在移动端项目之路上所遇到的各种问题: UC浏览器--css3的坑 最近在做一个移动端项目,涉及到评论模块,有评论必有点赞功能,当然也就存在点赞动画效果,第一反应就是利用css3动画效果. 方案一:transition+伪元素 .方案二:transition.方案呢三:animat

Android 开发之应届狗从掉洞到填坑之路

在开发了几个项目之后我决定写篇文章分享一下一路走来的经验教训.一.在开发中的话慢慢你会理解(如果觉得专业知识警示不想看可看本人写的二部分一点感悟,颇为精彩!希望给予你收获,嘿嘿!)1.好代码像好的段子,不需要多余的解释.如果你的代码是不解自明的,那么大多数情况下,它并不需要注释和文档.在使用任何第三方库之前都要三思,这件事非常严肃,别人不维护了怎么办,突然改别的需求了又咋办,自己没进步不知道原理咋办,是不是觉得自己要亲力亲为呢,如果学习了别人的原理去使用,对自己是一大突破,那天自己也能封装个呢,

tensorboard的可视化小白踩坑填坑之路

  首先说tensorflow这个框架是真的很是强大,图像的识别,以及神经网络的构建,还有就是不得不说的可视化工具tensorboard,这个工具一般是伴随着tensorflow的安装而安装的,但是对于一个踩坑的我来说,我的tensorflow-gpu安装后居然没有tensorboard的路径以及可执行tensorboard.py的程序,这就使我很是抓狂, 1.我跑了一个特tensorflow的程序后生成一个日志文件在window的cmd下执行了一下(稍后我会介绍怎么生成日志以及实现tensor

CentOS7 下安装 ElasticSearch 5.x 及填坑

ElasticSearch简介 什么是ElasticSearch: ElasticSearch是基于Apache Lucene构建的开源搜索引擎 采用Java编写,提供了简单易用的RESTFul API 轻松的横向扩展,可支持PB级的结构化或非结构化的数据处理 应用场景: 海量数据分析引擎 站内搜索引擎 作为数据仓库 一线公司实际应用场景: 英国卫报 - 实时分析公众对文章的回应 维基百科.GitHub - 站内实时搜索引擎 百度 - 实时日志监控平台 单实例安装ElasticSearch 在安

vue-router填坑之路

1.在结构化css时,习惯将不同的css文件通过一个入口文件打包,而入口文件在引入其他css文件时,需要强烈注意,要在单行末尾加分号: 少分号的,单行相对应的css文件会引用无效 @import './login.css'; @import './app.css'; @import './transition.css';