ElasticSearch 安装实战

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:安装中文分词器

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 
原文地址:https://www.cnblogs.com/blogspring/p/14191749.html