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

安装Elasticsearch步骤(包含遇到的问题及解决方案)

注:笔者是在centos云服务器环境下安装的Elasticsearch

目录

1.安装前准备

2.下载Elasticsearch

 3.启动Elasticsearch 非常容易出问题

 第一次运行时,可能出现如下错误:

一、内存不足原因启动失败

二、使用root用户启动问题

三、启动ES自动被killed

四、max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

五、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

后续在使用中遇到问题也会持续更新……


1.安装前准备

至少需要jdk版本8以上的java环境,笔者安装的elasticsearch需要jdk11及以上的java环境。大家可以去Oracle官网下载合适的环境

Java Downloads | Oracleicon-default.png?t=N7T8https://www.oracle.com/java/technologies/downloads/#java17jdk安装教程可以查看这篇文章,笔者也是按照这篇文章的第二个方法安装的

Linux系统下安装Java环境(史上最简单没有之一)_linux下载java-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_43329216/article/details/118385502

2.下载Elasticsearch

 推荐在 /usr/local 路径下 运行以下命令,来下载Elasticsearch压缩包

# 下载
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.11.1-linux-x86_64.tar.gz# 解压
tar -xvf elasticsearch-7.11.1-linux-x86_64.tar.gz

 3.启动Elasticsearch 非常容易出问题

cd elasticsearch-7.11.1/bin
./elasticsearch
 第一次运行时,可能出现如下错误:
一、内存不足原因启动失败
Exception in thread "main" java.lang.RuntimeException: starting java failed with [1] output: 
# 
# There is insufficient memory for the Java Runtime Environment to continue. 
# Native memory allocation (mmap) failed to map 899678208 bytes for committing reserved memory.
# An error report file with more information is saved as: 
# logs/hs_err_pid653.log error: Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000ca600000, 899678208, 0) failed; error='Not enough space'(errno=12) 	
at org.elasticsearch.tools.launchers.JvmOption.flagsFinal(JvmOption.java:119) 	
at org.elasticsearch.tools.launchers.JvmOption.findFinalOptions(JvmOption.java:81) 	
at org.elasticsearch.tools.launchers.JvmErgonomics.choose(JvmErgonomics.java:38) 	
at org.elasticsearch.tools.launchers.JvmOptionsParser.jvmOptions(JvmOptionsParser.java:135) 	
at org.elasticsearch.tools.launchers.JvmOptionsParser.main(JvmOptionsParser.java:86)

原因:ES默认的分配内存超出了空闲内存的大小,所以出现内存不足无法启动的现象。

解决方案:先查看系统内容情况,根据需要修改内存大小

使用 free -h 命令,查看系统内容情况

[es@FrankZhang bin]$ free -htotal        used        free      shared  buff/cache   available
Mem:           1.8G        982M        393M        696K        462M        706M
Swap:            0B          0B          0B

 查看 available 大小修改配置文件里的参数大小

vim config/jvm.options里面有两个参数
## -Xms2g
## -Xmx2g
将这两个参数修改为合适的大小即可,如果修改完后运行还不行,那就需要继续调整。推荐512m或128m即可
-Xmx128m
二、使用root用户启动问题
[2018-12-11T12:53:33,473][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as rootat org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:127) ~[elasticsearch-5.5.1.jar:5.5.1]at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:114) ~[elasticsearch-5.5.1.jar:5.5.1]at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:67) ~[elasticsearch-5.5.1.jar:5.5.1]at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:122) ~[elasticsearch-5.5.1.jar:5.5.1]at org.elasticsearch.cli.Command.main(Command.java:88) ~[elasticsearch-5.5.1.jar:5.5.1]at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.5.1.jar:5.5.1]at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.5.1.jar:5.5.1]
Caused by: java.lang.RuntimeException: can not run elasticsearch as rootat org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:106) ~[elasticsearch-5.5.1.jar:5.5.1]at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:194) ~[elasticsearch-5.5.1.jar:5.5.1]at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:351) ~[elasticsearch-5.5.1.jar:5.5.1]at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:123) ~[elasticsearch-5.5.1.jar:5.5.1]... 6 more

原因:ElasticSearch不允许直接通过 root 来登录

解决方案:需要另外设置一个账户来启动

adduser espasswd es# 赋予es用户权限
chown -R es:es elasticsearch-7.11.1/chmod 770 elasticsearch-7.11.1/# root 用户切换到 es 用户
su es

使用这个 es 用户去启动,就可以解决上面的问题。

三、启动ES自动被killed
[es@FrankZhang bin]$ ./elasticsearch
Killed

原因:服务器可用内存没有达到ES虚拟机所需内存的默认值或者是目前系统缓存占用很大

解决方案:超过默认值就是上面第一个问题,目前系统缓存占用大可以用下面的命令来回收buffer/cache

echo 1 > /proc/sys/vm/drop_caches # 仅清除页面缓存
echo 2 > /proc/sys/vm/drop_caches # 清除目录项和inode
echo 3 > /proc/sys/vm/drop_caches # 清除页面缓存、目录项以及inode
四、max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

注:这个和上面的内存不足不是同一种问题

原因:elasticsearch 用户拥有的内存权限太小。至少需要262144

解决方案:编辑 /etc/sysctl.conf 文件

# 在最后添加一行
vm.max_map_count=262144# 保存退出后需要让配置生效
sysctl -p
五、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

原因:缺少默认配置

解决方案:

至少需要配置三个中的一个参数

  • discovery.seed_hosts:集群主机列表
  • discovery.seed_providers: 基于配置文件配置集群主机列表
  • cluster.initial_master_nodes: 启动时初始化的参与选主的node,生产环境必填

后续在使用中遇到问题也会持续更新……

相关文章:

安装Elasticsearch步骤(包含遇到的问题及解决方案)

注:笔者是在centos云服务器环境下安装的Elasticsearch 目录 1.安装前准备 2.下载Elasticsearch 3.启动Elasticsearch 非常容易出问题 第一次运行时,可能出现如下错误: 一、内存不足原因启动失败 二、使用root用户启动问题 三、启动ES自…...

网络编程面试笔试真题

网络编程笔试面试真题 1、关于Linux系统中多线程的信号处理,说法中不正确的是? A:在线程环境霞,产生的信号是传递给整个进程的 B:一般情况下,信号会随机给进程的一个线程 C:对某个信号处理函数…...

MySQL官方文档如何查看,MySQL中文文档

这里写自定义目录标题 MySQL官方文档如何查看MySQL中文文档 MySQL官方文档如何查看 MySQL官网地址:https://dev.mysql.com/doc/ 比如这里我要找InnoDB架构 MySQL中文文档 MySQL 5.1中文文档地址:https://www.mysqlzh.com/...

第七章:最新版零基础学习 PYTHON 教程—Python 列表(第四节 -如何在 Python 中查找列表的长度)

列表是 Python 日常编程不可或缺的一部分,所有 Python 用户都必须学习,了解其实用程序和操作是必不可少的,而且总是有好处的。因此,本文讨论了找到第一个这样的实用程序。使用Python 的列表中的元素。 目录 在 Python 中查找列表的长度...

XPS虽没流行,但还在使用!在Windows 10中打开XPS文件的最佳方法

当Windows Vista发布时,微软推出了XPS格式,这是PDF的替代品。XPS文件格式并不是什么新鲜事,但从未获得过多大的吸引力。 因此,XPS(XML Paper Specification)文件是微软对Adobe PDF文件的竞争对手。尽管XPS…...

23 种设计模式详解(C#案例)

🚀设计模式简介 设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时…...

@SpringBootApplication配置了scanBasePackages导致请求一直404,分析下原因

出现RequestMapping注解的Controller类可能是因为SpringBootApplication注解中配置了scanBasePackages导致的请求一直返回404错误。 SpringBootApplication注解是Spring Boot的核心注解之一,它用于启动Spring Boot应用程序。这个注解实际上是一个组合注解&#xff…...

{大厂漏洞 } OA产品存在SQL注入

0x01 漏洞介绍 江苏叁拾叁-OA是由江苏叁拾叁信息技术有限公司开发的一款OA办公平台,主要有知识管理,工作流程,沟通交流,辅助办公,集成解决方案,应用支撑平台,基础支撑等功能。 该系统也与江苏叁…...

6-8 舞伴问题 分数 15

void DancePartner(DataType dancer[], int num) {LinkQueue maleQueue SetNullQueue_Link();LinkQueue femaleQueue SetNullQueue_Link();// 将男士和女士的信息分别加入对应的队列for (int i 0; i < num; i) {if (dancer[i].sex M){EnQueue_link(maleQueue, dancer[i]…...

samba服务器的功能是什么

Samba服务器是一个开源的网络文件共享服务&#xff0c;其主要功能是在不同操作系统之间实现文件和打印机共享。它最常用于将Linux/Unix系统与Windows系统互联&#xff0c;但也支持其他操作系统。 以下是Samba服务器的主要功能&#xff1a; 文件共享&#xff1a;Samba允许用户在…...

MSQL系列(五) Mysql实战-索引最左侧匹配原则分析及实战

Mysql实战-索引最左侧匹配原则分析及实战 前面我们讲解了索引的存储结构&#xff0c;BTree的索引结构&#xff0c;以及索引最左侧匹配原则&#xff0c;Explain的用法&#xff0c;今天我们来实战一下 最左侧匹配原则 1.联合索引最左侧匹配原则 联合索引有一个最左侧匹配原则 …...

react|redux状态管理

react|redux状态管理 参考官网&#xff1a;https://cn.redux-toolkit.js.org/tutorials/quick-start 状态管理使用流程 1、安装&#xff1a; npm install react-redux reduxjs/toolkit2、创建store.js 通过configureStore的hook对reducer&#xff08;或slice&#xff09;进行…...

Python之旅----判断语句

布尔类型和比较运算符 布尔类型 布尔类型的定义 布尔类型的字面量&#xff1a; True 表示真&#xff08;是、肯定&#xff09; False 表示假 &#xff08;否、否定&#xff09; 也就是布尔类型进行判断&#xff0c;只会有2个结果&#xff1a;是或否 定义变量存储布尔类型…...

【JavaEE】文件操作和IO

1 什么是文件&#xff1f; 针对硬盘这种持久化存储的I/O设备&#xff0c;当我们想要进行数据保存时&#xff0c;往往不是保存成一个整体&#xff0c;而是独立成一个个的单位进行保存&#xff0c;这个独立的单位就被抽象成文件的概念 2 文件路径 文件路径就是指咱们文件系统中…...

python使用dataset快速使用SQLite

目录 一、官网地址 二、安装 三、 快速使用 一、官网地址 GitHub - pudo/dataset: Easy-to-use data handling for SQL data stores with support for implicit table creation, bulk loading, and transactions. 二、安装 pip install dataset 如果是mysql&#xff0c;则…...

Python 练习100实例(21-40)

Python 练习实例21 题目&#xff1a;猴子吃桃问题&#xff1a;猴子第一天摘下若干个桃子&#xff0c;当即吃了一半&#xff0c;还不瘾&#xff0c;又多吃了一个第二天早上又将剩下的桃子吃掉一半&#xff0c;又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天…...

“创新启变 聚焦增长”极狐(GitLab)媒体沟通会,共话智能时代软件开发新生态

10 月 18 日 北京 昨日&#xff0c;全球领先 AI 赋能 DevSecOps 一体化平台极狐(GitLab) 在北京举办了主题为“创新启变 聚焦增长”的媒体沟通会。极狐(GitLab) CEO 柳钢就“中国企业数字化转型、软件研发、技术自主可控等热点问题&#xff0c;以及 AI 大模型时代下&#xff0c…...

【ChatGLM2-6B】在只有CPU的Linux服务器上进行部署

简介 ChatGLM2-6B 是清华大学开源的一款支持中英双语的对话语言模型。经过了 1.4T 中英标识符的预训练与人类偏好对齐训练&#xff0c;具有62 亿参数的 ChatGLM2-6B 已经能生成相当符合人类偏好的回答。结合模型量化技术&#xff0c;用户可以在消费级的显卡上进行本地部署&…...

Xilinx IP 10 Gigabit Ethernet Subsystem IP

Xilinx IP 10 Gigabit Ethernet Subsystem IP 10 Gb 以太网子系统在 10GBASE-R/KR 模式下提供 10 Gb 以太网 MAC 和 PCS/PMA,以提供 10 Gb 以太网端口。发送和接收数据接口使用 AXI4 流接口。可选的 AXI4-Lite 接口用于内部寄存器的控制接口。 • 设计符合 10 Gb 以太网规范…...

ubuntu下yolox tensorrt模型部署

TensorRT系列之 Windows10下yolov8 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov8 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov7 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov6 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov5 tensorrt模型加速…...

外汇天眼:外汇投资入门必看!做好3件事,任何人都能提高交易胜率

近年来外汇市场愈来愈热络&#xff0c;许多投资人看准世界金融变化的趋势&#xff0c;纷纷开始入场布局&#xff0c;期望把握行情大赚一笔。 如果你之前没有做过外汇交易&#xff0c;建议最好先透过「外汇天眼学院」学习各种相关的知识与技术分析&#xff0c;等到对外汇有一定的…...

idea dubge 详细

目录 一、概述 二、debug操作分析 1、打断点 2、运行debug模式 3、重新执行debug 4、让程序执行到下一次断点后暂停 5、让断点处的代码再加一行代码 6、停止debug程序 7、显示所有断点 8、添加断点运行的条件 9、屏蔽所有断点 10、把光标移到当前程序运行位置 11、单步跳过 12、…...

短视频矩阵系统/pc、小程序版独立原发源码开发搭建上线

短视频剪辑矩阵系统开发源码----源头搭建 矩阵系统源码主要有三种框架&#xff1a;Spring、Struts和Hibernate。Spring框架是一个全栈式的Java应用程序开发框架&#xff0c;提供了IOC容器、AOP、事务管理等功能。Struts框架是一个MVC架构的Web应用程序框架&#xff0c;用于将数…...

Linux不同格式的文件怎么压缩和解压

Linux不同格式的文件怎么压缩和解压 tar介绍不同格式文件压缩和解压 tar介绍 tar&#xff08;tape archive&#xff09;是一个在Unix和类Unix操作系统中用于文件打包和归档的命令行工具。它通常与其他工具&#xff08;例如gzip、bzip2、xz&#xff09;一起使用来创建归档文件并…...

Java 领域模型之失血、贫血、充血、胀血模型

1.失血模型 失血模型仅仅包含数据的定义和getter/setter方法&#xff0c;业务逻辑和应用逻辑都放到服务层中。这种类在Java中叫POJO。 action service&#xff1a; 核心业务&#xff08;复杂度&#xff1a;重&#xff09; model&#xff1a;简单Set Get dao &#xff1a;数据持…...

ifndef是什么,如何使用?

引言 使用HbuilderX uni-ui模板创建的uni-app项目&#xff0c;main.js文件中看到有如下的注释&#xff1a; // #ifndef VUE3 ...... // #endif // #ifdef VUE3 ...... // #endif 相信很多没有uini-app项目开发经验的朋友&#xff0c;初次接触uni-app项目&#xff0c;可…...

PXIE板卡,4口QSFP+,PCIE GEN3 X8,XILINX FPGA XCVU3P设计

PXIE板卡&#xff0c;4口QSFP&#xff0c;PCIE GEN3 X8&#xff0c;基于XILINX FPGA XCVU3P设计。 1&#xff1a;电路拓扑 ● 支持利用 EEPROM 存储数据&#xff1b; ● 电源时序控制和总功耗监控&#xff1b; 2&#xff1a;电路调试 3&#xff1a;测试 PCIE gen3 x8&#…...

数据分析:密度图

目前拥有的数据如图&#xff0c;三列分别对应瑕疵种类&#xff0c;对应的置信 度&#xff0c;x方向坐标。 现在想要做的事是观看瑕疵种类和置信度之间的关系。 要显示数据分布的集中程度&#xff0c;可以使用以下几种常见的图形来观察&#xff1a; 1、箱线图&#xff08;Box P…...

docker load and build过程的一些步骤理解

docker load 命令执行原理 “docker load” command, the following steps are followed to load an image from a specified tar file to the local image repository: Parsing the tar file: Docker first parses the tar file to check its integrity and verify the form…...

批量处理图像模板

以下是一个Python模板&#xff0c;用于批量处理图像并将处理后的图像保存在另一个文件夹中。在此示例中&#xff0c;将使用Pillow库来处理图像&#xff0c;可以使用其他图像处理库&#xff0c;根据需要进行修改。   首先&#xff0c;确保已经安装了Pillow库&#xff0c;可以使…...

陕西网站建设公司找哪家/seox

转载请标明出处&#xff1a;http://blog.csdn.net/lmj623565791/article/details/39257409&#xff0c;本文出自【张鸿洋的博客】 上一篇博客带大家实现了&#xff1a;Android 自定义控件打造史上最简单的侧滑菜单&#xff0c;有兄弟看了以后说&#xff0c;你这滑动菜单过时了…...

武汉网站制作制作/安卓在线视频嗅探app

Java集合体系 Collection 接口&#xff1a;该接口是最基本的集合接口List 接口&#xff1a;列表Set 接口&#xff1a;数学概念的集合Map 接口&#xff1a;包含键值对&#xff0c;Map 不能包含重复的键。SortedMap 是一个按升序排列的 Map 集合。 简化图&#xff1a; 说明&#…...

如何用vs的c 做网站/google浏览器官网

文 | 魏启扬 来源 | 智能相对论&#xff08;ID&#xff1a;aixdlun&#xff09; 在自动驾驶赛道中&#xff0c;虽然每个玩家的发展策略都有所求&#xff0c;专长方向也各有不同&#xff0c;但随着越来越多自动驾驶商业落地的消息传出&#xff0c;其中的头部玩家们似乎已经逐渐…...

wordpress know how/企业文化标语经典

答: 1.复制:alt6 2.剪切:ctrlk 3.粘贴:ctrlu 4.自由剪切: ctrl6指定起始剪切位置,按上下左右键来选中内容&#xff0c;然后按下ctrlk即可自由剪切 5.撤销: altu转载于:https://www.cnblogs.com/dakewei/p/10195822.html...

动易 网站首页/百度站长工具平台

mysql有多种存储引擎&#xff0c;有些版本&#xff08;mysql5.5.5以前默认是MyISAM&#xff0c;mysql5.5.5以后默认是InnoDB&#xff09;安装时默认的存储引擎是MyISAM&#xff0c;而MyISAM存储引擎是不支持事务处理的&#xff0c;所以才导致了项目中service层的某个方法事务失…...

济南城市建设集团/深圳整站seo

我有一个本地安装的库的问题 . 在我的项目中有xmlrpc 0.7库&#xff1a;myproject/-- xmlrpc0.7/-- src/如果没有找到&#xff0c;我希望CMake使用本地xmlrpc 0.7目录进行回退 . 两个问题&#xff0c;第一个&#xff0c;find_path()或find_library()不适用于本地目录 . 我使用了…...