liunx 搭建7.12.0 elk同步mysql并springboot访问

本文详细介绍了如何在Linux环境中搭建Elasticsearch单机及集群,配置Logstash从MySQL同步数据到Elasticsearch,并安装Kibana进行可视化监控。此外,还讲解了安装IKAnalyzer中文分词器以提升中文搜索效率。整个过程包括Elasticsearch的下载、配置、权限设置,Logstash的安装、配置文件编写,以及Kibana的下载、配置和启动。最后,展示了SpringBoot如何连接Elasticsearch进行数据搜索。


一、搭建Elasticsearch

今天做了新的一个商城项目,里面搜索用的就是elk,把mysql数据库中存的数据通过logstash搜集给elasticsearch,springboot通过 RestHighLevelClient 即可查询数据库中的数据。经过测试是真的快啊。所以自己搭建记录一下

提示:以下是本篇文章正文内容,下面案例可供参考

一、搭建单机ELasticsearch

1.下载

1.elk 下载官网

www.elastic.co/downloads/
在这里插入图片描述
在这里插入图片描述
我搭建的是最新版本的,下载下来的是xxx.tar.gz

2.传到liunx服务器

我是用xftp传的
自己在liunx 新建一个文件夹存储压缩文件

cd /usr/local
mkdir elaticsearch

在这里插入图片描述
解压

tar -zxvf elasticsearch-7.12.0-linux-x86_64.tar.gz
改个名字
mv   elasticsearch-7.12.0-linux-x86_64 es

启动

cd /usr/local/elasticsearch/es/
./bin/elasticsearch

会报错的java.lang.RuntimeException: can not run elasticsearch as root
在这里插入图片描述
因为当前是 root 用户,es 默认不允许 root 用户操作。

3.创建 es 用户组

创建 es 用户组和 es 用户,并将其添加到用户组 es 中

groupadd es 
useradd es -g es

更改 es 文件夹及内部文件的所属用户及组为 es:es

chown -R es /usr/local/elasticsearch/es/
4.修改配置

修改es下 conf下 jvm.options (看自己电脑配置,尽量而行,我的liunx 内存是2g的,以后启动集群3个你设的加起来挺多的,自己做实验还是弄小点比较好)

vim es/config/jvm.options
-Xms128m
-Xmx128m

修改elasticsearch.yml

vim es/config/elasticsearch.yml
#network.host为当前服务器ip(记住一定是内网ip)或者是0.0.0.0
cluster.name: elasticsearch
node.name: node-1
network.host: 172.21.0.13
http.port: 9200
transport.tcp.port: 9300 #对外访问端口
discovery.seed_hosts: ["172.21.0.13:9300"] 
cluster.initial_master_nodes: ["172.21.0.13:9300"]
# 允许head插件远程访问
http.cors.enabled: true
http.cors.allow-origin: "*"
#最久未使用(LRU)的 fielddata 会被回收为新数据腾出空间 必须要添加的配置
indices.breaker.total.use_real_memory: false
#fielddata 断路器默认设置堆的 60% 作为 fielddata 大小的上限。
indices.breaker.fielddata.limi: 60%  
#request 断路器估算需要完成其他请求部分的结构大小,例如创建一个聚合桶,默认限制是堆内存的 40%。
indices.breaker.request.limit: 40%
#total 揉合 request 和 fielddata 断路器保证两者组合起来不会使用超过堆内存的 70%。
indices.breaker.total.limit: 70%

修改liunx配置

vim /etc/sysctl.conf

i进行添加

vm.max_map_count=655360

esc 输入 :wq
然后执行加载参数

sysctl -p
vim /etc/security/limits.conf
#添加如下内容
* hard nofile 65536
* soft nofile 65536
* soft nproc 4096
* hard nproc 4096
:wq 保存并退出
# 其中*表示所有用户  nofile表示最大文件句柄数,表示能够打开的最大文件数目
此处不行还要修改 /etc/security/limits.d/90-nproc.conf
vim  /etc/security/limits.d/90-nproc.conf
* soft nproc 4096
:wq 保存并退出(启动还报错)

vi bin/elasticsearch
在开始的位置加入:
export JAVA_HOME=/usr/local/elasticsearch/es/jdk      #(此处es的jdk所在目录)
export PATH=$JAVA_HOME/bin:$PATH
:wq 保存并退出

切换到es用户下,进入到elasticsearch根目录下执行

如果出现  ERROR: [2] bootstrap checks failed
[1]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
[2]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] mu
修改elastic search.yml文件加入:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
su es
cd /usr/local/elaticsearch/es/bin/
 ./elasticaearch -d  后台启动

2.安装head 监控elasticsearch

这个必须安装,因为这个是监控elasticsearch用的,等集群和kibana搭完了,这个才没用。否则你不知道你搭的对不对

1. 安装git
yum -y install git
2. 安装node

下载 node 地址 https://nodejs.org/en/download/
在这里插入图片描述
如果你liunx有wegt也可以
(yum -y install wget 不好用删了 yum -y remove wget 重新安装)

cd /usr/local/elasticsearch
wget https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-x64.tar.xz

下载后,是一个【node-v10.16.3-linux-x64.tar.xz】文件夹,进行解压

tar -xJf node-v10.16.3-linux-x64.tar.xz 

配置环境变量

su root
vi /etc/profile

进入文件后,在最后面追加两条路径,如下

#(刚刚解压地址)
export NODEJS_HOME=/usr/local/elasticsearch/node-v10.16.3-linux-x64
export PATH=$NODE_HOME/bin:$PATH

liunx执行

source /etc/profile 

看看安装完了没,显示node版本则安装完了

node -v

在这里插入图片描述

3. 安装head
mkdir -p /usr/local/elasticsearch/plugins
cd /usr/local/elasticsearch/plugins

第一种安装方法

git clone git://github.com/mobz/elasticsearch-head.git

第二种安装方法
(wget不下来直接访问 https://github.com/mobz/elasticsearch-head/archive/master.zip)

wget  https://github.com/mobz/elasticsearch-head/archive/master.zip
unzip master.zip
cd /usr/local/elasticsearch/plugins/elasticsearch-head-master/ 
vi Gruntfile.js

加上
homename: ‘*’,
在这里插入图片描述
cd /usr/local/elasticsearch/plugins/elasticsearch-head-master
执行即可启动

npm install -g grunt-cli -d
npm install grunt --save
npm install
npm run start &
#后台启动
nohup npm run start &

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

分片数 = 5 片 * 副本数

增加
http://81.70.170.21:9200/es_head/_create/1/
在这里插入图片描述

version 修改后会+1
修改:
在这里插入图片描述

不存在id1会创建
查询

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值