Elasticsearch最简安装

产品支持矩阵

https://www.elastic.co/cn/support/matrix

下载地址

https://www.elastic.co/cn/downloads/elasticsearch

安装配置

修改Linux配置

cat >> /etc/security/limits.conf 
ulimit -n 65536
````
```shell
cat >> /etc/sysctl.conf 
sysctl -p

二进制安装

下载

mkdir -p /work/programs/elasticsearch
cd /work/programs/elasticsearch
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.2.3-linux-x86_64.tar.gz
tar xvf elasticsearch-8.2.3-linux-x86_64.tar.gz

进入下载页面,选择平台,点击下载,从此处获取的下载链接

es8.x 有内置 OpenJDK,如需切换 Oraclejdk,需要参考上面的支持矩阵进行版本选择,官方说用自定义jdk启动会清理掉自带的 OpenJDK

修改配置

vi config/elasticsearch.yml

network.host: 0.0.0.0 :实现内网可访问

启动

使用非root用户启动,需要给用户授予 es 目录的权限

[docker@docker-base ~]$ cd /work/programs/elasticsearch/elasticsearch-8.2.3/
[docker@docker-base elasticsearch-8.2.3]$ ./bin/elasticsearch
> 启动时间比较长,要稍等会儿
> 也可以在命令后面加 -d ,表示后台运行

启动日志中有些关键信息:

  • 自动创建了 elastic 用户并配置了密码,可以通过其提示命令进行修改
  • HTTP CA 证书信息
  • kibana 连接集群需要配置的 token 信息
  • 其他节点加入集群需要配置的 token 信息
  • 通过 docker 方式启动节点需要配置的 token 信息

首次启动后,访问 http://localhost:9200 无法访问,报错如下:

[root@docker-base ~]# curl -v localhost:9200
* About to connect() to localhost port 9200 (#0)
*   Trying ::1...
* Connected to localhost (::1) port 9200 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: localhost:9200
> Accept: */*
> 
* Empty reply from server
* Connection #0 to host localhost left intact
curl: (52) Empty reply from server

是因为自动进行了一些安全配置,在 conf/elasticsearch.yml 文件最下面:

将 'true' 均调整为 'false'

再次启动

测试访问

访问成功

[docker@docker-base elasticsearch]$ curl -v localhost:9200
* About to connect() to localhost port 9200 (#0)
*   Trying ::1...
* Connected to localhost (::1) port 9200 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: localhost:9200
> Accept: */*
> 

安装插件

安装 ik 分词器

下载

选择和你 ES 一样版本的插件
https://github.com/medcl/elasticsearch-analysis-ik/releases

[docker@docker-base ~]$ cd /work/programs/elasticsearch/ 
[docker@docker-base elasticsearch]$ wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.2.3/elasticsearch-analysis-ik-8.2.3.zip
[docker@docker-base elasticsearch]$ unzip elasticsearch-analysis-ik-8.2.3.zip -d elasticsearch-8.2.3/plugins/ik/
重启ES
测试
[docker@docker-base elasticsearch]$ curl -X POST   http://localhost:9200/_analyze   -H 'content-type: application/json'   -d '{
"analyzer": "ik_max_word",
"text": "百事可乐"
}'
{"tokens":[{"token":"百事可乐","start_offset":0,"end_offset":4,"type":"CN_WORD","position":0},{"token":"百事","start_offset":0,"end_offset":2,"type":"CN_WORD","position":1},{"token":"百","start_offset":0,"end_offset":1,"type":"TYPE_CNUM","position":2},{"token":"事","start_offset":1,"end_offset":2,"type":"CN_CHAR","position":3},{"token":"可乐","start_offset":2,"end_offset":4,"type":"CN_WORD","position":4}]}