Centos7单机部署ElasticSearch

Centos7单机部署ElasticSearch

引言

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

Elasticsearch概览

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

CentOS 7简介

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

环境部署

创建用户

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

useradd es
passwd es
dxzx@2023

递归创建日志和数据路径

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
# 配置内容

调整操作系统设置

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

安装和配置插件(可选)

Elasticsearch社区和Elastic公司提供了许多有用的插件。你可能想安装一些额外的插件来增强Elasticsearch的功能。可以通过以下命令来安装插件:

cd /data/soft/elasticsearch-7.5.2/bin/
./elasticsearch-plugin install [plugin_name]

启动服务

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



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

验证安装

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

curl -X GET "localhost:9200/"

你应该能看到关于Elasticsearch实例的详细信息。

常见问题和故障排除

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

内存错误

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

权限问题

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

插件冲突

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

总结

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/68361.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android google admob Timeout for show call succeed 问题解决

项目场景: 项目中需要接入 google admob sdk 实现广告商业化 问题描述 在接入Institial ad 时,onAdLoaded 成功回调,但是onAdFailedToShowFullScreenContent 也回调了错误信息 “Timeout for show call succeed.” InterstitialAd.load(act…

Vue数组变更方法和替换方法

一、可以引起UI界面变化 Vue 将被侦听的数组的变更方法进行了包裹,所以它们也将会触发视图更新。这些被包裹过的方法包括: push()pop()shift()unshift()splice()sort()reverse() 以上七个数组都会改变原数组,下面来分别讲解它们的区别&…

【2023年11月第四版教材】《第2章-信息技术发展(合集篇)》

《第2章-信息技术发展(第一部分)》 章节说明1 计算机软硬件2 计算机网络2.1 网络的作用范围2.2 OSI模型2.3 广域网协议2.4 网络协议2.5 TCP/IP2.6 软件定义网络(SDN)2.7 第五代移动通信技术 3 存储和数据库3.1 存储系统架构3.2 存…

Android Studio实现滑动图片验证码

源代码链接 效果: MainActivity package com.example.slidingpattern;import androidx.appcompat.app.AppCompatActivity;import android.annotation.SuppressLint; import android.graphics.BitmapFactory; import android.os.Bundle; import android.view.Moti…

P1194 买礼物(最小生成树)(内附封面)

买礼物 题目描述 又到了一年一度的明明生日了,明明想要买 B B B 样东西,巧的是,这 B B B 样东西价格都是 A A A 元。 但是,商店老板说最近有促销活动,也就是: 如果你买了第 I I I 样东西&#xff0…

简单程度与自负是否相关?探索STM32的学习价值

事实上,无论STM32是否简单并不重要,更重要的是我们能通过学习STM32获得什么。通过STM32,我们可以学习到许多知识:如果我们制作一个键盘或鼠标,我们可以学习USB协议。如果我们制作一个联网设备,我们需要学习…

【css】css中使用变量var

CSS 变量可以有全局或局部作用域。 全局变量可以在整个文档中进行访问/使用,而局部变量只能在声明它的选择器内部使用。 如需创建具有全局作用域的变量,请在 :root 选择器中声明它。 :root 选择器匹配文档的根元素。 如需创建具有局部作用域的变量&am…

Python编程——谈谈函数的定义、调用与传入参数

作者:Insist-- 个人主页:insist--个人主页 本文专栏:Python专栏 专栏介绍:本专栏为免费专栏,并且会持续更新python基础知识,欢迎各位订阅关注。 目录 一、理解函数 二、函数的定义 1、语法 2、定义一个…

BUUCTF题目Web部分wp(持续更新)

[极客大挑战 2019]EasySQL1【sql注入】 靶机启动后,填写username和password,登录的地址为http://url.to.target/check.php?usernameadmin&passwordpassword,注意post过去空格变成了加号。 http://url.to.target/ http://url.to.target/…

Java实战:高效提取PDF文件指定坐标的文本内容

前言 临时接到一个紧急需要处理的事项。业务侧一个同事有几千个PDF文件需要整理:需要从文件中的指定位置获取对应的编号和地址。 要的急,工作量大。所以就问到技术部有没有好的解决方案。 问技术的话就只能写个demo跑下了。 解决办法 1. 研究下PDF文档…

嗅探抓包工具,解决线上偶现问题来不及抓包的情况阅读目录

目录 背景 实现思路 具体实现 Python 抓包 总结 资料获取方法 背景 测试群里经常看到客户端的同学反馈发现了偶现Bug,但是来不及抓包,最后不了了之,最近出现得比较频繁,所以写个小脚本解决这个问题。 实现思路 之前写过一个…

OPENCV C++(十)gramm矫正+直方图均衡化

两者都是只对单通道使用,对多通道的话 就需要分离通道处理再合并通道 两种方法,第一个要运算次数太多了,第二个只需要查表 伽马矫正函数,这里用第二种方法,且写法有点高级 int gammaCorrection(cv::Mat srcMat, cv::…

享元模式(C++)

定义 运用共享技术有效地支持大量细粒度的对象。 使用场景 在软件系统采用纯粹对象方案的问题在于大量细粒度的对象会很快充斥在系统中,从而带来很高的运行时代价——主要指内存需求方面的代价。如何在避免大量细粒度对象问题的同时,让外部客户程序仍…

爬虫如何应对网站的反爬机制?如何查找user-agent对应的值

import requestsurl https://movie.douban.com/top250 response requests.get(url) # 查看结果 print(response)在requests使用一文中我们有讲到,当状态码不是200时表示爬虫不可用,也就是说我们获取不到网页源代码。但是我们还是可以挣扎一下&#xff…

uniapp-原生地图截屏返回base64-进行画板编辑功能

一、场景 vue写uniapp打包安卓包,实现原生地图截屏(andirod同事做的)-画板编辑功能 实现效果: 二、逻辑步骤简略 1. 由 原生地图nvue部分,回调返回 地图截屏生成的base64 数据, 2. 通过 uni插件市场 im…

LeaferUI - 性能强悍、简洁轻量的 HTML5 Canvas 2D 图形 UI 绘图框架,用于 web 端在线图形设计、图表、白板、数据可视化等场景

最近想做一个轻巧的在线画册和海报设计工具,最近发布的 LeaferUI 特别适合这样的场景。 LeaferUI 是什么? Leafer UI 是基于 LeaferJS 开发的一套绚丽多彩的 UI 绘图框架,帮助开发者快速生成图形界面。LeaferJS 是一个基于 HTML5 Canvas 开…

Spring Cloud构建微服务断路器介绍

什么是断路器 断路器模式源于Martin Fowler的Circuit Breaker一文。“断路器”本身是一种开关装置,用于在电路上保护线路过载,当线路中有电器发生短路时,“断路器”能够及时的切断故障电路,防止发生过载、发热、甚至起火等严重后果…

On Evaluation of Embodied Navigation Agents 论文阅读

论文信息 题目:On Evaluation of Embodied Navigation Agents 作者:Peter Anderson,Angel Chang 来源:arXiv 时间:2018 Abstract 过去两年,导航方面的创造性工作激增。这种创造性的输出产生了大量有时不…

Rust 原生支持龙架构指令集

导读近日,Rust 开源社区发布 1.71.0 版本,实现对龙架构(LoongArch)指令集的原生支持。 龙架构操作系统发行版和开发者可基于上游社区源代码构建或直接下载 Rust 开源社区发布的龙架构二进制版本。Rust 开发者将在龙架构平台上获得…

beego实现文件上传到七牛云详细教程

文章目录 安装获取凭证配置app.conf上代码调用示例ps 安装 执行命令: go get github.com/qiniu/go-sdk/v7获取凭证 Go SDK 的所有的功能,都需要合法的授权。授权凭证的签算需要七牛账号下的一对有效的Access Key和Secret Key,这对密钥可以…