Linux怎么安装Elasticsearch

发布时间:2022-02-02 13:35:58 作者:iii
来源:亿速云 阅读:230
# Linux怎么安装Elasticsearch

## 前言

Elasticsearch是一个开源的分布式搜索和分析引擎,广泛应用于日志分析、全文检索、数据分析等领域。本文将详细介绍在Linux系统上安装Elasticsearch的完整流程,包括环境准备、安装步骤、配置优化以及常见问题解决方法。

---

## 环境准备

在开始安装前,请确保您的Linux系统满足以下要求:

1. **操作系统**:支持大多数Linux发行版(Ubuntu/Debian/CentOS/RHEL等)
2. **Java环境**:Elasticsearch 7.x+需要Java 11或更高版本
3. **硬件资源**:
   - 至少2GB内存(生产环境建议8GB+)
   - 5GB以上磁盘空间
4. **用户权限**:建议使用非root用户操作

### 检查Java环境

```bash
java -version

如果未安装或版本过低,可通过以下方式安装:

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

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

安装方法一:通过官方仓库安装(推荐)

步骤1:导入Elasticsearch GPG密钥

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg

步骤2:添加仓库源

Ubuntu/Debian

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

CentOS/RHEL

echo "[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" | sudo tee /etc/yum.repos.d/elasticsearch.repo

步骤3:安装Elasticsearch

Ubuntu/Debian

sudo apt update
sudo apt install elasticsearch

CentOS/RHEL

sudo yum install elasticsearch

安装方法二:手动下载安装包

步骤1:下载压缩包

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

步骤2:解压文件

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

步骤3:创建专用用户(安全建议)

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

基本配置

修改核心配置文件

编辑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

# HTTP端口(默认9200)
http.port: 9200

# 初始主节点设置(单节点需要配置)
discovery.type: single-node

JVM堆内存调整

编辑config/jvm.options

-Xms1g
-Xmx1g

建议设置为系统内存的50%,但不超过32GB


启动与验证

系统服务方式启动(推荐)

# 启用服务
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-application",
  "version" : {
    "number" : "8.12.0",
    "build_flavor" : "default",
    "build_type" : "tar",
    "lucene_version" : "9.8.0"
  },
  "tagline" : "You Know, for Search"
}

安全配置

设置密码保护

./bin/elasticsearch-setup-passwords interactive

配置HTTPS

在elasticsearch.yml中添加:

xpack.security.enabled: true
xpack.security.http.ssl:
  enabled: true
  keystore.path: certs/elastic-certificates.p12

常见问题解决

1. 启动时报内存不足

错误表现:

java.lang.OutOfMemoryError: Java heap space

解决方案: - 调整config/jvm.options中的堆内存设置 - 确保系统有足够的swap空间

2. 无法绑定网络端口

错误表现:

Failed to bind to [%publish_address%]

解决方案: - 检查network.host配置 - 关闭防火墙或放行端口:

  sudo ufw allow 9200
  sudo ufw allow 9300

3. 文件描述符限制

错误表现:

max file descriptors [4096] for elasticsearch process is too low

解决方案:

echo "elasticsearch - nofile 65535" | sudo tee -a /etc/security/limits.conf

性能优化建议

  1. 禁用swap

    sudo swapoff -a
    
  2. 调整线程池: 在elasticsearch.yml中添加:

    thread_pool:
     write:
       size: 16
       queue_size: 1000
    
  3. 使用SSD存储

    path.data: /ssd_mount/elasticsearch_data
    
  4. 定期维护

    # 强制合并segment
    curl -X POST "localhost:9200/_forcemerge?max_num_segments=1"
    

结语

通过本文的详细指导,您应该已经成功在Linux系统上安装并运行了Elasticsearch。接下来可以: - 安装Kibana进行可视化操作 - 配置Logstash实现日志管道 - 通过官方文档深入学习查询DSL

Elastic Stack的强大功能将为您的数据分析和搜索需求提供专业级解决方案。如果在使用过程中遇到任何问题,可以参考官方文档或社区论坛获取帮助。 “`

推荐阅读:
  1. Linux中ElasticSearch的安装部署
  2. elasticsearch安装

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

linux elasticsearch

上一篇:Linux系统init命令怎么用

下一篇:Linux pyDash怎么使用

相关阅读

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

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