Docker安装Elasticsearch和Kibana(单机开发版)

一.环境

准备一台有docker环境的虚拟机,需要注意的是分配内存记得一定大于2G,因为ES需要的内存就至少要1G了

二.拉取镜像

进入docker hub查询自己需要的es版本

docker hub elasticsearch tag

这里以安装7.6.0为例  右边有拉取镜像的指令,直接复制,在linux下执行即可拉取镜像

这里镜像已拉取完毕

三.容器运行ES

这里强烈建议按照docker hub的文档来启动,不然会遇到很多坑

先创建用户定义的网络(用于连接到连接到同一网络的其他服务(例如,Kibana))

这一步非常重要,不然kibana后面会一直连接不上es

docker run -it --net esnetwork --name elasticsearch -d -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.6.0

9300:ES节点之间的通讯使用

9200:ES节点和外部通讯使用

docker ps -a如果发现容器启动失败

docker logs elasticsearch查看日志 发现报错

问题1 elasticsearch用户拥有的内存权限太小,至少需要262144

vim /etc/sysctl.conf  加入

vm.max_map_count=655360 然后执行sysctl -p让系统重新加载vm.max_map_count参数

删除之前的容器再次重启

问题2 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

需要再容器启动命令上加入-e "discovery.type=single-node"

测试 浏览器访问http://192.168.56.101:9200/

四.安装Kibana

注意最好和ES版本一致 这里同样是7.6.0版本

下载容器后

运行kibana容器

docker run --net esnetwork --name kibana -e ELASTICSEARCH_URL=http://127.0.0.1:9200 -p 5601:5601 -d kibana:7.6.0

这里要和上面的es处于一个自定义网络 不然会出现下面的情况

 
 

访问出错 查看日志

docker logs kibana

发现

docker exec -it kibana /bin/bash 进入交互模式

vi config/kibana.yml

发现host为http://elasticsearch:9200 更改为实际IP地址

然后重启kibana容器

访问http://192.168.56.101:5601 发现启动正常

发布了229 篇原创文章 · 获赞 49 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/baiyan3212/article/details/104309174