文章目录
一、搭建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会创建
查询

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





