Elasticsearch官网:https://www.elastic.co/cn/products/elasticsearch
Elasticsearch具备以下特点:
- 分布式,无需人工搭建集群(solr就需要人为配置,使用Zookeeper作为注册中心)
- Restful风格,一切API都遵循Rest原则,容易上手
- 近实时搜索,数据更新在Elasticsearch中几乎是完全同步的。
1.下载解压
[root@localhost leyou]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz
[root@localhost leyou]# tar -zxvf elasticsearch-6.2.4.tar.gz
注:elasticsearch需要jdk8以上的环境,需要先安装有jdk8以上,才能运行。
注:出于安全考虑,elasticsearch默认不允许以root账号运行。故需要创建一个用户
2.创建用户
centos7下查看已有的用户和用户组
- 查看用户:cut -d : -f 1 /etc/passwd
- 查看用户组:cut -d : -f 1 /etc/group
- 删除xxx这个用户:userdel -r xxx
2.1创建elasticsearch用户组
[root@localhost leyou]# groupadd elasticsearch
2.2创建用户 leyou 并设置密码为leyou
[root@localhost leyou]# useradd leyou
执行创建用户后,系统可能显示-----useradd:警告:此主目录已经存在。不从 skel 目录里向其中复制任何文件。不必管它
[root@localhost leyou]# passwd leyou
2.3把创建的用户leyou添加到elasticsearch用户组
[root@localhost ~]# usermod -G elasticsearch leyou
2.4设置用户leyou权限
[root@localhost ~]# visudo
打开文件后,找到 root ALL=(ALL) ALL 这一行,在这一行下面添加 leyou用户:
leyou ALL=(ALL) ALL
添加后,切换到leyou用户下。
[root@localhost ~]# su leyou
[ leyou@localhost ~]#
创建用户后,修改elasticsearch文件权限
[root@localhost leyou]# chown leyou:elasticsearch elasticsearch-6.2.4/ -R
leyou:elasticsearch leyou是用户,elasticsearch是组
执行后,能看到,elasticsearch-6.2.4 用户处变成了leyou。
drwxr-xr-x. 8 leyou elasticsearch 143 4月 13 2018 elasticsearch-6.2.4
drwxr-xr-x. 5 root root 114 8月 18 23:53 fdfs
3.修改配置(单机形式)
进入解压后的elasticsearch-6.2.4目录中的 config目录,需要修改两个配置文件 elasticsearch.yml 和 jvm.options
Elasticsearch基于Lucene的,而Lucene底层是java实现,因此我们需要配置jvm参数
[root@localhost config]# vim jvm.options
内容中默认配置:
‐Xms1g
‐Xmx1g内存占用太多了,我们调小一些:
‐Xms256m
‐Xmx256m这个就可以了,然后修改另一个
[root@localhost config]# vim elasticsearch.yml
找到以下被注释的内容
#path.data: /path/to/data # 数据目录位置
#path.logs: /path/to/logs # 日志目录位置
打开注释,并修改路径,我是修改成elasticsearch安装目录下 data 和 logs,修改后的:
path.data: /home/leyou/elasticsearch/data
path.logs: /home/leyou/elasticsearch/logs
修改绑定的ip:
打开注释 #network.host: 192.168.10.1 修改成 network.host: 0.0.0.0
默认只允许本机访问,修改为0.0.0.0后则可以远程访问
完成这三处修改,这个配置文件也就改好了。
修改elasticsearch.yml 配置文件时,path.data:和 path.logs: 我修改成elasticsearch安装目录下 data 和 logs目录。
默认elasticsearch安装目录下 是没有data目录的,有logs,所以手动创建个 data目录
[root@localhost elasticsearch]# mkdir data
创建目录后,再修改下当前目录的权限,把data目录权限也改成leyou用户的。下面命令中 -R前 还有个点
[root@localhost elasticsearch]# chown leyou:elasticsearch . -R
4.运行
运行时,[root@localhost elasticsearch] 必须切换到自己创建的用户下 [leyou@localhost elasticsearch]
切换到elasticsearch目录下的bin目录
[root@localhost elasticsearch]# cd bin
直接运行
[root@localhost bin]# ./elasticsearch
一般来说,配置到这里运行,可能并不能正常运行,可能会有一些异常,因为我启动时就报了好几个错误。
如果报异常,也很正常,都是一些普通常见的异常,很好配置。查看报出的异常信息,对比下面这个链接修改就行了。
然后,这里是一些elasticsearch启动时常见的错误及解决方法:https://blog.csdn.net/qq_41357211/article/details/100011139
改一个运行一下,对比着很好改的。
启动运行后看到以下内容,默认绑定9200端口,则说明正确启动成功
[2019-08-22T20:18:46,542][INFO ][o.e.h.n.Netty4HttpServerTransport] [DAKuT2m]publish_address{192.168.10.12:9200}, bound_addresses {[::]:9200}
[2019-08-22T20:18:46,542][INFO ][o.e.n.Node ] [DAKuT2m] started
[2019-08-22T20:18:46,654][INFO ][o.e.g.GatewayService ] [DAKuT2m] recovered [0] indices into cluster_state
浏览器访问9200端口,显示出elasticsearch相关信息,elasticsearch就安装好了。
5.安装kibana (windows版)
Kibana是一个基于Node.js的Elasticsearch索引库数据统计工具,可以利用Elasticsearch的聚合功能,生成各种图表,如柱形图,线状图,饼图等。
还提供了操作Elasticsearch索引数据的控制台,并且提供了一定的API提示,方便我们学习使用elasticsearch。
注:kibana依赖于node环境,需要安装node,本地windows环境下我已安装过node,所以下面是window下使用kibana
kibana版本上我们选择与elasticsearch一致,因为上面我用了6.2.4,所以kibana也是6.2.4。
安装和配置:
5.1 下载windows下kibana压缩包,然后解压即可
5.2 进入安装目录下的config目录,修改kibana.yml文件:
修改elasticsearch服务器的地址(把localhost改成elasticsearch安装运行的ip):
elasticsearch.url: "http://localhost:9200"
我的修改后:
elasticsearch.url: "http://192.168.10.12:9200"
5.3 运行 进入安装目录下的bin目录,双击运行 kibana.bat。下图为成功运行界面,红色箭头为默认监听端口号5601
5.4在浏览器中打开上图中的地址 :http://localhost:5601
6.安装ik分词器 (centos7版)
Lucene的IK分词器早在2012年已经没有维护了,现在我们要使用的是在其基础上维护升级的版本,并且开发为
Elasticsearch的集成插件了,与Elasticsearch一起维护升级,版本也保持一致为6.2.4
下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases (选择版本要与Elasticsearch一致)
6.1 上传 elasticsearch-analysis-ik-6.2.4.zip 到 elasticsearch安装目录下的 plugins目录下
6.2 然后解压文件
[root@localhost plugins]# unizp elasticsearch-analysis-ik-6.2.4.zip
[root@localhost plugins]# mv elasticsearch/ ik-analyzer # 改一下名字,好看点
6.3 可以先不用配置文件,直接重启elasticsearch即可
[root@localhost bin]# ./elasticsearch
测试:
在kibana左侧Dev Tools中,输入后,点击绿三角,便可测试成功 (可以看到analyzer中用的ik分词器,就是上面配置的)
POST _analyze
{
"analyzer": "ik_max_word",
"text": "我是中国人"
}