Centos安装Elasticsearch教程

server/2024/11/19 2:39:30/

网上相关的安装教程有很多,基本是官网下载、解压、启动完事了,本文主要记录个人在实际安装过程终于到的问题,如果你刚好也刷到了这篇文档,希望对你有所帮助。

		操作系统版本:Centos7Elasticsearch版本:7.9.3

为了方便启动,这里我添加了启动脚本start-elasticsearch.sh,将启动日志输出到指定的日志文件中,内容如下:

#!/bin/bash
cd /opt/software/elasticsearch/elasticsearch-7.9.3/bin
nohup ./elasticsearch>/opt/software/elasticsearch/logs/start-elasticsearch.log 2>&1 &
elasticsearch_as_root_11">问题1:can not run elasticsearch as root

执行脚本后,日志文件输出了错误提示:

[2024-11-14T14:45:03,392][ERROR][o.e.b.ElasticsearchUncaughtExceptionHandler] [node-1] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root

这意思很明显了,不能使用root账户启动,ok,那我们通过如下添加子用户并给其赋予权限:

adduser elasticsearchpasswd elasticsearch密码:rooteschown -R elasticsearch /opt/software/elasticsearch/
问题2:提示日志文件目录不存在

切换到子账户继续启动后提示日志目录不存在,这个比较好解决。通过mkdir 创建即可。修改后我们继续尝试启动,结果日志文件里仍然存在错误提示。

elasticsearch_process_is_too_low_increase_to_at_least_65535_33">问题3:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]]

文件描述符是操作系统用来追踪打开文件和网络连接的资源。Elasticsearch 作为一个需要处理大量文件和网络连接的服务,对文件描述符的需求可能会非常高,我们通过如下命令增加文件描述符的限制。

vim /etc/security/limits.conf
# 在文件的最后加上两行,关闭保存文件重启ES
elasticsearch soft nofile 65535
elasticsearch hard nofile 65535
问题4: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

错误信息提示你的系统虚拟内存区域的最大数量(vm.max_map_count)设置过低,这可能会影响 Elasticsearch 的性能,因为它需要创建大量的内存映射来存储其数据。vm.max_map_count 参数限制了进程可以拥有的虚拟内存区域(VMA)的数量,这包括内存映射文件和其他类型的VMA。
我们通过如下命令进行修改:

vim /etc/sysctl.conf
# 在文件最后添加一行
vm.max_map_count = 262144
# 应用该配置
sysctl -p
# 验证配置是否生效
sysctl vm.max_map_count
# 这里会输出262144
问题5:the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

这个错误信息是 Elasticsearch 在启动时的一个警告,提示你当前的发现设置不适合生产环境使用。在生产环境中,你需要配置集群发现设置,以确保 Elasticsearch 节点能够相互发现并形成集群。以下是一些关键的配置项,你需要至少配置其中之一:

  1. discovery.seed_hosts:这是一个列表,包含用于发现的初始节点的地址。这些节点将被用来启动集群发现过程。
  2. discovery.seed_providers:这是一个列表,包含用于发现的种子提供者。种子提供者可以是云服务提供商,如AWS、GCE 或 Azure。
  3. cluster.initial_master_nodes:这是一个列表,包含初始的主节点(master-eligiblenodes)的地址。这些节点将被选举为集群的初始主节点。
    我这里只是单机测试,所以将配置文件精简如下:
# 节点名称
node.name: node-1# 集群名称
cluster.name: my-application# 禁用自动发现
discovery.type: single-node# 单节点发现设置
discovery.seed_hosts: ["localhost", "127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]# HTTP 端口
http.port: 9200# 绑定到所有接口
network.host: 0.0.0.0# 禁用跨集群请求
cluster.remote.connect: false

修改后再执行启动脚本,日志没有错误提示了,这时打开浏览器,输入对应ip:9200,会看到如下信息

{"name": "node-1","cluster_name": "my-application","cluster_uuid": "lKSKlOoQT0SHUVv0Lnfv0g","version": {"number": "7.9.3","build_flavor": "default","build_type": "tar","build_hash": "c4138e51121ef06a6404866cddc601906fe5c868","build_date": "2020-10-16T10:36:16.141335Z","build_snapshot": false,"lucene_version": "8.6.2","minimum_wire_compatibility_version": "6.8.0","minimum_index_compatibility_version": "6.0.0-beta1"},"tagline": "You Know, for Search"
}

http://www.ppmy.cn/server/143052.html

相关文章

Python爬虫下载新闻,Flask展现新闻(2)

上篇讲了用Python从新闻网站上下载新闻,本篇讲用Flask展现新闻。关于Flask安装网上好多教程,不赘述。下面主要讲 HTML-Flask-数据 的关系。 简洁版 如图,页面简单,主要显示新闻标题。 分页,使用最简单的分页技术&…

云渲染与云电脑,应用场景与技术特点全对比

很多朋友问,你们家一会宣传云渲染,一会宣传云电脑的,我到底用哪个?今天,渲染101云渲染和川翔云电脑就来对比下两者的区别! 渲染101&川翔云电脑,都是我们的产品,邀请码6666 一、…

llama-cpp模型轻量化部署与量化

一、定义 定义配置环境遇到的问题,交互模式下模型一直输出,不会停止模型量化Qwen1.5-7B 案例demo 二、实现 定义 主要应用与cpu 上的部署框架。由c完成。配置环境 https://github.com/ggerganov/llama.cpp https://github.com/echonoshy/cgft-llm/blo…

理解Go中的append函数及其返回值

在Go语言的编程世界中,切片(slice)是一种非常灵活且常用的数据结构。它提供了一种方便的方式来处理动态数组。而append函数,作为向切片追加元素的内置函数,其设计和使用方式体现了Go语言的安全性和效率。本文将深入探讨…

【高等数学学习记录】函数的求导法则

一、知识点 (一)常数和基本初等函数的导数公式 ( C ) ′ 0 (C)0 (C)′0 ( x n ) ′ n x n − 1 (x^n)nx^{n-1} (xn)′nxn−1 ( s i n x ) ′ c o s x (sinx)cosx (sinx)′cosx ( c o s x ) ′ − s i n x (cosx)-sinx (cosx)′−sinx ( t a n x ) ′…

Vue的局部使用

文章目录 什么是Vue?局部使用Vue快速入门 常用指令v-forv-bindv-if & v-showv-onv-model Vue生命周期 Axios案例 什么是Vue? Vue是一款构建用户界面的渐进式的JavaScript框架. 局部使用Vue 快速入门常用指令声明周期 快速入门 准备: 准备html页面,并引入Vue模块(…

golang HTTP基础

http.ListenAndServe http.ListenAndServe 是 Go 语言标准库 net/http 包中的一个函数,用于启动一个 HTTP 服务器并监听指定的端口,以便接收和处理来自客户端的 HTTP 请求。这个函数是构建 Web 服务器和 Web 服务的基础。 函数签名 func ListenAndSer…

室内定位论文精华-无人机与机器人在地下与室内环境中的自主导航与定位新技术

天文导航算法在低成本视觉系统中的应用 关键词 天文导航;自主无人机;GNSS拒止环境;稳定成像系统;星图识别;姿态估计;位置估算 研究问题 现代无人驾驶飞行器(UAV)中,很少使用天文学导航技术。传统的天文学导航依赖于稳定的成像系统,这不仅体积大且重量重,难以满足…