其实ElasticSearch安装没啥好说的,因为ElasticSearch完全是零配置和“拆箱即用”,这对第一次上手ElasticSearch人来说绝对是福音,对于熟悉了ElasticSearch的人来说也可以省却很多多余的操作,总之一个字:帅。
首先,当然是下载,地址如下:http://www.elasticsearch.org/download/
打开网页你可以看到长长的发布的版本号(我应该是从Version 0.5开始我的ES之旅的),ES的版本更新很频繁,作者kimchy根据社区的反馈会不断添加新的feature,bugfix也是神速,在irc里面提出之后,基本上马上就会有修复,实在是给力啊。BTW,现在最新版本又到了0.17.4,前几天又发布了几个版本,修复了一些bug。
下载解压,执行bin下面的elasticsearch.bat(linux下./elasticsearch)即可,在linux下执行elasticsearch默认会以后台的方式执行,如果想看console输出的日志信息,加上参数 -f 即可(./elasticsearch -f),JAVA环境6以上,不要忘了。
一般来说,我会使用elasticsearch的一个searchwrapper来让elasticsearch以服务的方式来运行,下载地址:https://github.com/elasticsearch/elasticsearch-servicewrapper,下载之后解压在bin目录,执行命令:
service/elasticsearch start
如果需要在console下查看服务启动和运行的日志,则执行
service/elasticsearch console
除此之外的命令包括:console、start、stop、install、remove
--
如果想让ES跑的更欢,当然需要对ES做一番配置了,下面简单介绍下。
我假设你的linux(这里以centos为例)下java已然配置完毕。
添加系统用户search,用来启动es服务,修改limits.conf,设置最大打开文件数和memlock限制:
vi /etc/security/limits.conf search soft nofile unlimited search hard nofile unlimited search - memlock unlimited
swapoff 关闭swap交换分区,减少不必要的内存卸载,。
修改配置文件\bin\service\elasticsearch.conf,设置ES能够分配的JVM内存大小,建议MIN和MAX设置一样大,避免频繁的分配内存(默认单位MB),根据您服务器内存的大小,一般分配60%左右。
set.default.ES_MIN_MEM=2012 set.default.ES_MAX_MEM=2012
配置文件conf/elasticsearch.yml
设置mlockall来锁定进程的物理内存地址,同样避免交换(swapped)来提高性能。
boostrap.mlockall: 1
ES版本变化太快,改天有时间还得再做下性能测试,另外很多配置都可以进行调整,相信有很多优化的空间。(0.12做过一次性能测试,普通4g台式机下索引速度平均达到6M/s(thrift协议),文档大小[5.5K~6.3K],op/s:1000左右,100W条记录,5GB大小)。
万事开头难,如果你之前没有用过ElasticSearch,什么配置都不要管,直接运行bin下面的elasticsearch可执行文件,一个可以用的搜索服务就启动了,如果你觉得一台不过瘾,接着在另外一台上面启动elasticsearch服务,得,他们就自动组成了一个集群,怎么做的,神奇的ZEN-discovery模块,哦,忘了告诉你,访问搜索服务地址是http://yourIP:9200/,同一台机器上启多个实例的端口会依次增加,如9201等等,怎么访问?RESTful,有没有?
欲知更多内幕细节,且听下回分解,睡觉。