安装部署
1 环境要求
安装前请确保系统满足以下要求
系统要求
  • Java 8 或 Java 11(推荐)
  • 内存:至少 4GB RAM(生产环境建议 8GB+)
  • 磁盘:根据数据量确定,建议 SSD
  • 系统:Linux(推荐)、Windows、Mac
  • 文件描述符限制:至少 65535
  • 虚拟内存:vm.max_map_count >= 262144
2 单机安装(Tar包) 推荐
使用官方Tar包安装,适合开发和测试环境
# 下载 Elasticsearch 8.x
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.11.0-linux-x86_64.tar.gz

# 解压
tar -xzf elasticsearch-8.11.0-linux-x86_64.tar.gz
cd elasticsearch-8.11.0

# 修改配置文件
vim config/elasticsearch.yml

# 启动(开发模式)
./bin/elasticsearch

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

# 查看进程
cat pid
3 RPM/YUM 安装 CentOS/RHEL
使用YUM仓库安装,适合生产环境
# 导入GPG密钥
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

# 创建yum仓库
cat > /etc/yum.repos.d/elasticsearch.repo << 'EOF'
[elasticsearch]
name=Elasticsearch repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF

# 安装
yum install -y elasticsearch

# 启动服务
systemctl daemon-reload
systemctl enable elasticsearch
systemctl start elasticsearch

# 查看状态
systemctl status elasticsearch
4 APT 安装 Ubuntu/Debian
使用APT仓库安装
# 导入GPG密钥
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg

# 安装apt-transport-https
apt-get install -y apt-transport-https

# 添加仓库
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list

# 更新并安装
apt-get update
apt-get install -y elasticsearch

# 启动服务
systemctl daemon-reload
systemctl enable elasticsearch
systemctl start elasticsearch
5 Docker 安装 Docker
使用Docker快速部署
# 单节点开发环境
docker run -d \
  --name elasticsearch \
  -p 9200:9200 \
  -p 9300:9300 \
  -e "discovery.type=single-node" \
  -e "xpack.security.enabled=false" \
  -v es-data:/usr/share/elasticsearch/data \
  docker.elastic.co/elasticsearch/elasticsearch:8.11.0

# 使用Docker Compose
version: '3.8'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.11.0
    container_name: elasticsearch
    environment:
      - discovery.type=single-node
      - xpack.security.enabled=false
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ports:
      - "9200:9200"
    volumes:
      - es-data:/usr/share/elasticsearch/data

volumes:
  es-data:
6 验证安装
检查Elasticsearch是否正常运行
# 查看集群健康状态
curl -X GET "localhost:9200/_cluster/health?pretty"

# 查看节点信息
curl -X GET "localhost:9200/_cat/nodes?v"

# 查看索引列表
curl -X GET "localhost:9200/_cat/indices?v"

# 查看集群状态
curl -X GET "localhost:9200/_cluster/stats?pretty"
安全提示
  • 生产环境务必启用X-Pack安全功能
  • 修改默认的elastic用户密码
  • 配置TLS/SSL加密通信
  • 限制网络访问,不要直接暴露在公网
  • 定期备份重要数据