您当前的位置:首页 > 电脑百科 > 软件技术 > 应用软件

Elasticsearch部署的这些问题,你遇到过吗?

时间:2021-06-22 09:47:50  来源:  作者:行百里er

Elasticsearch(简称ES) 是一个分布式、高扩展、高实时的搜索与数据分析引擎,它也是一个“存储库”。

它能很方便地使大量数据具有搜索、分析和探索的能力。充分利用 ES 的水平伸缩性,能使数据在生产环境变得更有价值。

本文踏出使用ES的第一步-环境部署,这里把可能遇到的问题整理了一下,详见文章内容。

安装Elasticsearch 7.10

# 为Elasticsearch添加用户
useradd elastic
# 设置密码
passwd elastic

cd /home/elastic

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.2-darwin-x86_64.tar.gz

tar -zxvf elasticsearch-7.10.2-darwin-x86_64.tar.gz

cd elasticsearch-7.10.2/

这个home/elastic/elasticsearch-7.10.2目录就是ES的家目录,后面用$ES_HOME代替。

可以使用$ES_HOME/bin/elasticsearch直接启动了,但是会有一些问题,下面来总结一下。

 

centos 7环境下启动ES7遇到的问题

root用户下启动ES报错

如果没有配置ES环境变量,需要进入到$ES_HOME的bin目录下,执行elastisearch命令启动,每次这样启动感觉有点繁琐,我们来配置一下环境变量:

vi /etc/profile

# 添加
export ES_HOME=/home/elastic/elasticsearch-7.10.2
export PATH=$PATH:$JAVA_HOME/bin:$ES_HOME/bin

# 使之生效
source /etc/profile

然后在任何地方都可以直接敲elasticsearch命令来启动ES了。

but,你会收到这样的错误:

[2021-05-19T23:13:27,102][ERROR][o.e.b.ElasticsearchUncaughtExceptionHandler] [elk-standalone] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root

提示很明显了,就是不让用root用户启动ES,这个解决方法简单,切换到普通用户再启动就行了。

前面安装步骤中我已经提前机智的添加好elastic用户了,现在派上用场了。

切换到elastic用户,再直接用elasticsearch命令就不行了,因为还没有为这个elastic用户配置环境变量呢,现在来配置:

vi ~/.bash_profile

# 同样加上ES的家目录
export ES_HOME=/home/elastic/elasticsearch-7.10.2
export PATH=$PATH:$ES_HOME/bin

# 使之生效
source ~/.bash_profile

这样就可以和root用户一样爽了!

启动成功:

Elasticsearch部署的这些问题,你遇到过吗?

 

使用jps看一下:

Elasticsearch部署的这些问题,你遇到过吗?

 

客户端连接问题

成功启动以后,我们用postman连一下试试,地址:http://192.168.242.120:9200

Elasticsearch部署的这些问题,你遇到过吗?

 

连接不上!

这个时候根据经验就要去看一下配置文件了,ES的配置文件在$ES_HOME/config目录下,瞅瞅:

Elasticsearch部署的这些问题,你遇到过吗?

 

打开elasticsearch.yml,修改其中的配置项:

# 将network.host修改为0.0.0.0,使客户端能连接
network.host: 0.0.0.0

重新启动之,应该就行了吧?

启动报错

按Ctrl-C直接关掉ES,

前面说的启动都是在前台启动ES,实际中我们不可能前台启动程序,一般都是后台启动,这里为了方便看日志和演示才前台启动。

后台启动时,直接在 elasticsearch -d就好了,停服务的时候,先找到ES的PID,然后kill掉。

重新输入elasticsearch启动,这次竟然报错了!

报错详细信息:

bound or publishing to a non-loopback address, enforcing bootstrap checks
ERROR: [4] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max number of threads [3795] for user [elastic] is too low, increase to at least [4096]
[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[4]: 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
ERROR: Elasticsearch did not exit normally - check the logs at /home/elastic/elasticsearch-7.10.2/logs/elasticsearch.log

有四项错误:

[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

[2]: max number of threads [3795] for user [elastic] is too low, increase to at least [4096]

这两项的意思就是elasticsearch进程的最大文件描述符[4096]太低,至少增加到[65535];用户elastic的最大线程数[3795]太低,至少增加到[4096]。

那么我们就来按照它的指示增加一下:

# 在root用户下操作
vim /etc/security/limits.conf
# 修改最大进程数和最大线程数
# 在文件末尾添加
elastic hard nofile 65536
elastic soft nofile 65536
elastic hard nproc 4096
elastic soft nproc 4096

其中elastic为运行ES程序的用户。

再来看下一个问题:

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

这个提示是要让我们改一下vm.max_map_count,这个参数在/etc/sysctl.conf这个文件里添加:

# 在root用户下操作
vi /etc/sysctl.conf

# 在文件末尾添加
vm.max_map_count = 655360

# 保存退出
# 使之生效
sysctl -p
Elasticsearch部署的这些问题,你遇到过吗?

 

第四个问题:

[4]: 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中的一个,这就需要我们再改下config/elasticsearch.yml文件了:

# config/elasticsearch.yml文件,修改如下的参数下如:
node.name: node-1
cluster.initial_master_nodes: ["node-1"]

OK,保存,再次用elastic用户重启,见证奇迹:

Elasticsearch部署的这些问题,你遇到过吗?

 


Elasticsearch部署的这些问题,你遇到过吗?

 

启动成功!

再用postman验证一下:

Elasticsearch部署的这些问题,你遇到过吗?

 

完美解决!

 

最后

Elasticsearch,

“You Know, for Search”

文章首发公众号:行百里er,欢迎大家关注。代码仓库:
https://github.com/xblzer/JavaJourney



Tags:Elasticsearch   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
一、环境准备1.1、环境列表 节点名称 系统 ip地址 es-node1 centos7.6 192.168.10.128 es-node2 centos7.6 ...【详细内容】
2021-07-03  Tags: Elasticsearch  点击:(117)  评论:(0)  加入收藏
Elasticsearch(简称ES) 是一个分布式、高扩展、高实时的搜索与数据分析引擎,它也是一个“存储库”。它能很方便地使大量数据具有搜索、分析和探索的能力。充分利用 ES 的水平伸...【详细内容】
2021-06-22  Tags: Elasticsearch  点击:(89)  评论:(0)  加入收藏
作者:LX 一、 环境搭建 1、 启动Spark集群服务 1)启动Spark集群 2)子节点加入集群 3)查看是否加入成功 2、启动Elasticsearch数据库 1)可以启动自己安装的Elasticsearch数据库...【详细内容】
2021-06-11  Tags: Elasticsearch  点击:(132)  评论:(0)  加入收藏
环境:elasticsearch7.8.0索引模板通过事先定义好的模板,在创建索引时,如果索引名称与模版中定义的索引模式匹配那么就会自动应用模版中的配置信息。如果有多个索引模板被匹配,那...【详细内容】
2021-05-27  Tags: Elasticsearch  点击:(203)  评论:(0)  加入收藏
作者:中华石杉来源:石杉的架构笔记(ID:shishan100)目录:1. 一道面试题的引入:2. 性能优化的杀手锏:Filesystem Cache3. 数据预热4. 冷热分离5. ElasticSearch 中的关联查询6. Docum...【详细内容】
2021-03-04  Tags: Elasticsearch  点击:(133)  评论:(0)  加入收藏
基本概念定义 一个分布式的实时文档存储,每个字段 可以被索引与搜索 一个分布式实时分析搜索引擎 能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据用途 ...【详细内容】
2020-11-09  Tags: Elasticsearch  点击:(119)  评论:(0)  加入收藏
时下不论是在全文搜索领域还是大数据即时处理领域ELK都一枝独秀,而ELK的核心在于Elasticsearch,ELK很秀源于Elasticsearch很棒。很多可能用过ELK但是对其核心Elasticsearch却...【详细内容】
2020-10-26  Tags: Elasticsearch  点击:(80)  评论:(0)  加入收藏
1. 简述 Elasticsearch 是基于 Lucene 开发的一个分布式全文检索框架,向 Elasticsearch 中存储和从 Elasticsearch 中查询,格式是json。 向 Elasticsearch 中存储数据,其实...【详细内容】
2020-10-12  Tags: Elasticsearch  点击:(58)  评论:(0)  加入收藏
Elasticsearch作为一门全文检索技术,那它是如何使用的呢? 先学习Elasticsearch的一些语法,后续再在项目中实战应用。一、IK分词器这个IK分词器有什么用?为什么要用它?要知道计算...【详细内容】
2020-09-18  Tags: Elasticsearch  点击:(115)  评论:(0)  加入收藏
随着移动互联网、物联网、云计算等信息技术蓬勃发展,数据量呈爆炸式增长。如今我们可以轻易得从海量数据里找到想要的信息,其中离不开搜索引擎技术的帮助。...【详细内容】
2020-09-11  Tags: Elasticsearch  点击:(114)  评论:(0)  加入收藏
▌简易百科推荐
ACDSee Pro 2.5 和ACDSee 2009(也就是 ACDSee 11)这两个版本,虽然图标最丑,但却是最适合目前使用的版本。(以前的ACDSee 3.1是第三方改装版,现在出现不稳定了,经常提示插件错误,虽...【详细内容】
2021-12-27  周星骋Cheng    Tags:ACDSee   点击:(2)  评论:(0)  加入收藏
IT之家 12 月 23 日消息,百度地图今日宣布,第二代车道级导航正式上线。据介绍,百度地图第二代车道借助北斗 + 5G,在实现全程车道级导航效果的基础上,全面升级最优车道推荐、全 /...【详细内容】
2021-12-24  IT之家    Tags:百度地图   点击:(10)  评论:(0)  加入收藏
推荐12款不用安装就能免费用的神仙软件,每一款都是百里挑一! 一、文件存储与传输1.不限量网盘地址:https://transferkit.io/一个在线云存储网盘,它提供了不限量的云存储空间,单文...【详细内容】
2021-12-17  牛片网    Tags:软件   点击:(15)  评论:(0)  加入收藏
古人说:凡事预则立不预则废,对于我们当代人来说,做好工作计划,更是职场人高效工作的第一步,所以计划对于我们的重要性不言而喻…… 工作表格模板汇总正是因为有了工...【详细内容】
2021-12-15  吴六柒    Tags:工作表格   点击:(32)  评论:(0)  加入收藏
当我们浏览知乎、Youtube、贴吧、CSDN等等,总会遇到服务商一些广告;复制文章的时候,剪切板总是自带一些版权信息;还有一些网页配色很亮,眼睛看着很不舒服。反正就是各种不爽。给...【详细内容】
2021-12-08  小皮虾Pro    Tags:浏览器   点击:(27)  评论:(0)  加入收藏
来源:AirPython作者:星安果 1. 前言大家好,我是安果!之前推荐过很多优秀的 Web 自动化工具,比如:Selenium、Helium、Cypress、Pyppeteer 等利用它们实现自动化的前提是必须安装依...【详细内容】
2021-11-30  CDA数据分析师    Tags:Automa   点击:(30)  评论:(0)  加入收藏
概述superset是由Airbnb开源的轻量级BI分析工具。主要有三大功能:使用数据可视化来探索你的数据,通过交互式的Dashboard来查看你的数据,通过Sql Lab来编写sql查询你的数据。特...【详细内容】
2021-11-30  新视像    Tags:Superset   点击:(21)  评论:(0)  加入收藏
媒体爆料称:近期,老牌音乐播放器Winamp宣布回归,官方网站也大改后重新上线。官方表示:不只是简单更新而是全面重制。新的Winamp 将推出适用于 Windows、macOS 和移动平台的多合...【详细内容】
2021-11-26    中关村在线  Tags:Winamp   点击:(22)  评论:(0)  加入收藏
新版高德地图上线 ADAS 预警导航功能,借助视觉 AI 技术,可智能识别前方车辆、行人,并提供碰撞预警、车道偏离等多种安全提醒,防止风险的发生。 在小联的调研中,只有6%的车机体验...【详细内容】
2021-11-23  手机互联    Tags:高德地图   点击:(143)  评论:(0)  加入收藏
朋友委托我帮忙看看可用邮箱大全有哪些?好用的企业邮箱是多少?他公司要开通企业邮箱。相信很多公司在考虑开通企业邮箱时,都会遇到这样的问题,企业邮箱哪个好?怎样选择合适的企业...【详细内容】
2021-11-11  超级打工人    Tags:企业邮箱   点击:(30)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条