虚拟机中用Docker安装并启动了Elasticsearch,浏览器却访问不了

这篇具有很好参考价值的文章主要介绍了虚拟机中用Docker安装并启动了Elasticsearch,浏览器却访问不了。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

学习springCloud的过程及其痛苦,一直跟着黑马的视频走,但是随着技术栈的更新,许多技术的配置与黑马视频讲的会有出入,然后就会遇到一些很头疼的问题,有时候一个问题需要找很久的原因与解决方法,所以记录一下这些问题防忘吧(由于是尝试过程中解决了问题,没有截图,但说的还算详细)。

问题:

在学习到Elasticsearch时,我用docker安装并启动了Elasticsearch,前期过程挺顺利的,但是在用浏览器访问的时候出问题了,怎么也访问不到,提示拒绝访问。

解决过程:

1.防火墙问题:

网上大部分说的就是防火墙的问题,但是在刚学docker时,我就关闭了防火墙并且禁止了开机启动,给有需要的提供下命令吧:

firewall-cmd --state # 查看防火墙状态
systemctl stop firewalld.service # 停止firewall
systemctl disable firewalld.service # 禁止firewall开机启动
reboot # 重启虚拟机

2.max_map_count太小:

第二种比较多的说法是:max_map_count太小了,但是我修改了之后问题依然没有解决,命令如下:

先查看max_map_count值(一般是65530,但如果是262144就不用改):

cat /proc/sys/vm/max_map_count
65530

修改65530为262144:

#临时修改
sysctl -w vm.max_map_count=262144

#永久修改
vm.max_map_count=262144​

3.虚拟机内存不足以给ES分配:

还有说法是ES占用的内存比较多,如果虚拟机内存不足以分配给ES时会导致启动失败,解决方法:

#查看ES的容器id:
docker ps -a
 
#删除ES容器:
docker rm + 容器id

#新建ES容器(重点加上-e "ES_JAVA_OPTS=-Xms512m -Xmx512m"):
docker run -d \
--name es \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-v es-plugins:/usr/share/elasticsearch/plugins \
-v /path/to/data/dir:/usr/share/elasticsearch/data \
--network es-net \
--privileged \
-p 9200:9200 \
-p 9300:9300 \
elasticsearch:7.12.1

这个是黑马视频中说到过的,所以我也是加上的,对我的问题没有帮助。

正解:挂载点目录问题:

1.查看日志:

我在寻求方法时,偶然发现,这个命令可以查看Elasticsearch的日志:

# 查看最新日志(默认情况下使用-f选项)
docker logs -f +容器id或者镜像名

# 查看特定时间段内的日志:
docker logs --since 2022-01-01 +容器id或者镜像名

# 仅查看错误日志:
docker logs --since 1d --grep ERROR +容器id或者镜像名

然后我查看了我的日志,发现在我浏览器访问ip:9200时,会出现这个错误并且此时我的容器会被自动删除:

ElasticsearchException[failed to bind service]; nested: FileSystemException[/usr/share/elasticsearch/data/nodes/0: Not a directory];
Likely root cause: java.nio.file.FileSystemException: /usr/share/elasticsearch/data/nodes/0: Not a directory

2.尝试修复:

大致意思就是说我的挂载目录不存在,但是我单独创建了目录后,还是会报错:


uncaught exception in thread [main]
ElasticsearchException[failed to bind service]; nested: AccessDeniedException[/usr/share/elasticsearch/data/nodes];
Likely root cause: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes

然后我就针对目录做了一系列的我能想到的方法,但是都没解决问题。

3.正确方法:

无奈之下,我只能完全删除了Elasticsearch的镜像以及容器,重新安装,但是在安装之前先创建挂载点文件目录!

下面为docker安装Elasticsearch的完整步骤:

(1)创建一个网络,方便后期部署kibana:

docker network create es-net

(2)docker拉取Elasticsearch,不知道为什么在拉取Elasticsearch时,必须加tag,不能直接用latest:

# 必须选取一个tag,以7.12.1为例:
docker pull elasticsearch:7.12.1

(3)创建搭载目录(重点!!!很多教程都没有)

mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data

# 将http.host: 0.0.0.0写入到es配置文件中,代表能被远程的任何机器访问:
echo "http.host: 0.0.0.0" > /mydata/elasticsearch/config/elasticsearch.yml

(4)创建容器:

docker run -d \
--name es \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-v es-plugins:/usr/share/elasticsearch/plugins \
-v /path/to/data/dir:/usr/share/elasticsearch/data \
--network es-net \
--privileged \
-p 9200:9200 \
-p 9300:9300 \
elasticsearch:7.12.1

解释:

-e "cluster.name=es-docker-cluster":设置集群名称

-e "http.host=0.0.0.0":监听的地址,可以外网访问

-e "ES_JAVA_OPTS=-Xms512m -Xmx512m":内存大小

-e "discovery.type=single-node":非集群模式

-v es-data:/usr/share/elasticsearch/data:挂载逻辑卷,绑定es的数据目录

-v es-plugins:/usr/share/elasticsearch/plugins:挂载逻辑卷,绑定es的插件目录

--privileged:授予逻辑卷访问权

--network es-net :加入一个名为es-net的网络中

-p 9200:9200:端口映射配置
(5)浏览器访问:虚拟机ip:9200,出现以下页面代表访问成功(edge浏览器出现的为json格式):

虚拟机中用Docker安装并启动了Elasticsearch,浏览器却访问不了

 问题解决!!!

总结:

这次的问题主要是,事前没有准备挂载点目录,其实黑马的视频和很多教程也没有这一步,所以绕了很大的弯子,花费很长时间的另一个原因是:我没有及时的查看日志,其实程序员遇到错误时第一项该做的就是查看日志,而我首先是去盲目的搜索答案了,也算让我长长记性吧。

日志错误可能和我不一样,可以在评论区发出来,只要我知道的就会回答的,不知道的留给随缘的大佬回答吧。文章来源地址https://www.toymoban.com/news/detail-447593.html

到了这里,关于虚拟机中用Docker安装并启动了Elasticsearch,浏览器却访问不了的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker | docker 安装 firefox 浏览器

    1.下载镜像 2.运行容器 3.参数解释: 4.访问测试 可以看到我们在Windows自带浏览器edge中开启了一个firefox浏览器,即访问 http://服务器IP:5800 还可以通过VNC软件连接浏览器,配置时配置5900端口 使用快捷键Ctrl+n创建一个新窗口

    2024年02月08日
    浏览(33)
  • 使用selenium,但chrome无法启动,需要安装浏览器对应版本(最新)的chromedriver

    使用selenium无法启动chrome,代码 报错如下: 安装地址 查询了浏览器版本:117.0.5927 但是国内的镜像网找不到,只更新到114版本 需要安装驱动,点击了最下面的网址 https://chromedriver.chromium.org/home 如图为有效信息 - 点击跳转: https://googlechromelabs.github.io/chrome-for-testing (点击这里

    2024年02月11日
    浏览(50)
  • Google Chrome谷歌浏览器安装最新版Elasticsearch插件 图文教程 【一看就懂】

    我们在虚拟机安装了Elasticsearch后,往往还需要再安装一个可视化界面以便于使用。本文就教您如何在Google Chrome谷歌浏览器安装最新版Elasticsearch(es)插件。 | 1 如图所示,点击设置 进入如下界面,点击扩展程序 开启开发者模式后点击Chrome网上应用商店 如图所示搜索插件El

    2024年02月07日
    浏览(49)
  • 【BUG】docker安装nacos,浏览器却无法访问到页面

    个人主页 :金鳞踏雨 个人简介 :大家好,我是 金鳞 ,一个初出茅庐的Java小白 目前状况 :22届普通本科毕业生,几经波折了,现在任职于一家国内大型知名日化公司,从事Java开发工作 我的博客 :这里是CSDN,是我学习技术,总结知识的地方。希望和各位大佬交流,共同进

    2024年02月12日
    浏览(42)
  • 在vmware安装gitlab,启动gitlab后,在本地浏览器访问服务器之后显示无法访问此网站

    事情是这样的,准备学习jenkins来着,于是安装了vmware,在vmware上安装了服务器,并且在服务器上安装了gitlab,启动gitlab之后,在浏览器输入地址居然无法访问。显示如下:  反正折腾了好一阵子,输入命令 gitlab-ctl status和free -m 确认gitlab相关的服务都启动了以及内存也还有剩

    2024年02月16日
    浏览(45)
  • H5外部浏览器直接调起微信——通过url协议 weixin:// 判断是否安装微信及启动微信

    h5分享到微信,h5使用微信支付这些功能,都需要先判断是否安装微信客户端,如果已安装就启动微信,如果没有安装微信,就提示用户前去安装。 我们可以通过访问微信提供的URL协议(weixin://)来实现这个功能,代码如下: 示例代码: 扩展: 同样,通过上边的方法,也可

    2024年02月06日
    浏览(38)
  • 如何在Docker环境下安装火狐浏览器并结合内网穿透工具实现公网访问

    Firefox是一款免费开源的网页浏览器,由Mozilla基金会开发和维护。它是第一个成功挑战微软Internet Explorer浏览器垄断地位的浏览器之一。 在Docker中打开Firefox意味着我们将在一个Docker容器中运行Firefox浏览器。这对于一些特殊的测试场景非常有用,例如需要在不同版本的浏览器中

    2024年02月03日
    浏览(42)
  • linux centos安装google chrome浏览器使用headless无头模式 制作docker镜像

    chromedriver 驱动下载地址: https://npm.taobao.org/mirrors/chromedriver/ linux centos安装google chrome浏览器使用headless无头模式 用java开发爬虫,或者需要java操作控制浏览器来渲染页面,抓取页面元素,都需要在linux安装google chrome浏览器,然后就可以通过chrome driver来连接操作chrome浏览器了,

    2024年02月09日
    浏览(47)
  • 设置开机自动启动chrome浏览器

    前端时间参与了一体机的项目,需要开启后自动打开应用,没有接触过的项目,一切上搜索。 以下是对项目的开机启动做一个记录... 步骤一 、 设置开机自动启动浏览器 自动全屏访问某个url 分屏一体机,两个显示器分别显示不同的url  1、首先打开C:ProgramDataMicrosoftWindows

    2024年02月06日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包