Elasticsearch7.* 安装在linux下,只能通过本机访问的问题该如何解决?

背景:

系统: Centos7 、 ES版本:Elasticsearch7.2

问题描述:

ES安装后,发现只能在安装环境通过localhost(localhost:9200)进行访问,外网无法通过IP(http://192.168.48.20:9200/)进行访问。

解决方案:

  • 如果是在虚拟机,请先关闭虚拟机防火墙
systemctl stop firewalld.service
  • 修改/elasticsearch-7.2.0/configconfig/elasticsearch.yml配置
vim config/elasticsearch.yml

增加以下内容

cluster.initial_master_nodes: ["node-1"]

network.host: 0.0.0.0
http.port: 9200

#是否禁用交换区
bootstrap.memory_lock: false
#因为Centos6起不支持SecComp,而ES默认bootstrap.system_call_filter为true进行检测
bootstrap.system_call_filter: false

在这里插入图片描述

  • 如果启动后,发现以下错误信息
    max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
    修改/etc/security/limits.conf文件,增加配置:
	   *               soft    nofile          65536
	   *               hard    nofile          65536

修改配置后,需要用户退出后重新登录才能生效,可以通过命令ulimit -Hn ulimit -Sn查看每个进程最大同时打开文件数太小。

  • 如果启动后,发现以下错误信息
    max number of threads [3818] for user [es] is too low, increase to at least [4096]
    修改/etc/security/limits.conf文件,增加配置:
	   *               soft    noproc         4096
	   *               hard    noproc         4096

修改配置后,需要用户退出后重新登录才能生效,可以通过命令ulimit -Hu ulimit -Su查看具体配置。在这里插入图片描述

  • 如果启动后,发现以下错误 max virtual memory areas vm.max_map_count [65530] is too
    low, increase to at least [262144]

    需要修改/etc/sysctl.conf
vi /etc/sysctl.conf
#增加配置
vm.max_map_count=262144

修改完毕后,需要执行命令sysctl -p生效
在这里插入图片描述
解决完以上问题后,重新启动ES。

./bin/elasticsearch

在这里插入图片描述
通过外网IP访问。
http://192.168.48.20:9200/
在这里插入图片描述
问题解决。

  • 需要注意的是:
    1、es不支持root用户启动。
    2、修改/etc/security/limits.conf,/etc/sysctl.conf文件需要有相关权限。
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值