Linux-CentOS安装Elasticsearch

99 阅读2分钟

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"

请参考图片中的位置,进行更改
image.png

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