前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ElasticSearch 的安装以及设置ElasticSearch外网访问以及过程中遇到的问题

ElasticSearch 的安装以及设置ElasticSearch外网访问以及过程中遇到的问题

作者头像
用户8346838
发布2021-03-11 15:03:01
3.4K0
发布2021-03-11 15:03:01
举报
文章被收录于专栏:Kevin

一 ElasticSearch需要安装在普通用户下,安装在root用户下会报如下错误

Caused by: java.lang.RuntimeException: can not run elasticsearch as root

1.创建普通用户并设置密码

代码语言:javascript
复制
adduser normaluser
passwd normaluser

如下密码设置成功

2.进入normaluser用户中

代码语言:javascript
复制
su normaluser

3.进入elasticsearch下载页面,进行对应平台下载es,271M,网速慢的需要耐心等待

代码语言:javascript
复制
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.0-linux-x86_64.tar.gz

4.解压安装包

代码语言:javascript
复制
tar -zxvf elasticsearch-7.3.0-linux-x86_64.tar.gz

5.进入到bin目录下

代码语言:javascript
复制
cd elasticsearch-7.3.0/bin/

6.启动

代码语言:javascript
复制
./elasticsearch

出现以下报错信息

error: OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release. OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408, 0) failed; error='Not enough space' (errno=12)

报错原因:说明内存空间不够,需要将占用内存空间改小一点

代码语言:javascript
复制
vi ../config/jvm.options

原先1G改为现在的400M即可

重新启动,启动成功

7.验证是否启动成功

代码语言:javascript
复制
curl 127.0.0.1:9200

出现以下,代表启动成功

8.守护进程启动

代码语言:javascript
复制
./elasticsearch -d

二 设置elasticsearch可以外网访问

1.elasticsearch默认端口9200,需要开启服务器端口可以外网访问

2. 修改配置文件,将ip改为0.0.0.0,如果需要特定ip可以访问,可以设定为固定的ip

代码语言:javascript
复制
vi ../config/elasticsearch.yml

3.启动elasticsearch,发现无法启动会出现报错信息

报错信息

ERROR: [1] bootstrap checks failed [1]: 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

原因没有发现host 需要至少保留一个,取消注释,保留host1

代码语言:javascript
复制
vi ../config/elasticsearch.yml

4.重新启动后在vindows本地通过外网ip:9200打开是否可以访问

如下启动成功

三 ElasticSearch设置外网启动的其他错误信息汇总

1.system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

原因 因为Centos6不支持SecComp,而ES5.2.1默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动

解决方案:

代码语言:javascript
复制
vi ../config/elasticsearch.yml

在Memory下添加一下内容

代码语言:javascript
复制
bootstrap.memory_lock: false
bootstrap.system_call_filter: false

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

原因:虚拟内存不够

解决方案,从65530增加到655360

退出普通用户,切换到root用户,打开配置文件进行修改

代码语言:javascript
复制
vim /etc/sysctl.conf

3.

问题1:max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

问题2:max number of threads [1024] for user [lishang] likely too low, increase to at least [2048]

在root用户下修改配置文件

代码语言:javascript
复制
vim /etc/security/limits.conf

在文件末尾进行文件配置

4.max number of threads [1024] for user [lish] likely too low, increase to at least [2048]

修改配置文件

代码语言:javascript
复制
vim /etc/security/limits.d/20-nproc.conf
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一 ElasticSearch需要安装在普通用户下,安装在root用户下会报如下错误
  • 三 ElasticSearch设置外网启动的其他错误信息汇总
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档