Linux安装ES以及系列插件

Version:6.3.2

Jdk:1.8.0

Linux:centOS7

下载ES

官网地址:https://www.elastic.co/downloads

需要配置java环境变量,然后解压

1
$ tar -zxvf elasticsearch-6.3.2.tar.gz -C /usr/local/

运行ES

进入bin目录

1
$  cd /usr/local/elasticsearch-6.3.2/bin/

运行es

1
$ ./elasticsearch

然后会报错,出于系统安全考虑,不能以root用户启动

1
Caused by: java.lang.RuntimeException: can not run elasticsearch as root

官方文档中有这么一句话:

In 5.0.0-alpha3, all of this has been cleaned up.
The entanglement between system properties and settings has beenremoved.
This means that the system property es.insecure.allow.root will not automatically
be converted to a setting which means it’s no longer a problem that it’s not registered.

版本5之后,只能新建用户来运行es

新建es用户

1.创建elsearch用户组及elsearch用户

1
2
$ groupadd elsearch
$ useradd elsearch -g elsearch -p elasticsearch

2.更改elsearch用户权限

1
2
$ cd /opt
$ chown -R elsearch:elsearch /usr/local/elasticsearch-6.3.2/

3.切换到elsearch用户启动es

1
2
3
$ su elsearch
$ cd /usr/local/elasticsearch-6.3.2/bin/
$ ./elasticsearch

4.测试连接

1
$ curl 127.0.0.1:9200

出现以下JSON数据,表示启动成功

{
“name” : “fvkyr4m”,
“cluster_name” : “elasticsearch”,
“cluster_uuid” : “aG54H3z6SUaSS3L8YxK7Kg”,
“version” : {
“number” : “6.3.2”,
“build_flavor” : “default”,
“build_type” : “tar”,
“build_hash” : “053779d”,
“build_date” : “2018-07-20T05:20:23.451332Z”,
“build_snapshot” : false,
“lucene_version” : “7.3.1”,
“minimum_wire_compatibility_version” : “5.6.0”,
“minimum_index_compatibility_version” : “5.0.0”
},
“tagline” : “You Know, for Search”
}

设置远程访问

到es根目录,修改yml文件

1
$ vi [es安装目录]/config/elasticsearch.yml

按/ 输入network.host
取消注释,修改为本机IP即可,或者0.0.0.0

再次启动,报错:

max virtual memory areas vm.max_map_count [65530]

操作系统的vm.max_map_count参数设置太小导致,修改如下

1
2
3
4
5
6
7
$ vi /etc/sysctl.conf

# 新增如下参数
vm.max_map_count=655360

#执行以下命令生效:
$ sysctl -p

记得打开9200/9300端口,或者关闭防火墙,云服务器要设置安全组端口

1
2
3
4
5
6
7
8
9
10
11
# 开启9200端口
$ firewall-cmd --permanent --zone=public --add-port=9200/tcp

# 关闭防火墙(不建议)
$ systemctl stop firewalld.service

# 重启防火墙
$ firewall-cmd –reload

# 开启防火墙
$ systemctl start firewalld.service

最后访问外网地址,成功

安装可视化插件Kibana

官网地址:https://www.elastic.co/downloads/kibana

Kibana是一个针对Elasticsearch的开源分析及可视化平台,使用Kibana可以查询、查看并与存储在ES索引的数据进行交互操作,使用Kibana能执行高级的数据分析,并能以图表、表格和地图的形式查看数据

解压

1
$ tar -zxvf kibana-6.3.2-linux-x86_64.tar.gz -C /usr/local/

修改配置文件

1
$ vi [Kibana根目录]/config/kibana.yml

找到下面2项,修改ip

1
2
#server.host: "your ip"
#elasticsearch.url: "http://es-ip" (http不可以删)

运行Kibana

首先打开5601端口

1
2
3
4
5
# 开启5601端口
$ firewall-cmd --permanent --zone=public --add-port=5601/tcp

# 重启防火墙
$ firewall-cmd –reload

到kibana根目录的bin下启动(es不可以关闭)

1
$ ./kibana

最后访问即可

安装IK分词器

es自带的分词器对中文的分词效果不好,推荐使用ik

下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases

使用unzip解压

1
2
3
4
5
6
7
8
# 新建文件夹
$ mkdir ik

# 放到ik文件夹解压
$ unzip elasticsearch-analysis-ik-6.3.2.zip

# 移动到es plugins下
$ mv ik/ /usr/local/elasticsearch-6.3.2/plugins/

docker版本安装

进入ES容器

1
2
3
4
$ docker exec -it ES容器名 /bin/bash

# 执行下载命令,IK版本号替换为自己的ES版本
$ ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.3.2/elasticsearch-analysis-ik-7.3.2.zip

重启es

没有重启的命令,只能杀掉进程

1
2
3
4
5
# 查找ES进程
$ ps -ef | grep elastic

# 杀掉ES进程
$ kill -9 进程号

可以看到,启动es的时候,加载了ik插件

分词测试

可以使用Github的Quick Example

这里使用Kibana

1.测试语句

1
2
3
4
5
GET _analyze
{
"analyzer":"ik_max_word",
"text":"知识改变命运"
}

2.测试结果

下面是es自带的standard分词效果,效果不言而喻

结语

推荐的安装方式:docker安装elasticsearch以及系列插件

------本文结束感谢阅读------

本文标题:Linux安装ES以及系列插件

文章作者:churuo

原始链接:https://www.xuchuruo.cn/Linux安装ES以及系列插件.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%