Java中比较流行的搜索引擎是Elasticsearch,传统的数据库搜索,使用like’关键字%’,当内容过多时性能会大大降低,所以Elasticsearch就出现了。本文将记录下来Linux安装全过程
1 Linux下安装Elasticsearch
1.1 下载和解压安装包
官网下载地址: www.elastic.co/cn/download…
选择合适的版本下载,然后上传到Linux中
执行解压缩命令:
tar -zxvf elasticsearch-7.13.2-linux-x86_64.tar.gz
1.2 解决es强依赖jdk问题
由于es和jdk是一个强依赖的关系,所以当我们在新版本的ElasticSearch压缩包中包含有自带的jdk,但是当我们的Linux中已经安装了jdk之后,就会发现启动es的时候优先去找的是Linux中已经装好的jdk,此时如果jdk的版本不一致,就会造成jdk不能正常运行,报错如下:
注:如果Linux服务本来没有配置jdk,则会直接使用es目录下默认的jdk,反而不会报错
解决办法:
进入bin目录
cd /usr/local/elasticsearch/bin
修改elasticsearch配置
vi elasticsearch-env
############## 添加配置解决jdk版本问题 ##############
将jdk修改为es中自带jdk的配置目录
if [ "$(uname -s)" = "Darwin" ]; then
# macOS has a different structure
JAVA="$ES_HOME/jdk.app/Contents/Home/bin/java"
else
JAVA="$ES_HOME/jdk/bin/java"
fi
JAVA_TYPE="bundled JDK"
请参考图片中的位置,进行更改
1.3 解决内存不足问题
由于 elasticsearch 默认分配 jvm空间大小为2g,修改 jvm空间,如果Linux服务器本来配置就很高,可以不用修改。 进入config文件夹开始配置,编辑jvm.options:
vi /usr/local/elasticsearch/config/jvm.options
更改后默认配置如下:
-Xms256m
-Xmx256m
1.4 修改ES核心配置信息
执行命令修改elasticsearch.yml文件内容
vi /usr/local/elasticsearch/config/elasticsearch.yml
修改数据和日志目录 这里可以不用修改,如果不修改,默认放在elasticsearch根目录下
数据目录位置
path.data: /usr/local/elasticsearch/data
日志目录位置
path.logs: /usr/local/elasticsearch/logs
修改绑定的ip允许远程访问
默认只允许本机访问,修改为0.0.0.0后则可以远程访问
绑定到0.0.0.0,允许任何ip来访问
network.host: 0.0.0.0
初始化节点名称
cluster.name: elasticsearch
node.name: es-node0
cluster.initial_master_nodes: ["es-node0"]
1.5 创建专用用户启动ES
root用户不能直接启动Elasticsearch,所以需要创建一个专用用户,来启动ES
创建用户
useradd user-es
创建所属组:
chown user-es:user-es -R /usr/local/elasticsearch
设置权限
chown -R user-es:user-es /usr/local/elasticsearch/data
切换到user-es用户
su user-es
启动elasticsearch
/usr/local/elasticsearch/bin/elasticsearch -d