溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

docker啟動elasticsearch時內(nèi)存不足怎么解決

發(fā)布時間:2022-04-19 16:38:23 來源:億速云 閱讀:800 作者:iii 欄目:移動開發(fā)

本文小編為大家詳細介紹“docker啟動elasticsearch時內(nèi)存不足怎么解決”,內(nèi)容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“docker啟動elasticsearch時內(nèi)存不足怎么解決”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

問題

docker安裝并啟動elasticsearch時內(nèi)存不足

系統(tǒng)centos8(阿里云ecs服務器

[root@iz2zeczvvb79boy368xppwz ~]# cat /etc/redhat-release
centos linux release 8.1.1911 (core)

安裝過程

docker pull elasticsearch:6.4.0

修改虛擬機內(nèi)存(貌似沒有效果)

sysctl -w vm.max_map_count=262144

使用docker run命令跑容器

docker run -p 9200:9200 -p 9300:9300 --name elasticsearch \
-e "discovery.type=single-node" \
-e "cluster.name=elasticsearch" \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-d elasticsearch:6.4.0

docker ps查看容器并沒有啟動

[root@iz2zeczvvb79boy368xppwz ~]# docker ps
container id  image    command     created    status    ports                              names
edfc400862eb  rabbitmq:3.7.15  "docker-entrypoint.s…" 14 hours ago  up 14 hours   0.0.0.0:4369->4369/tcp, 0.0.0.0:5671-5672->5671-5672/tcp, 0.0.0.0:15671-15672->15671-15672/tcp, 0.0.0.0:25672->25672/tcp rabbitmq
2ae2f3f8dc1f  nginx:1.10   "nginx -g 'daemon of…" 2 weeks ago   up 2 weeks   0.0.0.0:80->80/tcp, 443/tcp                        nginx
164e4e7561df  redis:3.2   "docker-entrypoint.s…" 2 weeks ago   up 2 weeks   0.0.0.0:6379->6379/tcp                          redis
eeabe57f1f21  mysql:5.7   "docker-entrypoint.s…" 2 weeks ago   up 2 weeks   0.0.0.0:3306->3306/tcp, 33060/tcp                       mysql

docker ps -a 查看容器確實創(chuàng)建了

[root@iz2zeczvvb79boy368xppwz ~]# docker ps -a
container id  image     command     created    status       ports                              names
767829ae1d7c  elasticsearch:6.4.0 "/usr/local/bin/dock…" about a minute ago exited (1) about a minute ago                                elasticsearch
edfc400862eb  rabbitmq:3.7.15  "docker-entrypoint.s…" 14 hours ago   up 14 hours      0.0.0.0:4369->4369/tcp, 0.0.0.0:5671-5672->5671-5672/tcp, 0.0.0.0:15671-15672->15671-15672/tcp, 0.0.0.0:25672->25672/tcp rabbitmq
2ae2f3f8dc1f  nginx:1.10   "nginx -g 'daemon of…" 2 weeks ago   up 2 weeks      0.0.0.0:80->80/tcp, 443/tcp                        nginx
164e4e7561df  redis:3.2    "docker-entrypoint.s…" 2 weeks ago   up 2 weeks      0.0.0.0:6379->6379/tcp                          redis
eeabe57f1f21  mysql:5.7    "docker-entrypoint.s…" 2 weeks ago   up 2 weeks      0.0.0.0:3306->3306/tcp, 33060/tcp                       mysql

查看日志docker logs -f elasticsearch命令查看日志發(fā)現(xiàn)jvm內(nèi)存不足

[root@iz2zeczvvb79boy368xppwz ~]# docker logs -f elasticsearch
openjdk 64-bit server vm warning: option useconcmarksweepgc was deprecated in version 9.0 and will likely be removed in a future release.
openjdk 64-bit server vm warning: info: os::commit_memory(0x00007ebf15330000, 549668585472, 0) failed; error='not enough space' (errno=12)
#
# there is insufficient memory for the java runtime environment to continue.
# native memory allocation (mmap) failed to map 549668585472 bytes for committing reserved memory.
# an error report file with more information is saved as:
# logs/hs_err_pid1.log

解決方法

修改jvm.options文件配置
首先查找jvm.options文件位置(每個服務器的位置可能不同)

[root@iz2zeczvvb79boy368xppwz ~]# find / -name jvm.options
/var/lib/docker/overlay2/d399872a3517b4d4acb0d2f70d0625c0f38251ffe5819a1cea00f8213de3e7f5/diff/usr/share/elasticsearch/config/jvm.options

vim進入文件修改虛擬機最小內(nèi)存

[root@iz2zeczvvb79boy368xppwz ~]# vim /var/lib/docker/overlay2/d399872a3517b4d4acb0d2f70d0625c0f38251ffe5819a1cea00f8213de3e7f5/diff/usr/share/elasticsearch/config/jvm.options

找到-xms屬性,修改成512m(我的elasticsearch:6.4.0默認為1g)

## jvm configuration

################################################################
## important: jvm heap size
################################################################
##
## you should always set the min and max jvm heap
## size to the same value. for example, to set
## the heap to 4 gb, set:
##
## -xms4g
## -xmx4g
##
## see https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html
## for more information
##
################################################################

# xms represents the initial size of total heap space
# xmx represents the maximum size of total heap space

-xms512m
-xmx512m

保存并退出

vim中按i進入編輯模式,按esc退出編輯模式,按:進入命令模式,然后在底部命令行輸入w為保存,q為退出,q!為強制退出。
再次啟動容器,docker ps查看容器啟動成功

[root@iz2zeczvvb79boy368xppwz ~]# docker ps
container id  image     command     created    status    ports                              names
f5c4ed61196b  elasticsearch:6.4.0 "/usr/local/bin/dock…" 15 minutes ago  up 15 minutes  0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp                    elasticsearch
edfc400862eb  rabbitmq:3.7.15  "docker-entrypoint.s…" 15 hours ago  up 15 hours   0.0.0.0:4369->4369/tcp, 0.0.0.0:5671-5672->5671-5672/tcp, 0.0.0.0:15671-15672->15671-15672/tcp, 0.0.0.0:25672->25672/tcp rabbitmq
2ae2f3f8dc1f  nginx:1.10   "nginx -g 'daemon of…" 2 weeks ago   up 2 weeks   0.0.0.0:80->80/tcp, 443/tcp                        nginx
164e4e7561df  redis:3.2    "docker-entrypoint.s…" 2 weeks ago   up 2 weeks   0.0.0.0:6379->6379/tcp                          redis
eeabe57f1f21  mysql:5.7    "docker-entrypoint.s…" 2 weeks ago   up 2 weeks   0.0.0.0:3306->3306/tcp, 33060/tcp                       mysql

讀到這里,這篇“docker啟動elasticsearch時內(nèi)存不足怎么解決”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內(nèi)容的文章,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI