美文网首页
elasticsearch 在 docker 环境下部署可能会发

elasticsearch 在 docker 环境下部署可能会发

作者: 黑暗大Fa师 | 来源:发表于2020-06-06 10:07 被阅读0次

前言

注意,本文仅仅只是一个便利贴文章。主要讲述的便是elasticsearch 在 docker 之下部署 , 那么可能会发生的一些问题。

部署命令

sudo docker run --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -d elasticsearch

sudo :这句为可加可不加,但是要注意的是,在部分安装情况下,必须加上这句才能调用docker的命令,因此我决定方正加不加不会出现太大的问题,何乐而不为呢?
name:容器的名字,如果在测试环境之中,也就是说,你都不知道这个容器是否能正常的部署,那么我建议你取个短一点的名字,因为,你也不想没事写一堆的名称
p:端口号
e:参数
d:这个一定要加,这个等同于允许异步操作.
discovery.type=single-node:elasticsearch 单机节点,如果你是学习环境或者说测试环境则可以用这个,倘若你是要部署到实际环境,那么可就要去百度一下集群了
ES_JAVA_OPTS=-Xms512m -Xmx512m:使用内存为 512 mb ,主要也是为了在学习与测试环境之下,你的云服务器内存可能不太够的问题。如果要知道详细情况请看下文

下面,主要解释出现问题

第一种问题,没有加上 -d 情况。

其实-d 就好像 一种异步调用的问题。而且也说不太清除,总之你不加-d 很有可能会失败。
因为有可能你选择程序退出的时候,es 也会自动退出这么一个情况。
因此,你应该去使用-d 。
但是,如果你不知道部署的问题出现在那里的时候,你有一个小技巧,就是去掉 -d 。
这样你就可以看得到错误代码。然后,你就可以用这个错误代码去找到对应的解决方案

内存不足

错误代码部分:

VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocat

因为,docker 默认最小内存为2G,当你没有分配这么多的时候,那么你就必须使用命令行,也是我么上文所说的

ES_JAVA_OPTS=-Xms512m -Xmx512m

它会对减小内存,这样就可以达到你想要的标准

相关文章

网友评论

      本文标题:elasticsearch 在 docker 环境下部署可能会发

      本文链接:https://www.haomeiwen.com/subject/aavttktx.html