栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Docker部署elasticsearch和kibana踩坑

Docker部署elasticsearch和kibana踩坑

在学习elasticsearch的时候,我安装黑马程序员的课程,将es部署到服务器的docker上。

es部署代码如下:

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

kibana部署代码如下:

docker run -d 
--name kibana 
-e ELASTICSEARCH_HOSTS=http://es:9200 
--network=es-net 
-p 5601:5601  
kibana:7.12.1

在服务器执行这两段代码后,docker ps显示两个容器正在运行,但之后很快服务器就奔溃,然后Xshell卡住,在卡组一个小时后恢复正常,在去服务器执行docker ps,发现容器退出了。

更具排除,报错原因是因为在部署ES的时候,因为ES是Java实现的,所以在启动ES时,需要为es指定jvm内存参数,黑马程序员的教程中,为ES指定的内存是512m。

我的服务器内存是2g,按道理应该能有住够的空间运行es,但其实在运行docker容器时,linux系统为docker分配的空间其实没有512m,但在docker容器内部却要为内部的es分配512的内存,导致内存不足,参数OOM(out of mereny)c错误。

解决方法:在启动ES容器时,为容器指定参数-m 1000m,手动为docker容器分配足够的内存。

或者部署到一条内存打一点的服务器也可以。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/760833.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号