当前位置: 首页 > article >正文

Centos7 搭建单机elasticsearch

以下是在 CentOS 7 上安装 Elasticsearch 7.17.7 的完整步骤:(数据默认保存在/var/lib/elasticsearch下,自行更改)

一、装 Java 环境

Elasticsearch 是用 Java 编写的,所以需要先安装 Java 运行环境。

检查系统中是否已经安装了 Java:

   java -version

如果显示了 Java 版本信息,则说明已安装;如果没有,则继续下一步。

1、使用 yum 安装 OpenJDK:

   sudo yum install java-1.8.0-openjdk

安装 Elasticsearch

1、添加 Elasticsearch 官方仓库:

创建一个名为 /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

注意,这里假设你要安装 Elasticsearch 7.x 版本,你可以根据实际需求修改版本号。

2、安装 Elasticsearch:

 sudo yum install elasticsearch-7.17.7

3、配置 Elasticsearch

主要配置文件是 /etc/elasticsearch/elasticsearch.yml。以下是一些常见的配置选项:

cluster.name: my-cluster
node.name: node-1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
http.port: 9200
discovery.type: single-node

调整系统参数:

Elasticsearch 对文件描述符和内存有较高要求。编辑 /etc/sysctl.conf 文件,添加以下内容以增加文件描述符限制:

   fs.file-max = 655360

更改 Elasticsearch 数据和日志目录的所有权:

sudo chown -R elasticsearch:elasticsearch /var/lib/elasticsearch
sudo chown -R elasticsearch:elasticsearch /var/log/elasticsearch

四、启动 Elasticsearch

使用系统服务启动:

   sudo systemctl start elasticsearch

查看服务状态:

   sudo systemctl status elasticsearch

确认 Elasticsearch 是否正在运行:

curl -X GET 'http://localhost:9200'

 错误排查

1、内存不足:如果日志中显示与内存相关的错误,例如 “Java heap space”,这可能意味着系统没有足够的内存分配给 Elasticsearch。可以尝试以下方法解决:

增加 Elasticsearch 的内存分配。在 elasticsearch.yml 配置文件中,可以调整 xms(初始堆大小)和 xmx(最大堆大小)参数。例如:

-Xms4g
-Xmx4g

2、配置错误:如果是配置问题导致的错误,检查 elasticsearch.yml 文件中的配置是否正确。常见的错误包括:

错误的集群名称、节点名称或网络配置。确保这些配置与你的环境和需求相匹配。

如果使用了自定义插件或模块,确保它们已正确安装和配置。

单机部署 elasticsearch.yml里要加discovery.type: single-node

开放服务器端口

关闭Linux防火墙:

永久性生效,重启后不会复原
开启: chkconfig iptables on
关闭: chkconfig iptables off
即时生效,重启后复原
开启: service iptables start
关闭: service iptables stop

或者只开放单一端口对于使用firewalld的系统:

sudo firewall-cmd --permanent --add-port=9200/tcp
sudo firewall-cmd --reload

确保你的应用程序(如Elasticsearch)已正确配置并监听9200端口。如果你使用的是SELinux,确保也为Elasticsearch添加了相应的端口规则。


http://www.kler.cn/news/353346.html

相关文章:

  • 实战华为AC6508无线控制器+华为无线AP上线配置(AirEngine5762S-12+AirEngine5760-10)+无线WIFI配置
  • 软件设计模式------抽象工厂模式
  • vue全局API(app.component,app.config,app.directive,app.mount,app.unMount,app.use)
  • Java 实现协同过滤算法推荐算法
  • ELK中segemntmerge操作对写入性能的影响以及控制策略和优化方法
  • 深度学习 基本函数01
  • 【重学 MySQL】六十四、主键约束的使用
  • STM32嵌入式移植GmSSL库
  • 利用Spring Boot构建大创项目资源规划平台
  • 医药追溯码是什么?
  • Java多线程--实现跑马小游戏
  • 《学习方法报》是什么级别的报纸?
  • 鸿蒙网络编程系列4-实现Smtp邮件发送客户端
  • 海康NVR管理平台EasyNVR多品牌NVR管理工具实现智能化视频管理介入现代化工厂
  • vue 音频播放控件封装
  • [已解决]DockerTarBuilder永久解决镜像docker拉取异常问题
  • Redis --- 第四讲 --- 常用数据结构 --- string类型
  • IntelliJ IDEA插件开发-开发环境搭建
  • 关于C语言中局部变量与全局变量——超详细解释篇
  • 元数据 -BWF 广播音频扩展 (bext)
  • redis--过期策略和内存淘汰策略
  • 灵当CRM index.php 任意文件上传漏洞复现
  • 我也要!赚钱是分层的:这就是你又累又穷的原因——早读(逆天打工人爬取热门微信文章解读)
  • 小猿口算炸鱼脚本
  • Python爬虫中的多线程技术:提升数据采集效率
  • 利用FnOS搭建虚拟云桌面,并搭建前端开发环境(一)