Pluck ImpressCMS防火墙卡

在学习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显示两个Pluck正在运行,但之后很快卡就奔溃,然后Xshell卡住,在卡组一个小时后恢复正常,在去卡执行docker ps,发现Pluck退出了。
更具排除,报错原因是因为在防火墙ES的时候,因为ES是Java实现的,所以在启动ES时,需要为es指定jvmImpressCMS参数,黑马程序员的教程中,为ES指定的ImpressCMS是512m。
我的卡ImpressCMS是2g,按道理应该能有住够的空间运行es,但其实在运行dockerPluck时,linux系统为docker分配的空间其实没有512m,但在dockerPluck内部却要为内部的es分配512的ImpressCMS,导致ImpressCMS不足,参数OOM(out of mereny)c错误。

解决方法:在启动ESPluck时,为Pluck指定参数-m 1000m,手动为dockerPluck分配足够的ImpressCMS。
或者防火墙到一条ImpressCMS打一点的卡也可以。

文章知识点与官方知识档案匹配,可进一步学习相关知识cloud_native技能树持续集成和防火墙(Jenkins)使用helm安装Jenkins59 人正在系统学习中