1、Linux centos7安装ElasticSearch
安装ElasticSearch之前要先安装java环境,本节不再赘述java环境搭建。
1、安装包下载
官网地址https://www.elastic.co/cn/downloads/elasticsearch
linux下载命令
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.2-linux-aarch64.tar.gz
2、解压文件
tar -xzvf elasticsearch-7.9.2-linux-aarch64.tar.gz
mv elasticsearch-7.9.2-linux-aarch64 elasticsearch-7.9.2
3、修改配置
cd 进入elasticsearch-7.9.2/config目录
编辑配置文件elasticsearch.yml 进行以下修改
vi elasticsearch.yml
如果是集群模式则放开cluster.name,单机模式放开node.name
修改数据存放路径,和日志路径
修改ip访问限制和运行端口,0.0.0.0表示不做限制
修改完保存退出
4、启动服务
进入bin目录cd ../bin
前台启动 ./elasticsearch
后台启动 ./elasticsearch -d
5、常见错误
5.1 报错1,无法执行java二进制文件
解决办法:自带的jdk执行不了,我们重新下载jdk11
华为仓库https://repo.huaweicloud.com/java/jdk/11.0.1+13/
下载解压后修改配置文件增加如下内容
#配置为我们下载的jdk
export JAVA_HOME=/mysoft/jdk-11.0.1/
export PATH=$JAVA_HOME/bin:$PATH
#添加jdk判断
if [ -x "$JAVA_HOME/bin/java" ]; then
JAVA="/mysoft/jdk-11.0.1/bin/java"
else
JAVA=`which java`
fi
5.2 报错二 空间不足
failed; error='Not enough space' (errno=12)
解决办法
修改config目录下的jvm.options
把如下两个值改小
-Xms1g
-Xmx1g
5.3 报错三 xpack.ml.enabled
解决办法:
配置文件elasticsearch.yml中添加xpack.ml.enabled: false
5.4 报错四 ERROR: [2] bootstrap checks failed
解决办法:
切换到root用户修改配置sysctl.conf
vi /etc/sysctl.conf
添加下面配置
vm.max_map_count=655360
并执行命令:sysctl -p
修改config
目录下的elasticsearch.yml
配置文件,添加如下内容
cluster.initial_master_nodes: ["node-1"]
5.5 错误提示:cluster.name没匹配上
NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{AoLA1LkqSEqcD5FE6B2utQ}{127.0.0.1}{127.0.0.1:9300}]
修改config目录下的elasticsearch.yml文件
#cluster.name: my-application
修改为项目里面的cluster.name即可
5.6 错误提示 不能用root启动elasticsearch
解决办法:
创建用户:useradd es
修改密码:passwd es出现以下界面输入密码,确认后再输入
更改文件所有者和所属组
chown -R es:es /mysoft/elasticsearch/elasticsearch-7.9.2
切换账号 :su es
启动服务:
cd /mysoft/elasticsearch/elasticsearch-7.9.2/bin/
./elasticsearch
5.7 springboot和elasticsearch版本兼容问题
具体看springboot引用的spring data elasticsearch版本是多少,本例使用的elasticsearch版本是7.9.2,springboot版本使用2.2.0
其他版本对应如下
查看elasticsearch版本
curl XGET localhost:9200
2、springboot集成elasticsearch实战demo
项目地址:https://github.com/JsonTom888/database/tree/main/springboot_elasticsearch