一、Elasticsearch 7.9.1
官网下载地址:Elasticsearch
ES 7.9.1,内置了 JDK,我是centos系统,下载LINUX X86_64
下载、解压、放到/usr/es/下
二、配置
cd /usr/es && ll
vi /elasticsearch/config/elasticsearch.yml
# 打开节点名称
node.name: node-1
# 这里的node-1为node-name配置的值
cluster.initial_master_nodes:["node-1"]
# 外部ip访问elasticsearch
network.host: 0.0.0.0
#端口
http.port: 9200
#数据路径
path.data: /home/linux804/es_01/elasticsearch-6.1.3/data
#日志路径
path.logs: /home/linux804/es_01/elasticsearch-6.1.3/logs
三、启动
1、es不能以root启动 创建用户组
//创建elsearch用户&组
groupadd elsearch
useradd elsearch -g elsearch
passwd elsearch 123456
//修改elasticsearch目录文件用户&组
chown -R elsearch:elsearch /usr/local/es目录
然后就可以启动了 运行/bin/elasticsearch
本机单项目启动多节点(集群)方式-不推荐:注意多节点,数据路径和日志路径和启动端口和节点名不同。集群名要相同(集群请看其他文章)
./elasticsearch -E path.data=data1 -E path.logs=log1 -E node.name=node1 -E cluster.name=msb_teacher
./elasticsearch -E path.data=data2 -E path.logs=log2 -E node.name=node2 -E cluster.name=msb_teacher
2、启动立马报错!
报错信息:Native controller process has stopped - no new native processes can be started 那是因为还缺少一个配置!
[root@localhost ~]# vim /etc/security/limits.conf
在文件的末尾加上 elsearch就是你刚刚创建的es的用户名!
elsearch soft nofile 65536
elsearch hard nofile 65536
elsearch soft nproc 4096
elsearch hard nproc 4096
3、下一步
[root@localhost ~]# cd /etc/security/limits.d
[root@localhost limits.d]# vim 90-nproc.conf
*(这个90-nproc.conf 可能是 20-nproc.conf 但是无妨,直接改就行)
将文件中的*改为 elsearch
elsearch soft nproc 4096
root soft nproc unlimited
然后
[root@localhost security]# vi /etc/sysctl.conf
vm.max_map_count = 655360
保存后执行下命令:sysctl -p 这句一定要在root账户下完成
4、启动!! 启动脚本最后贴,看最后~
5、启动成功后
使用ss -nult 命令 查看9200端口
四、访问
访问ip:9200端口,查看ES欢迎页
五、下载IK分词器
1、在线安装分词器
虽然es已经默认提供了分词,但是不支持中文分词,如果我们想要对中文进行分词,则需要下载IK分词器
可以直接在linux运行命令:
[root@localhost es7.9]# ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.9.1/elasticsearch-analysis-ik-7.9.1.zip
https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.8.23/elasticsearch-analysis-ik-6.8.23.zip
2、离线安装分词器
IK分词器 Github下载:GitHub地址
点击更多版本,找到与我们ES版本对应的ik分词器的版本
下载下来之后使用xftp传到linux ES中的指定目录上并且解压到 /usr/es/es7.9/plugins/ik文件夹下即可
六、安装Kibana
Kibana是一个可视化工具,类似于我们MySQL的Navicat,提供一个可视化的操作页面。
在安装Kibana的时候要注意对应ES的版本,要版本一致!!
1、 下载Kibana
下载安装好之后,解压到指定目录
tar -zxvf kibana.tar.gz -C /usr/kibana7.9.1
修改配置文件!
加上这些:
server.host: “192.168.220.129”
elasticsearch.hosts: [“http://192.168.220.129:9200/”]
i18n.locale: "zh-CN" #汉化
192.168.220.129是你的本机IP(复制的时候要注意引号)
server.host 配成以上配置外网可能访问不到kibana,如果出现此问题可以换成0.0.0.0
2、启动Kibana
后面将启动脚本上传
3、访问
启动ES 并 启动Kibana成功后,访问5601
七、启动脚本
startup.sh
#!/bin/bash
./elasticsearch-7.9.1/bin/elasticsearch -d
sleep 20
nohup ./kibana/bin/kibana &
restart.sh
ps -ef | grep elasticsearch | grep -v grep | awk '{print $2}' | xargs kill -9
ps -ef | grep kibana | grep -v grep | awk '{print $2}' | xargs kill -9
rm -rf elsearch.out
rm -rf kibana.out
nohup ./startup.sh > nohup.out &
八、es 默认索引的大小,保存很多数据会保存不进去,报错如下
"[parent] Data too large, data for [<http_request>] would be [993548534/947.5mb], which is larger th
查询502 报错
解决方案:1、查看当前的字段内存分配情况
GET /_stats/fielddata?fields=*
2、查看所有索引的memory_size_in_bytes全部为0
GET _settings/_all
此时出现了一个更详细的错误,显示为Circuit breaker errors,且为[parent]类型,查阅ES官方文档,发现是由于heap size设置过小导致。
3、ps查看启动命令,确实只设置了1G内存。
根据官方文档说明,在ES目录创建配置-Xms10g -Xmx10g,注意最大和最小要设置为相同大小。
vim ./config/jvm.options.d/esheap.options
-Xms10g
-Xmx10g
然后重启ElasticSearch,问题解决。
————————————————
版权声明:本文为CSDN博主「无敌小田田」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_36602951/article/details/121753954