系列文章目录

第一章 Linux环境下 ElasticSearch-9.3.2 安装配置及运行


1. 环境准备

1.1 创建普通用户

ElasticSearch 从 5.0 版本开始,官方已明确禁止使用 root 用户进行安装。所以出于安全考虑,建议避免使用 root 用户安装 ElasticSearch。所以首先我们要创建一个新的用户,接下来的所有操作都在这个新建的用户下进行。

#创建 ElasticSearch 安装用户及用户组,或使用其他已有普通用户
groupadd elasticsearch
useradd -g elasticsearch -d /home/elasticsearch -s /bin/bash elasticsearch
passwd elasticsearch

1.2 创建ElasticSearch安装目录

# 创建安装目录(该目录是我示例安装目录,实际安装中可自行配置)
mkdir -p /opt/elasticsearch

# 如果是用 root 用户创建时,可以设置目录权限到给到用户 elasticsearch
chown -R elasticsearch:elasticsearch /opt/elasticsearch

2. 下载安装包

再次特别需要注意:安装包下载安装及后续操作,建议都在 1.1 创建普通用户 创建的用户下进行,避免文件权限问题。

2.1 安装包下载地址

ElasticSearch 各版本安装包下载地址

2.2 下载二进制安装包

在这里以下载 9.3.2 版本二进制安装包为例,实际请根据自身需要下载对应版本。

# 首先切换到安装用户(root用户下执行的话,已切换可跳过)
su - elasticsearch

# 切换到安装目录
cd /opt/elasticsearch

# 下载安装包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-9.3.2-linux-x86_64.tar.gz

2.3 解压安装包

tar -zxvf elasticsearch-9.3.2-linux-x86_64.tar.gz

解压后,目录结构大致如下:
在这里插入图片描述

/opt/elasticsearch/elasticsearch-9.3.2
├── bin/                       # 可执行文件目录
│   ├── elasticsearch          # 主启动脚本
│   └── elasticsearch-plugin   # 插件管理工具
├── config/                    # 配置文件目录
│   ├── elasticsearch.yml      # 主配置文件
│   ├── jvm.options            # JVM 配置
│   └── log4j2.properties      # 日志配置
├── jdk/                       # 自带JDK目录
├── lib/                       # 库文件目录
├── modules/                   # 模块目录
├── plugins/                   # 插件目录(初始为空)
├── logs/                      # 日志目录(运行时创建)
└── data/                      # 数据目录(运行时创建)

3. 环境参数配置

ElasticSearch 运行依赖 JDK 环境,所以在这我们需要配置好JDK的环境变量。

3.1 ES 和 JDK 环境变量配置

修改安装用户 elasticsearch 环境变量文件~/.bashrc,增加 ES_HOMEES_JAVA_HOME 配置。

vim ~/.bashrc

增加 ES_HOME 配置:

# 解压 ElasticSearch 安装包后,解压获得的`elasticsearch-9.3.2`目录的路径
export ES_HOME=/opt/elasticsearch/elasticsearch-9.3.2

增加 JDK 环境变量:

# elasticsearch-9.3.2 目录中,jdk目录的路径。
export JAVA_HOME=/opt/elasticsearch/elasticsearch-9.3.2/jdk
export PATH=$JAVA_HOME/bin:$PATH
# 低版本 ElasticSearch 解压后,解压目录中无jdk目录,需要自行在服务器上准备jdk
# 特别注意:理论上,只需要配置ES_JAVA_HOME即可,无需配置JAVA_HOME和PATH

保存退出,并 source 环境变量文件生效。

source ~/.bashrc

3.2 ES 配置文件

此处配置 ES 启动及远程连接相关配置(示例为单机部署)
编辑 ElasticSearch 主配置文件:

vim /opt/elasticsearch/elasticsearch-9.3.2/config/elasticsearch.yml

配置文件中主要需要配置的如下配置项 ,没有的配置项直接增加即可,内容如下:

# 配置节点对外提供服务的地址,配置为 0.0.0.0 可以开启远程访问支持
network.host: 0.0.0.0

# 特别需要注意!!!指定集群为单节点,避免 ElasticSearch 启动时默认寻找其他节点导致启动失败
discovery.type: single-node

# 设置 HTTP 访问端口,默认为9200,需要时可修改
http.port: 9200

# 安全功能配置(8.x 默认开启,单节点开发环境可关闭)
xpack.security.enabled: false

3.3 ES 运行时 JVM 相关配置

Elasticsearch 从 ‌7.11 版本起引入了 jvm.options.d 目录,作为官方推荐的自定义 JVM 参数管理机制 ‌,以提升配置的可维护性和升级兼容性。该目录允许用户通过放置 .options 文件(如custom-jvm.options)来添加或覆盖 JVM 参数,而‌无需直接修改主 jvm.options 文件‌,避免升级时配置被覆盖。Elasticsearch 7.11 之前‌的版本(如 7.10 及更早)‌不支持 jvm.options.d‌,JVM 参数只能通过 config/jvm.options 文件配置。即使在 7.11+ 中,‌直接修改 jvm.options 仍可工作‌,但官方明确建议使用 jvm.options.d 进行自定义。
在这里插入图片描述

4. 启动服务

# 打开 elasticsearch 解压文件目录
cd /opt/elasticsearch/elasticsearch-9.3.2

# 前台启动(便于查看日志)
./bin/elasticsearch

# 或后台启动
./bin/elasticsearch -d -p pid

# 或后台启动输出日志
nohup ./bin/elasticsearch > logs/elasticsearch.log 2>&1 &

5. 运行测试

方式一:shell 指令

# 测试 Elasticsearch 是否正常运行,若修改了 ES 默认端口,请注意此处访问时同步修改。
curl -X GET "http://localhost:9200/"

输出以下内容即为成功:

{
  "name" : "VM-0-3-opencloudos",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "VyzdQPLiSiK4NLwt6gZ5Dw",
  "version" : {
    "number" : "9.3.2",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "43a703737aab6baefa748bc7b69e4054926f2b2c",
    "build_date" : "2026-03-16T13:12:56.143057855Z",
    "build_snapshot" : false,
    "lucene_version" : "10.3.2",
    "minimum_wire_compatibility_version" : "8.19.0",
    "minimum_index_compatibility_version" : "8.0.0"
  },
  "tagline" : "You Know, for Search"
}

方式二:google 浏览器插件
在这里以 Elasticsearch Multi-head(s) 为例,直接在谷歌搜索安装即可
同时 Elasticsearch Tools 和 elasticvue 也是同样的安装方式
在这里插入图片描述
Elasticsearch Multi-head(s) 配置及运行:

在这里插入图片描述
方式三:通过 Kibana 可视化界面连接(具体在下面 Kibana 安装配置中讲解)

6. 停止服务

# 使用 PID 文件
cd /opt/elasticsearch/elasticsearch-9.3.2
pkill -F pid

# 或者通过进程名停止
pkill -f elasticsearch

# 或者通过 jps 指令查找停止
#[elasticsearch@VM-0-3-opencloudos elasticsearch-9.3.2]$ jps
#2192 CliToolLauncher
#2256 Elasticsearch
#130389 Jps

kill -9 Elasticsearch PID

7. Kibana 安装及配置

Kibana 是一个开源的分析与可视化平台,设计出来用于和 Elasticsearch 一起使用的。你可以用Kibana 搜索、查看、交互存放在 Elasticsearch 索引里的数据,使用各种不同的图表、表格、地图等,Kibana 能够很轻易地展示高级数据分析与可视化。

界面如下所示:

在这里插入图片描述
Kibana 官方介绍地址

7.1 Kibana 安装包下载

特别注意:Kibana 的版本要和自己 Linux 上安装的 ElasticSearch 版本对应起来。比如我上面示例安装的 ElasticSearch 是 9.3.2 版本,那 Kibana 也要下载 9.3.2 的版本配套使用。

# 打开安装路径,这里我和 ElasticSearch 下载到相同目录便于管理
cd /opt/elasticsearch/

# 下载 Kibana 安装包
wget https://artifacts.elastic.co/downloads/kibana/kibana-9.3.2-linux-x86_64.tar.gz

# 解压安装包
tar zxvf kibana-9.3.2-linux-x86_64.tar.gz

7.2 Kibana 参数配置

# 打开解压后 kibana 对应的配置目录
cd /opt/elasticsearch/kibana-9.3.2/config/

# 编辑配置文件设置对应参数
vim kibana.yml 

主要配置以下几个参数(此为单机部署配置):

# Kibana 访问端口号
server.port: 5601

# Kibana 监控可访问的IP,默认 localhost 仅允许本地访问,若远程访问则暴露IP如下配置
server.host: "0.0.0.0"

# Kibana 和 elasticsearch 的绑定,若都在同一服务器可如下配置,否则需配置 elasticsearch 服务公网IP和端口
elasticsearch.hosts: ["http://localhost:9200"]

# Kibana 可视化界面语言,默认 es 英语,可设置为中文 zh-CN
i18n.locale: "zh-CN"

7.3 启动 Kibana 服务

# 打开 kibana 目录
cd /opt/elasticsearch/kibana-9.3.2

# 前台启动服务,便于查看输出日志
./bin/kibana & 

# 或者后台启动,并输出日志文件
nohup ./bin/kibana > /opt/elasticsearch/kibana-9.3.2/logs/kibana.log 2>&1 &

# 查看日志输出情况
tail -f /opt/elasticsearch/kibana-9.3.2/logs/kibana.log 

7.4 停止 Kibana 服务

# 查找 Kibana 进程
# 这里需要注意,带有 node 不一定就是 kibana 的进程,如下显示
ps -ef|grep node

如图所示:

在这里插入图片描述

# kibana 对外的 tcp 端口是 5601,所以可以进一步使用如下命令查到进程号
netstat -tunlp|grep 5601

如图所示:

在这里插入图片描述

# 杀掉进程
kill 95184

# 或者强制杀掉
kill -9 95184

总结

以上就是 ElasticSearch-9.3.2 和 Kibana 版本安装及配置的相关内容,集群相关配置在后续时间实践后再更新。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐