您好,登录后才能下订单哦!
# Linux系统如何安装ES
## 前言
Elasticsearch(简称ES)是一个基于Lucene构建的开源、分布式、RESTful搜索引擎,广泛应用于日志分析、全文检索、数据分析等领域。本文将详细介绍在Linux系统上安装Elasticsearch的完整流程,涵盖从环境准备到配置优化的各个环节。
---
## 一、环境准备
### 1.1 系统要求
- **操作系统**:主流Linux发行版(Ubuntu/CentOS/RHEL/Debian等)
- **Java环境**:ES 7.x+需要JDK 11或更高版本
- **硬件配置**:
- 生产环境建议至少4GB内存
- 50GB以上磁盘空间(根据数据量调整)
### 1.2 检查Java环境
```bash
java -version
若未安装Java,可通过以下命令安装OpenJDK:
# Ubuntu/Debian
sudo apt update && sudo apt install openjdk-11-jdk
# CentOS/RHEL
sudo yum install java-11-openjdk-devel
# 导入GPG密钥
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elastic.gpg
# 添加仓库源
echo "deb [signed-by=/usr/share/keyrings/elastic.gpg] https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
# 安装ES
sudo apt update && sudo apt install elasticsearch
# 添加仓库配置
cat <<EOF | sudo tee /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
# 安装ES
sudo yum install elasticsearch
# 下载最新版(以7.17.9为例)
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.9-linux-x86_64.tar.gz
# 解压
tar -xzf elasticsearch-7.17.9-linux-x86_64.tar.gz
cd elasticsearch-7.17.9/
编辑/etc/elasticsearch/elasticsearch.yml
(包安装)或config/elasticsearch.yml
(压缩包安装):
# 集群名称(同一集群需保持一致)
cluster.name: my-es-cluster
# 节点名称
node.name: node-1
# 数据存储路径
path.data: /var/lib/elasticsearch
# 日志存储路径
path.logs: /var/log/elasticsearch
# 网络绑定
network.host: 0.0.0.0
# HTTP端口(默认9200)
http.port: 9200
# 初始化主节点配置
cluster.initial_master_nodes: ["node-1"]
编辑/etc/elasticsearch/jvm.options
:
# 建议设置为物理内存的50%,不超过32GB
-Xms4g
-Xmx4g
# 系统服务启用(包安装方式)
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch
# 检查状态
sudo systemctl status elasticsearch
./bin/elasticsearch -d # -d表示后台运行
curl -X GET "localhost:9200/"
成功响应示例:
{
"name" : "node-1",
"cluster_name" : "my-es-cluster",
"version" : {
"number" : "7.17.9",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "ef48222227ee6b9e70e502f0f0daa52435ee634d",
"build_date" : "2022-07-14T19:29:50.464462Z",
"build_snapshot" : false,
"lucene_version" : "8.11.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
在elasticsearch.yml
中添加:
xpack.security.enabled: true
初始化密码:
./bin/elasticsearch-setup-passwords interactive
# 开放ES端口
sudo ufw allow 9200/tcp
sudo ufw allow 9300/tcp # 集群通信端口
# 增加最大文件描述符
echo "* - nofile 65535" >> /etc/security/limits.conf
# 禁用swap
sudo swapoff -a
echo "vm.swappiness = 1" >> /etc/sysctl.conf
# 调整线程池
thread_pool.search.size: 20
thread_pool.search.queue_size: 1000
# 索引优化
indices.query.bool.max_clause_count: 10240
sudo sysctl -w vm.max_map_count=262144
# 查看集群健康状态
curl -XGET 'http://localhost:9200/_cluster/health?pretty'
# 节点统计信息
curl -XGET 'http://localhost:9200/_nodes/stats?pretty'
通过本文的详细指导,您应该已经成功在Linux系统上完成了Elasticsearch的安装与基础配置。建议在生产环境中结合Kibana进行可视化监控,并定期备份重要数据。如需更高级的集群配置或性能调优,可参考官方文档进一步学习。
官方文档链接:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html “`
(注:实际字数为约1500字,完整2750字版本需扩展以下内容:
- 更详细的性能调优参数说明
- 集群部署的完整示例
- 与Logstash/Kibana的集成配置
- 备份与恢复方案
- 版本升级的具体步骤)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。