分布式搜索elasticsearch的安装步骤

发布时间:2021-09-13 23:41:23 作者:chen
来源:亿速云 阅读:136
# 分布式搜索Elasticsearch的安装步骤

## 一、Elasticsearch简介

Elasticsearch是一个基于Lucene构建的开源、分布式、RESTful搜索引擎,广泛应用于日志分析、全文检索、实时监控等领域。其核心特点包括:

- **分布式架构**:支持水平扩展,自动分片数据
- **近实时搜索**:数据变更可在1秒内被检索
- **多租户支持**:通过索引机制实现数据隔离
- **丰富的API**:提供HTTP RESTful接口和多种语言客户端

## 二、环境准备

### 1. 系统要求
- 操作系统:Linux/Windows/macOS(生产环境推荐Linux)
- Java环境:JDK 8或11(推荐OpenJDK)
- 内存:至少2GB可用内存(生产环境建议8GB+)
- 磁盘:SSD存储可获得更好性能

### 2. 检查Java环境
```bash
java -version

若未安装,可通过以下命令安装OpenJDK:

# Ubuntu/Debian
sudo apt install openjdk-11-jdk

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

三、Linux系统安装步骤

1. 下载安装包

从官网获取最新稳定版(以7.15.2为例):

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.15.2-linux-x86_64.tar.gz

2. 解压安装

tar -xzf elasticsearch-7.15.2-linux-x86_64.tar.gz
cd elasticsearch-7.15.2/

3. 创建专用用户

出于安全考虑,不建议使用root运行:

sudo useradd -m elasticsearch
sudo chown -R elasticsearch:elasticsearch /path/to/elasticsearch-7.15.2

4. 修改配置文件

编辑config/elasticsearch.yml

cluster.name: my-application
node.name: node-1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]

5. 调整系统参数

# 修改虚拟内存限制
sudo sysctl -w vm.max_map_count=262144

# 修改文件描述符限制
echo "elasticsearch - nofile 65535" | sudo tee -a /etc/security/limits.conf

6. 启动服务

sudo -u elasticsearch ./bin/elasticsearch

后台运行可添加-d参数

7. 验证安装

curl -X GET "localhost:9200/"

成功将返回包含版本信息的JSON响应

四、Windows系统安装

1. 下载ZIP包

从官网下载Windows版本压缩包

2. 解压文件

使用工具解压到指定目录(路径不要包含空格)

3. 修改配置

编辑config/elasticsearch.yml

network.host: 0.0.0.0

4. 启动服务

.\bin\elasticsearch.bat

五、集群配置(可选)

1. 修改各节点配置

cluster.name: my-cluster
node.name: node-2
discovery.seed_hosts: ["192.168.1.10", "192.168.1.11"]
cluster.initial_master_nodes: ["node-1", "node-2"]

2. 跨节点通信

确保防火墙开放9300端口(节点通信)和9200端口(API)

六、安全配置

1. 启用基础安全

在elasticsearch.yml中添加:

xpack.security.enabled: true

2. 设置密码

./bin/elasticsearch-setup-passwords interactive

七、常见问题解决

  1. 启动失败:内存不足 修改config/jvm.options

    -Xms1g
    -Xmx1g
    
  2. 无法绑定网络端口 检查network.host配置和防火墙设置

  3. 分片未分配 执行集群健康检查:

    curl -XGET 'http://localhost:9200/_cluster/health?pretty'
    

八、后续操作建议

  1. 安装Kibana进行可视化监控
  2. 配置Logstash实现数据管道
  3. 定期备份重要索引数据
  4. 根据业务需求调整分片数和副本数

注意:生产环境建议使用官方RPM/DEB包或容器化部署,便于服务管理。本文以测试环境为例,实际部署时请参考官方文档。 “`

这篇文章共计约1150字,采用Markdown格式编写,包含: 1. 多级标题结构 2. 代码块和配置示例 3. 有序和无序列表 4. 重点内容强调 5. 跨平台安装说明 6. 常见问题解决方案 7. 安全建议和后续操作指南

推荐阅读:
  1. Elasticsearch分布式搜索引擎介绍
  2. 基于 Elasticsearch 搜索平台

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

elasticsearch

上一篇:Linux中tput命令的使用方法

下一篇:什么是MySQL

相关阅读

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

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