docker安装elasticsearch踩到的坑

简述

elasticsearch是一款很好用的搜索服务器,全文检索靠它比直接在数据库中查来的快,然而纯天然安装elasticsearch也是要修改配置文件的,博主比较懒,所以选择了docker来安装,开箱即用就是爽。

步骤

1、拉取下载镜像

docker pull elasticsearch(失败)

小插曲
不知道为何想用docker pull elasticsearch拉取最新的镜像,一直是报错

Using default tag: latest
Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled 
(Client.Timeout exceeded while awaiting headers)

我还以为是我镜像源的问题,但是拉取其他镜像都没问题,所以我想着拉取其他版本看看,然后忘了在哪篇博客是看到5.1.1这个字眼,所以就拉取了个elasticsearch:5.1.1来试试(踩坑之路就此开始)。
配置映射端口9200,限制运行内存,启动elasticsearch。docker ps查看是否运行,发现正在运行了,但访问9200端口失败了!!!,再继续docker ps查看,发现容器停止了工作。
在这里插入图片描述
用命令查看docker日志看看发生了上面

docker logs <容器id>

在这里插入图片描述
错误信息:

org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: No match found
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125) ~[elasticsearch-5.1.1.jar:5.1.1]
	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:112) ~[elasticsearch-5.1.1.jar:5.1.1]
	at org.elasticsearch.cli.SettingCommand.execute(SettingCommand.java:54) ~[elasticsearch-5.1.1.jar:5.1.1]
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:96) ~[elasticsearch-5.1.1.jar:5.1.1]
	at org.elasticsearch.cli.Command.main(Command.java:62) ~[elasticsearch-5.1.1.jar:5.1.1]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:89) ~[elasticsearch-5.1.1.jar:5.1.1]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:82) ~[elasticsearch-5.1.1.jar:5.1.1]
Caused by: java.lang.IllegalStateException: No match found
	at java.util.regex.Matcher.group(Matcher.java:536) ~[?:1.8.0_111]
	at org.elasticsearch.monitor.os.OsProbe.getControlGroups(OsProbe.java:213) ~[elasticsearch-5.1.1.jar:5.1.1]
	at org.elasticsearch.monitor.os.OsProbe.getCgroup(OsProbe.java:402) ~[elasticsearch-5.1.1.jar:5.1.1]
	at org.elasticsearch.monitor.os.OsProbe.osStats(OsProbe.java:454) ~[elasticsearch-5.1.1.jar:5.1.1]
	at org.elasticsearch.monitor.os.OsService.<init>(OsService.java:45) ~[elasticsearch-5.1.1.jar:5.1.1]
	at org.elasticsearch.monitor.MonitorService.<init>(MonitorService.java:45) ~[elasticsearch-5.1.1.jar:5.1.1]
	at org.elasticsearch.node.Node.<init>(Node.java:345) ~[elasticsearch-5.1.1.jar:5.1.1]
	at org.elasticsearch.node.Node.<init>(Node.java:229) ~[elasticsearch-5.1.1.jar:5.1.1]
	at org.elasticsearch.bootstrap.Bootstrap$6.<init>(Bootstrap.java:214) ~[elasticsearch-5.1.1.jar:5.1.1]
	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:214) ~[elasticsearch-5.1.1.jar:5.1.1]
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:306) ~[elasticsearch-5.1.1.jar:5.1.1]
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:121) ~[elasticsearch-5.1.1.jar:5.1.1]

在百度上找了好久跟我一样遇到这个问题的同道中人,不过貌似没几个遇到我这个错误的,无奈之下只好看看传说中的外国友人有没有遇到这个问题。
个人被我在GitHub上找到了跟我一样问题的人https://github.com/elastic/elasticsearch/issues/23218,并且有人提出解决方案在这里插入图片描述
好吧,纠结了半天原来是版本问题,旧版本比较多bug,特别是要适应较新的系统的时候,现在想想5.1.1确实太老了,最新版本都出到5.7了,不过我还是有了5.3.1的版本。

2、重新拉取镜像

docker pull elasticsearch:5.3.1
docker images

在这里插入图片描述

3、配置运行elasticsearch

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name ES03 0b44dca495a2

在这里插入图片描述

4、访问9200端口

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值