ElasticSearch7.8.0下载与安装
1、ElasticSearch7.8.0下载
elasticsearch:
官方下载地址:https://www.elastic.co/cn/downloads/elasticsearch
链接: https://pan.baidu.com/s/1wAKQoB3nhLhcnBlPfVOLxQ 提取码: t83n
kibana:
链接: https://pan.baidu.com/s/156aD9zDdvUv8LFgDEIPoSw 提取码: jkw2
ik:
链接: https://pan.baidu.com/s/1jUZpDmTwcaaMalNWmTWWgw 提取码: 9d45
- 1
- 2
- 3
- 4
- 5
- 6
- 7
2、解压
解压elasticsearch-7.8.0-linux-x86_64.tar.gz到/usr/local/目录:
# tar -zxvf elasticsearch-7.8.0.tar.gz -C /usr/local/
- 1
- 2
3、创建es用户
如果使用root用户启动elasticsearch,会报 can not run elasticsearch as root,故创建es用户及用户组来运行elasticsearch
# groupadd es #新建一个es的用户组
# useradd -g es es #在es用户组下面建立一个es的用户
# passwd es #修改用户密码
在es用户目录/home/es下创建data,logs文件夹,用于存放es数据和es日志
- 1
- 2
- 3
- 4
- 5
4、配置elasticsearch.yml
# vim /usr/local/elasticsearch7.8.0/config/elasticsearch.yml
# 数据和日志的存储目录,个人觉得放在es用户目录下较好,其实可以随便放在哪
path.data: /home/es/elasticsearch-7.8.0/data
path.logs: /home/es/elasticsearch-7.8.0/logs
# 设置绑定的ip,设置为0.0.0.0以后就可以让任何计算机节点访问到了
network.host: 0.0.0.0
# 端口
http.port: 9200
# 集群名称
cluster.name: my-application
# 节点名称
node.name: node-1
# 设置在集群中的所有节点名称,这个节点名称就是之前所修改的,当然你也可以采用默认的也行,目前是单机,放入一个节点即可
cluster.initial_master_nodes: ["node-1"]
# 支持跨域,跨域配置是为了kibana,head连接
http.cors.enabled: true
http.cors.allow-origin: "*"
# 设置为true锁住内存,当服务混合部署了多个组件及服务时,应开启此操作,允许es占用足够多的内存。
bootstrap.memory_lock: false
# es优化,是否支持过滤掉系统调用
bootstrap.system_call_filter: false
--------------------------elasticsearch.yml配置完成------------------------------------
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
5、配置jvm.options
elasticsearch使用java的jvm默认是使用1G的内存的,如果你机器的内存过小,启动可能会报错或者直接killed(es进程直接被杀),在jvm.options中将es使用内存调低即可,由于我实在太穷,买不起大内存服务器,所以索性调到128m,你如果有钱可以设置高点
-Xms128m
-Xmx128m
- 1
- 2
- 3
6、配置sysctl.conf
elasticsearch最小需要max_map_count为262144,而虚拟机默认只有65536。
加大vm.max_map_count(进程可以拥有的VMA(虚拟内存区域)的数量,虚拟内存区域是一个连续的虚拟地址空间区域)
# vim /etc/sysctl.conf
在sysctl.conf中添加
vm.max_map_count=262144
# sysctl -p #重启生效
--------------------------------sysctl.conf配置完毕-------------------------
配置原因:
1、资源问题:每个打开的文件都需要消耗内存来管理,而内存是有限的。
2、安全问题:如果不限制的话,有不怀好心的人启动一个进程来无限的创建和打开新的文件,会让服务器崩溃。
3、bootstrap.memory_lock: false;bootstrap.system_call_filter: false配置必须
限制资源使用的配置文件是 /etc/security/limits.conf,和/etc/security/limits.d/目录,/etc/security/limits.d/里面配置会覆盖/etc/security/limits.conf的配置
# vim /etc/security/limits.conf
es soft nproc 65536:单个用户可用的最大进程数量(超过会警告);
es hard nproc 65536:单个用户可用的最大进程数量(超过会报错);
es soft nofile 4096:可打开的文件描述符的最大数(超过会警告);
es hard nofile 4096:可打开的文件描述符的最大数(超过会报错);
# vim /etc/security/limits.d/20-nproc.conf
es soft nproc 4096
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
7、启动
elasticsearch是不能用root启动,那我们切换es用户启动即可
(1)、先改elasticsearch7.8.0文件夹所属为es
# chown -R es:es /usr/local/elasticsearch-7.8.0/
(2)、切换es用户
# su es
(3)、启动elasticsearch
# cd /usr/local/elasticsearch-7.8.0
# ./elasticsearch -d # 加-d为后台启动
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
8、访问服务
访问地址服务http://xx.xx.xx.xx:9200/
{
"name" : "node-1",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "wWnUb6BFQWKNJXkQ_vgDIA",
"version" : {
"number" : "7.8.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65",
"build_date" : "2020-06-14T19:35:50.234439Z",
"build_snapshot" : false,
"lucene_version" : "8.5.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
9、安装kibana
(1)、下载kibana7.8.0到linux,解压
# tar -zxvf kibana-7.8.0-linux-x86_64.tar.gz -C /usr/local/kibana-7.8.0
(2)、配置kibana.yml
# vim /usr/local/kibana-7.8.0/config/kibana.yml
server.port: 5601 # kibana服务端口
server.host: "0.0.0.0" # 任何ip皆可访问
elasticsearch.url: "http://elasticsearch的ip:9200" # 连接elasticsearch
i18n.locale: "zh-CN" # 汉化
(3)、启动(/usr/local/kibana-7.8.0/bin)
# ./kibana
# 后台启动
# nohup ./kibana &
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
9、安装ik
下载ik的zip包,解压后放在/usr/local/elasticsearch/plugins/ik/下,重启elasticsearch即可
- 1
10、验证kibana与elasticsearch
PUT /book/1
{
"name":"《射雕英雄转》",
"type":"金庸武侠小说",
"price":35.8
}
GET _analyze
{
"analyzer": "ik_max_word",
"text": "中华人民共和国"
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
还有一个head插件,请读者自行安装,就是个前端项目,下载下来改下配置启动下就好了