Centos7单机部署ElasticSearch

7 篇文章 1 订阅 ¥39.90 ¥99.00

Centos7单机部署ElasticSearch

引言

Elasticsearch是一种广泛使用的开源搜索引擎,专门为分布式环境设计,但也可以在单机上运行。它使存储、搜索和分析大量数据变得更加容易和高效。此教程将引导你通过在Centos7上单机部署Elasticsearch,涵盖了从系统准备到服务启动的每一个细节。

Elasticsearch概览

Elasticsearch基于Apache Lucene构建,它的设计目标是使全文搜索变得简单。通过JSON over HTTP的接口,你可以存储、搜索和分析大量数据。企业中的许多用例,如日志或事件数据分析、全文搜索、数据可视化等,都可以通过Elasticsearch实现。

CentOS 7简介

CentOS是一个免费的、开源的企业级Linux发行版。CentOS 7提供了一套完整的开源开发工具集,被广泛用于服务器部署。其稳定和兼容性是选择它作为Elasticsearch部署基础的原因。

环境部署

默认centos7系统已经安装过JDK

创建用户

由于安全和权限方面的考虑,Elasticsearch需要以非root用户身份运行。我们首先创建一个名为es的用户。

useradd es
passwd es
dxzx@2023

上传解压安装包

选择所需要的版本下载安装,这里使用es:7.5.2

将下载好的文件上传到服务器指定位置上,并解压

 tar -zxvf elasticsearch-7.5.2-linux-x86_64.tar.gz

递归创建日志和数据路径

Elasticsearch需要特定的目录来存储其日志和数据。以下命令将创建所需目录:

mkdir -p /data/soft/elasticsearch-7.5.2/logs
mkdir -p /data/soft/elasticsearch-7.5.2/data

给用户授权文件夹

现在,我们需要确保新创建的用户有权访问刚才创建的目录。

chown -R es:es /data/soft/elasticsearch-7.5.2

修改Elasticsearch配置文件

Elasticsearch的配置文件包含了许多可以定制的设置,下面是一些主要配置项的解释:

  • cluster.name: 你的集群名称。
  • node.name: 单个节点的名称。
  • path.data: 数据存储路径。
  • path.logs: 日志存储路径。
  • network.host: 绑定的IP地址。
  • http.port: HTTP服务的端口。
  • discovery.seed_hosts: 集群中的主节点。

以下是配置文件的路径和内容:

vim /data/soft/elasticsearch-7.5.2/config/elasticsearch.yml
# 配置内容
# 配置跨域设置
http.cors.enabled: true
http.cors.allow-origin: "*"
#配置es的集群名称,默认是elasticsearch,
#es会自动发现在同一网段下的es,
# 如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。
cluster.name: es
node.name: node1
node.master: true
node.data: true
path.data: /data/soft/elasticsearch-7.5.2/data
path.logs: /data/soft/elasticsearch-7.5.2/logs
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.seed_hosts: ["192.168.1.41:9300"]
cluster.initial_master_nodes: ["192.168.1.41:9300"]

调整操作系统设置

Elasticsearch在运行过程中可能会遇到操作系统限制。以下步骤可以调整这些限制。

  1. 修改文件描述符限制: Elasticsearch可能会打开许多文件,所以需要增加文件描述符的限制。

    vim /etc/security/limits.conf
    # 文末添加:
    es soft nofile 65536
    es hard nofile 65536
    
  2. 设置文件大小参数: 与上一步类似,我们还需要调整其他关于文件大小的参数。

    vim /etc/security/limits.d/20-nproc.conf
    # 末尾添加:
    es soft nofile 65536 
    es hard nofile 65536
    *  hard nproc  4096
    
  3. 设置最大内存映射数量: Elasticsearch使用内存映射(mmap)来加快索引和搜索的速度。我们需要增加映射数量的限制。

    vim /etc/sysctl.conf 
    # 末尾添加:
    vm.max_map_count=655360
    
  4. 重新加载配置:

    sysctl -p
    

image-20230515140141990

安装和配置插件

ik分词器

下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases

将解压后文件放入plugins中

/elasticsearch-7.5.2/plugins

image-20210611164550925

启动服务

切换到创建的用户,并进入Elasticsearch的bin目录来启动服务:

su es
cd /data/soft/elasticsearch-7.5.2/bin/
./elasticsearch

验证安装

验证是部署过程的重要步骤,通过以下命令确认Elasticsearch是否正常运行:

curl -X GET "localhost:9200/"

启动成功返回如下:

image-20210611160936133

常见问题和故障排除

在部署和运行Elasticsearch过程中可能会遇到一些问题。以下是一些常见问题和解决方案。

内存错误

如果遇到内存错误,你可能需要调整Elasticsearch的JVM设置。你可以在jvm.options文件中设置最小和最大内存分配。

权限问题

确保所有Elasticsearch文件和目录的所有权都正确设置,否则Elasticsearch可能无法访问所需的文件。

插件冲突

如果你安装了不兼容的插件,Elasticsearch可能无法启动。确保所有插件都与你的Elasticsearch版本兼容。

总结

通过本教程,你应该了解了如何在CentOS 7上部署Elasticsearch的完整过程,包括准备系统、配置Elasticsearch和启动服务等。Elasticsearch是一个功能强大的工具,通过深入探索和实验,你可以充分利用它的功能。

如果有任何问题或需要进一步的帮助,请访问Elasticsearch官方文档

Docker方式安装

再额外介绍一个安装方法,这里使用docker-compose 进行安装

docker-compose.yml

version: '3'
services:
  elasticsearch:
    image: elasticsearch:7.5.1
    container_name: elasticsearch
    networks:
    - net-es
    volumes:
    - /data2/es:/usr/share/elasticsearch/data  
    environment:
    - discovery.type=single-node
    ports:
    - "9200:9200"
 
  elastichd:
    image: containerize/elastichd:latest
    container_name: elasticsearch-hd
    networks:
    - net-es
    ports:
      - "9800:9800"
    depends_on:
      - "elasticsearch"
    links:
      - "elasticsearch:demo"
 
#这里要注意,es和eshd要在相同网络才能被links
networks:
  net-es:
    external: false

后台启动

docker-compose up -d
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
下面是在 CentOS 上单机部署 Elasticsearch 和 X-Pack 的步骤: 1. 首先下载 Elasticsearch 和 X-Pack 的安装包。可以到官网下载最新版本,也可以使用 yum 安装。 2. 安装 Java 环境。Elasticsearch 需要 Java 环境的支持。可以使用以下命令安装 OpenJDK: ``` sudo yum install java-1.8.0-openjdk ``` 3. 解压 Elasticsearch 和 X-Pack 的安装包,并将其移动到 /usr/share 目录下: ``` sudo tar -zxvf elasticsearch-7.6.2-linux-x86_64.tar.gz sudo mv elasticsearch-7.6.2 /usr/share/elasticsearch sudo tar -zxvf x-pack-7.6.2-linux-x86_64.tar.gz sudo mv x-pack-7.6.2 /usr/share/x-pack ``` 4. 创建一个新用户来运行 Elasticsearch。可以使用以下命令创建一个名为 elasticsearch 的用户: ``` sudo useradd elasticsearch ``` 5. 给 Elasticsearch 和 X-Pack 相应的目录设置权限: ``` sudo chown -R elasticsearch:elasticsearch /usr/share/elasticsearch sudo chown -R elasticsearch:elasticsearch /usr/share/x-pack ``` 6. 修改 Elasticsearch 的配置文件。编辑 /usr/share/elasticsearch/config/elasticsearch.yml 文件,修改以下配置项: ``` cluster.name: my_cluster node.name: node1 network.host: 0.0.0.0 http.port: 9200 xpack.security.enabled: true xpack.security.transport.ssl.enabled: true xpack.security.transport.ssl.verification_mode: certificate xpack.security.transport.ssl.keystore.path: /usr/share/x-pack/elastic-certificates.p12 xpack.security.transport.ssl.truststore.path: /usr/share/x-pack/elastic-certificates.p12 xpack.security.http.ssl.enabled: true xpack.security.http.ssl.keystore.path: /usr/share/x-pack/http.p12 xpack.security.http.ssl.truststore.path: /usr/share/x-pack/http.p12 ``` 注意:xpack.security.enabled 设置为 true 是启用 X-Pack 的关键。xpack.security.transport.ssl.enabled 和 xpack.security.http.ssl.enabled 分别启用 Elasticsearch 和 HTTP 安全性。 7. 启动 Elasticsearch。使用以下命令启动 Elasticsearch: ``` sudo -u elasticsearch /usr/share/elasticsearch/bin/elasticsearch ``` 8. 验证 Elasticsearch 是否正常运行。在浏览器中访问 http://your_ip_address:9200,如果能够看到 Elasticsearch 的版本信息,则表示 Elasticsearch 已经成功运行。 至此,Elasticsearch 和 X-Pack 的单机部署就完成了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孙霸天

你的打赏是我不断创作的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值