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,当然,缓存问题本人暂时没有进行相关的深究。
Elasticsearch-2.3.x填坑之路的更多相关文章
- Android Studio 3.0正式版填坑之路
原文:https://www.jianshu.com/p/9b25087a5d7d Android Studio 3.0启动图 序言 总看别人的文章,今天尝试着自己来写一篇.在逛论坛时候,无意间发 ...
- 微信公众号支付备忘及填坑之路-java
一.背景 最近公司给第三方开发了一个公众号,其中最重要的功能是支付,由于是第一次开发,遇到的坑特别的多,截止我写博客时,支付已经完成,在这里我把遇到的坑记录一下(不涉及退款).不得不吐槽一下,腾讯这么 ...
- 基于环信SDK的IM即时通讯填坑之路(vue)
公司最近使用第三方环信SDK的进行通信聊天,基本已完成.记录下填坑之路 1.可以通过以下方式引用 WebSDK 1.安装 npm install easemob-websdk --save 2. 先 ...
- Mybatis-Plus的填坑之路 - Lynwood/wunian7yulian
目录 Mybatis-Plus 我来填坑~ 目录 一.简单介绍 官方说明 : 成绩: 最新版本: 开发层面MyBatis-Plus特色 Mybatis-Plus中的Plus 二.MP的特性 三.MP框 ...
- mint-ui 填坑之路
swipe组件 因为项目加载eslint的缘故也就没有像之前的项目一样引用swiper框架.这个轮播图的组件文档实在是不敢恭维(尽管其他的文档也好不到哪里去),官方给出的参数真是少的可怜,一些方法也并 ...
- 微信小程序填坑之路其一:wx.request发送与服务端接受
一.序言 应公司要求要求,要用小程序开发一个信息录入系统.没办法只能听话来填坑. 先介绍一下环境:客户端——小程序:服务端——java:数据库——mysql:服务器——centos7 需求:客户端输入 ...
- H5嵌入原生开发小结----兼容安卓与ios的填坑之路
一开始听说开发H5,以为就是做适配现代浏览器的移动网页,心想不用管IE了,欧也.到今天,发现当初too young too simple,兼容IE和兼容安卓与IOS,后者让你更抓狂.接下来数一下踩过的 ...
- Genymotion填坑之路
Genymotion是一款android的模拟器,之前用的一台电脑直接装上就可以用,后来换了一台机器,一直报获取不到IP,后来网上各种找方法,偶然发现网上说的是硬件问题: 在BIOS中将CPU的vir ...
- display:box和display:flex填坑之路
背景分析:最近做移动端项目时,遇到一个常见的需求: 可以滑动的导航,如下图 虽然是很常见的一个布局,但在移动端没有做过,想当然的写下以下的样式,简单描述下: 父元素 width:100%: overf ...
随机推荐
- class&meta class
http://chun.tips 当我们发送一个消息给一个NSObject对象时,这条消息会在对象的类的方法列表里查找当我们发送一个消息给一个类时,这条消息会在类的Meta Class的方法列表里查找 ...
- View Focus的处理过程及ViewGroup的mFocused字段分析
通过上篇的介绍,我们知道在对KeyEvent的处理中有非常重要的一环,那就是KeyEvent在focus view的path上自上而下的分发, 换句话说只有focus的view才有资格参与KeyEve ...
- mac os下可能是最好的豆瓣电台——diumoo
由于我一直用豆瓣fm听音乐,在网上找了下豆瓣的相关应用,都感觉不是太好, 最后发现一个mac版的app--diumoo! 这个软件看着非常舒服,一点也不占桌面空间,它一直默默在桌面右上角,鼠标划上去会 ...
- Azure File
Azure File 服务使用标准 SMB 2.1 协议提供文件共享.Azure 中运行的应用程序现在可以使用熟悉的标准文件系统 API(如 ReadFile 和 WriteFile)在虚拟机之间轻松 ...
- Java注释中TODO/FIXME/XXX的含义
转自:http://free0007.iteye.com/blog/1886526 特殊注释: 1 TODO 表示需要实现,但目前还未实现的功能 2 XXX 勉强可以工作,但是性能差等原因 3 FIX ...
- java多线程学习
在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口. 一.扩展java.lang.Thread类 package com.multithread.lea ...
- MySql安装与MySQL添加用户、删除用户与授权
1.安装MySql 目前MySQL有两种形式的文件,一个是msi格式,一个是zip格式的.msi格式的直接点击setup.exe就好,按照步骤进行.但是很多人下了zip格式的解压发现没有s ...
- Silverlight 调用自托管的wcf 报跨域异常的处理
Sileverlight很多时候需要通过wcf和后台,程序进行交互.如果 iis was托管还好,极端的遇到自托管的程序,console,windowsservice,winform,wpf等,就会出 ...
- MySQL调优系列基础篇
前言 有一段时间没有写博客了,整天都在忙,上班,录制课程,恰巧最近一段时间比较清闲,打算弄弄MYSQL数据库. 关于MySQL数据库,这里就不做过多的介绍,开源.免费等特性深受各个互联网行业喜爱,尤其 ...
- cocos2d-x之 利用富文本控件解析xhml标签(文字标签,图片标签,换行标签,标签属性)
执行后效果: 前端使用: 后台SuperRichText解析code void SuperRichText::renderNode(tinyxml2::XMLNode *node){ while (n ...