linux如何安装和配置Elasticsearch

发布时间:2022-02-18 11:19:50 作者:小新
来源:亿速云 阅读:249
# Linux如何安装和配置Elasticsearch

## 目录
1. [Elasticsearch简介](#elasticsearch简介)
2. [系统要求](#系统要求)
3. [安装前准备](#安装前准备)
4. [安装Java环境](#安装java环境)
5. [下载和安装Elasticsearch](#下载和安装elasticsearch)
6. [配置Elasticsearch](#配置elasticsearch)
7. [启动和停止Elasticsearch](#启动和停止elasticsearch)
8. [验证安装](#验证安装)
9. [基本安全配置](#基本安全配置)
10. [常见问题解决](#常见问题解决)
11. [性能优化建议](#性能优化建议)
12. [集群配置](#集群配置)
13. [插件管理](#插件管理)
14. [备份与恢复](#备份与恢复)
15. [总结](#总结)

<a id="elasticsearch简介"></a>
## 1. Elasticsearch简介

Elasticsearch是一个开源的分布式搜索和分析引擎,基于Apache Lucene构建。它能够实现近乎实时的搜索,支持结构化查询、全文检索以及复杂的分析功能。广泛应用于日志分析、企业搜索、应用监控等领域。

主要特点:
- 分布式架构
- RESTful API
- 近实时搜索
- 多租户支持
- 文档导向存储

<a id="系统要求"></a>
## 2. 系统要求

在安装Elasticsearch前,请确保系统满足以下要求:

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

### 软件要求
- 操作系统:Linux(推荐Ubuntu/CentOS/RHEL)
- Java:OpenJDK或Oracle JDK 11+
- 用户权限:非root用户运行(安全考虑)

<a id="安装前准备"></a>
## 3. 安装前准备

### 创建专用用户
```bash
sudo adduser elasticsearch
sudo usermod -aG sudo elasticsearch

系统参数调优

编辑/etc/sysctl.conf

vm.max_map_count=262144
fs.file-max=65536

应用修改:

sudo sysctl -p

4. 安装Java环境

Elasticsearch需要Java 11或更高版本:

Ubuntu/Debian

sudo apt update
sudo apt install openjdk-11-jdk

CentOS/RHEL

sudo yum install java-11-openjdk-devel

验证安装:

java -version

5. 下载和安装Elasticsearch

方法一:通过包管理器安装(推荐)

Debian/Ubuntu

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo apt install apt-transport-https
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list
sudo apt update
sudo apt install elasticsearch

RHEL/CentOS

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
sudo vi /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

然后安装:

sudo yum install elasticsearch

方法二:手动下载安装

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.3-linux-x86_64.tar.gz
tar -xzf elasticsearch-7.17.3-linux-x86_64.tar.gz
sudo mv elasticsearch-7.17.3 /usr/share/elasticsearch

6. 配置Elasticsearch

主要配置文件路径: - /etc/elasticsearch/elasticsearch.yml(主配置) - /etc/elasticsearch/jvm.options(JVM配置)

基本配置示例

# 集群名称
cluster.name: my-elastic-cluster

# 节点名称
node.name: node-1

# 数据存储路径
path.data: /var/lib/elasticsearch

# 日志存储路径
path.logs: /var/log/elasticsearch

# 网络绑定
network.host: 0.0.0.0

# HTTP端口
http.port: 9200

# 发现设置(单节点)
discovery.type: single-node

JVM配置建议

编辑/etc/elasticsearch/jvm.options

-Xms2g
-Xmx2g

注意:Xmx和Xms应设置为相同值,不超过物理内存的50%

7. 启动和停止Elasticsearch

systemd管理

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch
sudo systemctl status elasticsearch

手动启动

sudo -u elasticsearch /usr/share/elasticsearch/bin/elasticsearch

停止服务

sudo systemctl stop elasticsearch

8. 验证安装

检查服务状态:

curl -X GET "localhost:9200/"

成功响应示例:

{
  "name" : "node-1",
  "cluster_name" : "my-elastic-cluster",
  "version" : {
    "number" : "7.17.3",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "5ad023604c8d7416c9eb6c0eadb62b14e766caff",
    "build_date" : "2022-04-19T08:11:19.070913226Z",
    "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"
}

9. 基本安全配置

启用基础安全功能

xpack.security.enabled: true

设置密码

sudo /usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive

防火墙配置

sudo ufw allow 9200/tcp
sudo ufw allow 9300/tcp

10. 常见问题解决

问题1:启动失败,报错”max virtual memory areas vm.max_map_count [65530] is too low”

解决方法:

sudo sysctl -w vm.max_map_count=262144

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

检查:

sudo netstat -tulnp | grep 9200

可能需要调整network.host设置

查看日志

journalctl -u elasticsearch
# 或
tail -f /var/log/elasticsearch/my-elastic-cluster.log

11. 性能优化建议

  1. 硬件优化

    • 使用SSD存储
    • 分配足够内存(但不超过物理内存的50%)
  2. 配置优化

    indices.query.bool.max_clause_count: 8192
    thread_pool.search.queue_size: 1000
    
  3. 索引优化

    • 合理设置分片数(建议每个分片大小在10-50GB)
    • 使用索引生命周期管理(ILM)

12. 集群配置

多节点配置示例

cluster.name: my-production-cluster
node.name: node-1
network.host: 192.168.1.10
discovery.seed_hosts: ["192.168.1.10", "192.168.1.11", "192.168.1.12"]
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

节点角色配置

node.master: true
node.data: true
node.ingest: false

13. 插件管理

查看已安装插件

sudo /usr/share/elasticsearch/bin/elasticsearch-plugin list

安装插件(示例:ICU分析器)

sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu

删除插件

sudo /usr/share/elasticsearch/bin/elasticsearch-plugin remove analysis-icu

14. 备份与恢复

配置快照仓库

PUT /_snapshot/my_backup
{
  "type": "fs",
  "settings": {
    "location": "/mnt/backups/elasticsearch"
  }
}

创建快照

PUT /_snapshot/my_backup/snapshot_1?wait_for_completion=true

恢复快照

POST /_snapshot/my_backup/snapshot_1/_restore

15. 总结

本文详细介绍了在Linux系统上安装和配置Elasticsearch的全过程,包括: 1. 系统准备和Java环境安装 2. 通过包管理器或手动方式安装Elasticsearch 3. 基础配置和优化建议 4. 服务管理和故障排查 5. 安全设置和集群配置 6. 插件管理和数据备份

通过正确配置和优化,Elasticsearch能够为企业提供强大的搜索和分析能力。建议在生产环境中: - 使用专用硬件 - 配置监控系统 - 定期备份数据 - 保持版本更新

附录:常用命令速查表

命令 描述
curl -X GET "localhost:9200/_cat/health?v" 检查集群健康状态
curl -X GET "localhost:9200/_cat/nodes?v" 查看节点信息
curl -X GET "localhost:9200/_cat/indices?v" 列出所有索引
curl -X PUT "localhost:9200/my_index" 创建新索引
curl -X DELETE "localhost:9200/my_index" 删除索引

”`

注:实际使用时,您可能需要根据具体环境和Elasticsearch版本调整部分命令和配置参数。建议参考官方文档获取最新信息:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html

推荐阅读:
  1. Elasticsearch安装配置
  2. elasticsearch、logstash和Kibanan的安装和配置

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

linux elasticsearch

上一篇:Liunx中如何安装和部署nacos

下一篇:如何安装和使用Zabbix

相关阅读

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

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