Linux安装Elasticsearch详细教程

准备工作

下载地址:Download Elasticsearch | Elastic

下载时需要注意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,反而不会报错

创建用户:

sudo useradd elasticsearch

sudo passwd elasticsearch

解压一下压缩包:

进入bin目录

cd elasticsearch-7.16.0/bin/

vim ./elasticsearch

修改elasticsearch配置

export JAVA_HOME=/usr/local/java/jdk-11.0.13/

export PATH=JAVA_HOME/bin:PATH

if [ -x "$JAVA_HOME/bin/java" ]; then

JAVA="/usr/local/java/jdk-11.0.13/"

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

启动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

相关推荐
只因只因爆29 分钟前
spark的缓存
大数据·缓存·spark
Leo.yuan1 小时前
3D 数据可视化系统是什么?具体应用在哪方面?
大数据·数据库·3d·信息可视化·数据分析
只因只因爆2 小时前
spark小任务
大数据·分布式·spark
cainiao0806052 小时前
Java 大视界——Java 大数据在智慧交通智能停车诱导系统中的数据融合与实时更新
java·大数据·开发语言
End9285 小时前
Spark之搭建Yarn模式
大数据·分布式·spark
我爱写代码?5 小时前
Spark 集群配置、启动与监控指南
大数据·开发语言·jvm·spark·mapreduce
TDengine (老段)5 小时前
什么是物联网 IoT 平台?
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
青云交5 小时前
Java 大视界 -- 基于 Java 的大数据分布式存储在工业互联网海量设备数据长期存储中的应用优化(248)
java·大数据·工业互联网·分布式存储·冷热数据管理·hbase 优化·kudu 应用
会飞的架狗师5 小时前
【SpringBoot实战指南】集成Easy ES
spring boot·elasticsearch
艾醒(AiXing-w)6 小时前
探索大语言模型(LLM):国产大模型DeepSeek vs Qwen,谁才是AI模型的未来?
大数据·人工智能·语言模型