一.什么是ElasticSearch
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
我们建立一个网站或应用程序,并要添加搜索功能,令我们受打击的是:搜索工作是很难的。我们希望我们的搜索解决方案要快,我们希望有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON通过HTTP的索引数据,我们希望我们的搜索服务器始终可用,我们希望能够一台开始并扩展到数百,我们要实时搜索,我们要简单的多租户,我们希望建立一个云的解决方案。Elasticsearch旨在解决所有这些问题和更多的问题。
二.为什么要安装ES?
ES作为一个成熟的全文搜索引擎提供了从分词到索引的全套解决方案,对于我这种懒得(其实是不会)造轮子的人来说再合适不过了,虽然网上已经有了很多教程,ES本身的安装也很简单,但是我这还是记录下,防止自己脑抽哪天忘了怎么装。
三.安装步骤
ES是使用java开发的,所以首先我们就必须安装java啦,对于centos来说,我们可以选择openjdk也能选择sunjdk,我比较倾向于sunjdk,毕竟是个人折腾,不开源的东西总有些特别的优化。
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.rpm" rpm -ivh jdk-8u102-linux-x64.rpm
然后一波进度条走完就安装好了,不过我们还需要额外配置下环境变量
vi /etc/profile #在最末添加 JAVA_HOME=/usr/java/jdk1.8.0_102 PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME export PATH export CLASSPATH 然后执行source /etc/profile
然后我们就完成了最基本的环境配置,可以开始下载安装ES了,前往ElasticSearch官网下载页面,然选择你需要的版本,使用wget下载到服务器中并解压,然后cd到解压目录直接执行bin/elasticsearch就行,但是!!!
如果你和我一样是日常使用root权限登陆机器的人,你就会碰到一个问题……
为了安全性,ES默认不允许通过root运行,这就很尴尬了。当然解决办法是有的,这儿我介绍两种
一.放弃治疗,强制使用root运行
bin/elasticsearch -Des.insecure.allow.root=true
二.创建非root用户来运行
添加elsearch账户启动 groupadd elsearch useradd elsearch -g elsearch -p elasticsearch chown -R elsearch:elsearch /opt/elasticsearch su elsearch bin/elasticsearch
好了,安装完了,也能运行了,但是我想让它自启怎么办?这也有两种办法,一种比较常见,是使用elasticsearch service wrapper来实现,我不太熟,所以选择了用supervisor来守护ES并实现自启
supervisor的安装我这就不多叙述了,贼简单,在安装完后修改supervisor.conf,在最后增加如下内容
[program:elasticsearch] command=/opt/elasticsearch/bin/elasticsearch autostart=true autorestart=true redirect_stderr=true user=elsearch
然后使用supervisorctl reload重载(当然你得先执行supervisord运行啦)
通过supervisorctl status便能看到ElasticSearch正在running了
要看日志怎么办?执行supervisorctl tail -f elasticsearch stdout就行了
如果要记录日志的话那么得在上面配置文件增加logfile=/var/log/elasticsearch.log
另外由于supervisor默认是不自启的(centos下easy_install安装),你需要在/etc/rc.local中添加supervisord来启动它。
文章评论