准备工作

下载地址:https://www.elastic.co/cn/downloads/elasticsearch
在这里插入图片描述

选择要下载的版本 采用文本7.15.2 并选择linux版本

在这里插入图片描述

下载时需要注意es与jdk版本对应关系

  • ES 7.x 及之前版本,选择 Java 8

  • ES 8.x 及之后版本,选择 Java 17 或者 Java 18,建议 Java 17,因为对应版本的 Logstash 不支持 Java 18

  • Java 9、Java 10、Java 12 和 Java 13 均为短期版本,不推荐使用

  • M1(Arm) 系列 Mac 用户建议选择 ES 7.8.x 以上版本,因为考虑到 ELK 不同产品自身兼容性,7.8.x以上版本原生支持 Arm 原生 JDK

由于es和jdk是一个强依赖的关系,所以当我们在新版本的ElasticSearch压缩包中包含有自带的jdk,但是当我们的Linux中已经安装了jdk之后,就会发现启动es的时候优先去找的是Linux中已经装好的jdk,此时如果jdk的版本不一致,就会造成jdk不能正常运行,报错如下:

warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME
Future versions of Elasticsearch will require Java 11; your Java version from [/usr/local/jdk1.8.0_291/jre] does not meet this requirement. Consider switching to a distribution of Elasticsearch with a bundled JDK. If you are already using a distribution with a bundled JDK, ensure the JAVA_HOME environment variable is not set.

注:如果Linux服务本来没有配置jdk,则会直接使用es目录下默认的jdk,反而不会报错

添加配置解决jdk版本问题

进入bin目录

cd /usr/local/elasticsearch-7.15.2/bin
vim ./elasticsearch 

修改elasticsearch配置

# 将jdk修改为es中自带jdk的配置目录
export JAVA_HOME=/usr/local/softwore/elasticsearch-7.15.2/jdk
export PATH=$JAVA_HOME/bin:$PATH

if [ -x "$JAVA_HOME/bin/java" ]; then
        JAVA="/usr/local/softwore/elasticsearch-7.15.2/jdk/bin/java"
else
        JAVA=`which java`
fi

ES为了安全不允许使用root用户启动,添加es用户并授权文件夹权限

#添加用户
useradd es
#修改/etc/sudoers文件,进入超级用户,因为没有写权限,所以要先把写权限加上
chmod u+w /etc/sudoers
#编辑/etc/sudoers文件,找到这一 行
vim /etc/sudoers
root ALL=(ALL:ALL) ALL
#添加这一行 es为新添加的用户名
es    ALL=(ALL)       ALL
#为了安全撤销文件的写权限
chmod u-w /etc/sudoers
#给es普通用户授理访问这个文件权限
sudo chown -R es:es /usr/local/softwore/elasticsearch/elasticsearch-7.15.2
#切换到es用户
su es

开始安装

将下载好的linux版本的压缩包上传到linux服务器并解压

tar -zxf elasticsearch-7.15.2-linux-x86_64.tar.gz

在这里插入图片描述

启动es

#切换到bin目录
cd bin 
#启动es服务 -d表示后台运行
./elasticsearch -d #

测试 看到如下信息说明启动成功

curl 127.0.0.1:9200

在这里插入图片描述

开启远程访问

默认ES无法使用远程连接,修改ES安装包中config/elasticsearch.yml配置文件

vim elasticsearch.yml
# 修改网络配置
#network.host: 192.168.0.1
# 改为:
network.host: 0.0.0.0

重新启动ES服务出现如下错误

bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
bootstrap check failure [2] of [2]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers

解决错误1

# 编辑sysctl.conf文件
$ vim /etc/sysctl.conf
vm.max_map_count=655360 #centos7 系统
vm.max_map_count=262144 #ubuntu 系统
# 执行以下命令生效:
$ sysctl -p

解决错误2 编辑elasticsearch.yml配置文件因为es默认以集群方式启动,所以我们需要先修改为单机节点启动

$ vim conf/elasticsearch.yml
cluster.initial_master_nodes: ["node-1"]

重新启动

浏览器输入http://服务器公网IP:9200/
在这里插入图片描述

安装Kibana

Linux安装Kibana详细教程

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐