文章目录
- 一、前言
- 二、Windows系统安装部署
- 2.1 环境准备
- 2.2 Elasticsearch安装
- 2.3 安装为Windows服务
- 2.4 Head插件安装
- 2.5 Kibana集成(可选)
- 三、Linux系统安装部署
- 3.1 环境准备
- 3.2 Elasticsearch安装
- 3.3 系统优化
- 3.4 启动服务
- 3.5 安全配置(可选)
- 3.6 Kibana安装(可选)
- 四、常见问题排查
- 4.1 Windows系统
- 4.2 Linux系统
- 五、总结
一、前言
Elasticsearch是一个基于Lucene的分布式搜索和分析引擎,适用于日志分析、全文搜索等场景。本文提供Windows和Linux双系统的安装部署教程,包含环境配置、服务安装、插件集成及安全设置。
二、Windows系统安装部署
2.1 环境准备
-
安装JDK
- 访问Oracle JDK下载页面下载JDK 11或更高版本。
- 安装完成后配置环境变量:
JAVA_HOME = C:\Program Files\Java\jdk-11 Path += %JAVA_HOME%\bin
-
验证Java环境
打开CMD输入:java -version
2.2 Elasticsearch安装
-
下载Elasticsearch
访问官方下载页选择Windows ZIP包(如8.17.0版本)。 -
解压并启动
解压到D:\elasticsearch
,进入bin
目录运行:elasticsearch.bat
-
验证服务
浏览器访问:http://localhost:9200
返回JSON即表示成功。
2.3 安装为Windows服务
-
安装服务
以管理员身份运行CMD,进入bin
目录执行:elasticsearch-service.bat install
-
管理服务
elasticsearch-service.bat start # 启动 elasticsearch-service.bat stop # 停止 elasticsearch-service.bat remove # 卸载
2.4 Head插件安装
-
安装Node.js
下载Node.js LTS版本,安装后验证:node -v
-
安装Grunt
npm install -g grunt-cli
-
下载Head插件
从GitHub仓库下载ZIP包,解压到D:\elasticsearch-head
。 -
启动Head
进入解压目录执行:npm install && npm start
浏览器访问:
http://localhost:9100
-
配置CORS
修改elasticsearch.yml
:http.cors.enabled: true http.cors.allow-origin: "*"
2.5 Kibana集成(可选)
-
下载Kibana
访问Kibana下载页,选择与ES匹配的版本。 -
修改配置
编辑kibana.yml
:server.port: 5601 server.host: "0.0.0.0" elasticsearch.hosts: ["http://localhost:9200"]
-
启动Kibana
进入bin
目录运行:kibana.bat
三、Linux系统安装部署
3.1 环境准备
-
安装JDK
wget https://download.java.net/openjdk/jdk8u392/ri/openjdk-8u392-b07-linux-x64-ri.tar.gz tar -zxvf openjdk-8u392-b07-linux-x64-ri.tar.gz -C /opt echo 'export JAVA_HOME=/opt/jdk8u392-b07' >> ~/.bashrc source ~/.bashrc
-
创建用户组
groupadd esgroup useradd -g esgroup esuser passwd esuser # 设置密码
3.2 Elasticsearch安装
-
下载并解压
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.17.0-linux-x86_64.tar.gz tar -zxvf elasticsearch-8.17.0-linux-x86_64.tar.gz -C /opt ln -s /opt/elasticsearch-8.17.0 /opt/elasticsearch
-
配置权限
chown -R esuser:esgroup /opt/elasticsearch*
-
修改配置文件
编辑/opt/elasticsearch/config/elasticsearch.yml
:cluster.name: my-cluster node.name: node-1 network.host: 0.0.0.0 http.port: 9200 cluster.initial_master_nodes: ["node-1"]
3.3 系统优化
-
调整文件句柄数
编辑/etc/security/limits.conf
:esuser hard nofile 65536
-
修改虚拟内存
编辑/etc/sysctl.conf
:vm.max_map_count=262144
执行:
sysctl -p
3.4 启动服务
-
切换用户并启动
su - esuser cd /opt/elasticsearch/bin ./elasticsearch
-
后台启动(可选)
nohup ./elasticsearch > /dev/null 2>&1 &
3.5 安全配置(可选)
-
生成TLS证书
使用官方脚本生成证书:./bin/elasticsearch-certutil cert -out config/certs/elastic-certificates.p12 -pass ""
-
配置HTTPS
修改elasticsearch.yml
:xpack.security.enabled: true xpack.security.http.ssl.enabled: true xpack.security.http.ssl.key: certs/elastic-certificates.p12
-
设置密码
./bin/elasticsearch-setup-passwords interactive
3.6 Kibana安装(可选)
-
下载并解压
wget https://artifacts.elastic.co/downloads/kibana/kibana-8.17.0-linux-x86_64.tar.gz tar -zxvf kibana-8.17.0-linux-x86_64.tar.gz -C /opt
-
修改配置
编辑/opt/kibana/config/kibana.yml
:server.port: 5601 server.host: "0.0.0.0" elasticsearch.hosts: ["https://localhost:9200"] elasticsearch.ssl.certificateAuthorities: ["/opt/elasticsearch/config/certs/http_ca.crt"]
-
启动Kibana
nohup /opt/kibana/bin/kibana > /dev/null 2>&1 &
四、常见问题排查
4.1 Windows系统
- 启动失败:检查JDK版本和环境变量,确保无空格路径。
- Head插件无法连接:确认
elasticsearch.yml
中CORS配置正确。
4.2 Linux系统
- 权限问题:确保目录所有权属于
esuser
。 - 内存不足:调整
jvm.options
中的-Xms
和-Xmx
参数。 - 防火墙拦截:开放9200和5601端口:
firewall-cmd --permanent --add-port=9200/tcp firewall-cmd --reload
五、总结
本文提供了Elasticsearch在Windows和Linux系统的详细安装部署流程,涵盖环境配置、服务安装、插件集成及安全设置。根据实际需求选择是否启用HTTPS和Kibana,生产环境建议配置集群模式以提高可用性。