elasticsearch 5.x的安装教程

发布时间:2021-07-02 17:51:00 作者:chen
来源:亿速云 阅读:342
# Elasticsearch 5.x 安装教程

## 目录
1. [Elasticsearch简介](#elasticsearch简介)
2. [环境准备](#环境准备)
   - [硬件要求](#硬件要求)
   - [软件要求](#软件要求)
3. [安装Java环境](#安装java环境)
4. [下载与安装Elasticsearch](#下载与安装elasticsearch)
   - [Linux系统安装](#linux系统安装)
   - [Windows系统安装](#windows系统安装)
   - [MacOS系统安装](#macos系统安装)
5. [配置Elasticsearch](#配置elasticsearch)
   - [核心配置文件](#核心配置文件)
   - [集群配置](#集群配置)
   - [内存设置](#内存设置)
6. [启动与验证](#启动与验证)
7. [常见问题解决](#常见问题解决)
8. [安全配置建议](#安全配置建议)
9. [总结](#总结)

---

## Elasticsearch简介
Elasticsearch是一个基于Lucene的分布式搜索和分析引擎,提供近实时搜索能力,广泛应用于日志分析、全文检索等场景。5.x版本是重要的稳定版本,引入了多项性能改进和新特性。

## 环境准备

### 硬件要求
- **内存**:至少4GB(生产环境建议8GB+)
- **CPU**:2核以上
- **磁盘**:SSD推荐,至少10GB可用空间

### 软件要求
- **操作系统**:Linux/Windows/MacOS
- **Java**:必须安装Oracle JDK或OpenJDK 1.8.0_131+
- **防火墙**:确保9200(HTTP)和9300(TCP)端口开放

## 安装Java环境

```bash
# Ubuntu/Debian
sudo apt update
sudo apt install openjdk-8-jdk

# CentOS/RHEL
sudo yum install java-1.8.0-openjdk

# 验证安装
java -version

注意:如果已安装其他Java版本,需通过update-alternatives切换版本

下载与安装Elasticsearch

Linux系统安装

# 下载deb包(Debian/Ubuntu)
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.16.deb
sudo dpkg -i elasticsearch-5.6.16.deb

# 或rpm包(CentOS/RHEL)
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.16.rpm
sudo rpm -ivh elasticsearch-5.6.16.rpm

# 源码安装(通用)
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.16.tar.gz
tar -xzf elasticsearch-5.6.16.tar.gz
cd elasticsearch-5.6.16

Windows系统安装

  1. 下载ZIP包:elasticsearch-5.6.16.zip
  2. 解压到C:\elasticsearch
  3. 以管理员身份运行PowerShell:
    
    cd C:\elasticsearch\bin
    .\elasticsearch.bat
    

MacOS系统安装

brew tap elastic/tap
brew install elastic/tap/elasticsearch-full@5.6.16

配置Elasticsearch

核心配置文件

路径:/etc/elasticsearch/elasticsearch.yml(Linux)或config/elasticsearch.yml(Windows)

# 基础配置
cluster.name: my-application
node.name: node-1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch

# 网络配置
network.host: 0.0.0.0
http.port: 9200

# 内存锁定(防止交换内存)
bootstrap.memory_lock: true

集群配置

discovery.zen.ping.unicast.hosts: ["host1", "host2"]
discovery.zen.minimum_master_nodes: 2

内存设置

编辑/etc/elasticsearch/jvm.options

-Xms2g
-Xmx2g

建议设置为物理内存的50%,不超过32GB

启动与验证

Linux系统

# Systemd方式
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

# 验证状态
curl -X GET "localhost:9200/_cluster/health?pretty"

Windows系统

# 作为服务安装
.\elasticsearch-service.bat install
.\elasticsearch-service.bat start

# 验证
Invoke-RestMethod -Uri "http://localhost:9200"

预期成功响应:

{
  "name" : "node-1",
  "cluster_name" : "my-application",
  "version" : {
    "number" : "5.6.16",
    "lucene_version" : "6.6.1"
  }
}

常见问题解决

问题1:内存锁定失败

错误日志:

memory locking requested for elasticsearch process but memory is not locked

解决方案: 1. 编辑/etc/security/limits.conf

   elasticsearch - memlock unlimited
  1. 重启服务

问题2:无法绑定网络端口

检查:

sudo netstat -tulnp | grep 9200

可能是其他进程占用或SELinux限制

问题3:集群节点无法发现

确保: - 防火墙已开放9300端口 - discovery.zen.ping.unicast.hosts配置正确

安全配置建议

  1. 启用X-Pack基础安全(需许可证):
    
    xpack.security.enabled: true
    
  2. 配置Nginx反向代理实现HTTP认证
  3. 定期备份快照
    
    curl -X PUT "localhost:9200/_snapshot/my_backup" -H 'Content-Type: application/json' -d'
    {
     "type": "fs",
     "settings": {
       "location": "/mnt/backups"
     }
    }'
    

总结

通过本教程,您已完成: - Java环境部署 - Elasticsearch 5.x多平台安装 - 基础配置与集群设置 - 服务启动验证 - 常见问题排查

建议下一步: - 安装Kibana进行可视化 - 学习索引创建和文档操作 - 配置Logstash实现数据管道

官方文档参考:Elasticsearch 5.6 Documentation “`

该教程约2550字,包含: 1. 多平台安装指南 2. 详细配置说明 3. 实战问题解决方案 4. 安全建议 5. 验证方法 格式严格遵循Markdown规范,适合发布到技术博客或文档平台。

推荐阅读:
  1. Elasticsearch写一致性在5.x版本之后已经被废弃掉
  2. elasticsearch5.3安装kibana、x-pack插件、elasticsearch-an

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

elasticsearch

上一篇:Mybatis中resultType与resultMap之间的关系和使用场景

下一篇:spring security中的权限控制是什么意思

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》