- 官方下载地址:https://www.elastic.co/cn/downloads/elasticsearch
- 自己下载的资源路径:https://apk-1257934361.cos.ap-guangzhou.myqcloud.com/ElasticSearch/elasticsearch-7.6.2-linux-x86_64.tar.gz
1:解压 ElasticSearch
tar -zxvf elasticsearch-7.6.2-linux-x86_64.tar.gz
2:将解压后的 ElasticSearch 目录移动到 /usr/local
-
mv elasticsearch-7.6.2 /usr/local/
3:进入 ElasticSearch 根目录 , 在根目录下新建 data 目录 ,用于存储 index索引数据
cd /usr/local/elasticsearch-7.6.2/
mkdir data
4:进入 conf 打开 elasticsearch.yml
cd /config/
vim elasticsearch.yml
5: 修改配置文件信息
- cluster.name 设置集群总名称
- node.name 集群中这个节点服务器的名称
- path.data 索引数据放置目录,放在刚刚新建的data 目录
- path.logs 日志放置目录
- http.port ElasticSearch 占用端口号
- cluster.initial_master_nodes 集群启动时需要哪些节点
#cluster.name: my-application
开放注释并更改为:
cluster.name: es-qiujian
#node.name: node-1
开放注释并更改为:
node.name: es-node1
#path.data: /path/to/data
开放注释并更改为:
path.data: /usr/local/elasticsearch-7.6.2/data
#path.logs: /path/to/logs
开放注释并更改为:
path.logs: /usr/local/elasticsearch-7.6.2/logs
#network.host: 192.168.0.1
开放注释并更改为:
network.host: 0.0.0.0
#http.port: 9200
不用开放注释默认就是9200,只是提示你ElasticSearch 默认端口 9200
#cluster.initial_master_nodes: ["node-1", "node-2"]
开放注释并更改为:
cluster.initial_master_nodes: ["es-node1"]
6:添加用户:
- 默认配置中 ES不允许使用root操作es,需要添加用户
- 原因是:这是出于系统安全考虑设置的条件。由于ElasticSearch可以接收用户输入的脚本并且执行,为了系统安全考虑
-
useradd esuser chown -R esuser:esuser /usr/local/elasticsearch-7.6.2/ su esuser whoami
-
第一条命令: 新建用户 esuser
-
第二条命令: esuser 给予 ElasticSearch 目录下的最大权限
-
第三条命令: 切换到 esuser 用户
-
第四条命令: 查看当前使用账号
-
7:进入 bin 目录,启动 ElasticSearch 脚本
cd /usr/local/elasticsearch-7.6.2/bin
./elasticsearch
报错,说我内存不足
8:进入 conf 目录, 修改 jvm 配置
cd /usr/local/elasticsearch-7.6.2/config
vim jvm.options
将初始化内存 和最大化内存根据自身硬件 进行调整 ,我这这边调整为 128m
9:再次启动 , 报两个错误
- 1:最大线程数 3895 过低,最小要求达到 4095
- 2:最大虚拟内存 65530 过低,最小要求达到 262144
10:切换回root 用户,打开 文件描述符 limits 配置文件
su root
输入密码
vim /etc/security/limits.conf
11:修改警告值 和阀值 ,下面这个截图是因为我使用 esuser 用户 所以提示我没有权限
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
12:打开:liunx内核配置说明/etc/sysctl.conf , 修改虚拟机线程数
vim /etc/sysctl.conf
在最后一行上设置
vm.max_map_count=262145
13:sysctl -p 刷新一下
sysctl -p
14: 再次启动,下图:启动成功图 PS:云服务器 记得打开 9200端口
15:安装 ElasticSearch 客户端 :
Google市场 ElasticSearch head 路径: https://chrome.google.com/webstore/search/elasticsearch?hl=zh-CN
16:安装成功并连接图
17:安装中文分词器
- 官方下载地址:https://github.com/medcl/elasticsearch-analysis-ik
- 自己下载的资源路径:https://apk-1257934361.cos.ap-guangzhou.myqcloud.com/ElasticSearch/elasticsearch-analysis-ik-7.6.2.zip
18:下载好之后进入 ElasticSearch plugins 目录下 新建文件夹 ik , cd 到ik 目录 存放资源
cd /usr/local/elasticsearch-7.6.2/plugins
mkdir ik
20: 解压 ElasticSearch ,我这边云服务器没有安装 unzip 所以安装好unzip 在进行解压
unzip elasticsearch-analysis-ik-7.6.2.zip
提示 :-bash: unzip: command not found 说明没有按照unzip 下面命令安装
yum install -y unzip zip
unzip elasticsearch-analysis-ik-7.6.2.zip
21:进入到 bin 目录下 ,切换账号为 esuser ,并且 jps 检查是否已经存在ElasticSearch 运行实例,如果存在先 kill 掉,在重启
cd /usr/local/elasticsearch-7.6.2/bin
su esuser
jps
kill -9 pid
./elasticsearch -d
22:测试是否实现中文分词 ,postman POST请求方式 json 串 。 参照下图
http://你的ip:9200/_analyze
测试 json 串
{
"analyzer":"ik_smart",
"field": "name",
"text": "我在好好学习编程,我是邱健大帅哥"
}
23:自定义中文分词,例如 我希望把 邱健大帅哥查询的时候变成一个词语
24:进入到 ik 的 config 文件下 ,打开 IKAnalyzer.cfg.xml
cd /usr/local/elasticsearch-7.6.2/plugins/ik/config
vim IKAnalyzer.cfg.xml
25:在 ext_dict 标签内容内写上 自定义文件名.dic结尾 . 如果提示没权限 记得切到 root 用户
qiujian.dic
wq
26:在 ik 的config 目录下新建文件 ,文件名是之前定义的 xxx.dic。然后将自定义词语写入然后保存
vim qiujian.dic
邱健大帅哥
wq
27:重新回到 ElasticSearch bin 目录下 ,切换为 esuser 用户,jps 检查运行 ElasticSearch 实例 ,kill 掉之后 重启
cd /usr/local/elasticsearch-7.6.2/bin
su esuser
jps
kill -9 运行ElasticSearch pid
./elasticsearch -d
28:再次请求,成功!如下图
后台运行命令
./elasticsearch -d
关闭ElasticSearch 命令
jps kill -9