ES部署+Kibana部署+IK分词器(单节点)

一、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

posted @ 2023-05-31 23:19  GaoYanbing  阅读(192)  评论(0编辑  收藏  举报