注:上两篇说到了windows下的使用,今天来一套linux环境的安装与配置,毕竟集成springboot后还是要在linux上运行的,要使用还得先会配置。
一、Elasticsearch的安装和配置
1.官网下载tar包,博主用的elasticsearch-7.6.1-linux-x86_64.tar.gz
2.上传至/home/devops/ElasticSearch,操作忽略,路径自定义
3.切换目录然后解压
cd /home/devops/ElasticSearch
tar -zxvf elasticsearch-7.6.1-linux-x86_64.tar.gz
4.切换目录然后修改配置文件
cd /home/devops/ElasticSearch/elasticsearch-7.6.1
vim config/elasticsearch.yml
#取消下列项注释并修改:
cluster.name: elasticsearch #集群名称
node.name: node-1 #节点名称
#数据和日志的存储目录
path.data: /home/elasticsearch/data
path.logs: /home/elasticsearch/logs
#设置绑定的ip,设置为0.0.0.0以后就可以让任何计算机节点访问到了
network.host: 0.0.0.0
http.port: 9200 #端口
#设置在集群中的所有节点名称,这个节点名称就是之前所修改的,当然你也可以采用默认的也行,目前是单机,放入一个节点即可
cluster.initial_master_nodes: ["node-1"]
跨域配置:
http.cors.enabled: true
http.cors.allow-origin: "*"
5.保存后切换至bin目录下启动es:./elasticsearch -d
这时执行的时候如果出现没有权限./elasticsearch: Permission denied
需要授权执行命令:chmod +x bin/elasticsearch
再次执行./elasticsearch -d即可启动
使用ps aux|grep elasticsearch可以查看是否启动
6.启动时报错:
java.lang.RuntimeException: can not run elasticsearch as root
原因是不能使用root用户启动,解决方案:
执行以下命令:
#创建elsearch用户组及elsearch用户,并修改密码:
groupadd elsearch
useradd elsearch -g elsearch
passwd elsearch
#更改elasticsearch安装目录文件夹及内部文件的所属用户及组为elsearch:elsearch,如果日志和数据目录外放,也需要更改。
chown -R elsearch:elsearch /home/devops/ElasticSearch/elasticsearch-7.6.1/
chown -R elsearch:elsearch /home/elasticsearch/data
chown -R elsearch:elsearch /home/elasticsearch/logs
#切换用户并启动es
su elsearch
cd /home/devops/ElasticSearch/elasticsearch-7.6.1/bin
./elasticsearch -d
7.切换用户后启动还是报错:
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408, 0) failed; error='Cannot allocate memory' (errno=12)
意思是内存不足,es默认启动时就占用1g内存,切回root用户再修改jvm.options配置文件,我改成了256m:
vim /home/devops/ElasticSearch/elasticsearch-7.6.1/config/jvm.options
修改以下内容:
-Xms256m
-Xmx256m
8.保存后切回elsearch用户,再次启动es,用户切换命令 su elsearch。
这次报别的错误:
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max number of threads [3802] for user [elsearch] is too low, increase to at least [4096]
解决方案:
# 切换到root用户修改
su root
vim /etc/security/limits.conf
# 在最后面追加下面内容
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决方案:
# 切换到root用户修改
su root
vim /etc/sysctl.conf
#末行加入
vm.max_map_count=655360
#执行以下命令生效,或者重启虚拟机:
sysctl -p
9.最后切换至elsearch用户再次重启es,即可,然后访问192.168.141.128:9200,如下图:
到这里说明linux环境下的es已经安装并配置完毕。
二、Kibana的安装与配置
相比es,Kibana就简单多了,记得先配置nodejs环境。
1.还是官网下载tar包 地址:https://www.elastic.co/cn/kibana 博主用的 kibana-7.6.1-linux-x86_64.tar.gz ,版本要与es一致
2.上传至指定目录 /home/devops/ElasticSearch
3.解压:
tar –zxvf kibana-7.6.1-linux-x86_64.tar.gz
4.修改配置文件
cd /home/devops/ElasticSearch/kibana-7.6.1-linux-x86_64
vim config/kibana.yml
# 放开注释,将默认配置改成如下:
server.port: 5601
server.host: "192.168.141.128"
elasticsearch.url: "http://192.168.202.128:9200"
kibana.index: ".kibana"
elasticsearch.requestTimeout: 50000
i18n.locale: "zh-CN"
5.保存后切换至bin目录,启动kibana,不推荐root用户启动,若使用root用户启动,则需在启动命令后加上--allow-root,如下:
cd /home/devops/ElasticSearch/kibana-7.6.1-linux-x86_64/bin
nohup ./kibana --allow-root &
6.访问http://192.168.141.128:5601
结束啦!!!windows以及linux环境下的安装与配置!后续跟上es的curd,y以及集成springboot来使用这个分布式的全文搜索引擎!