前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >docker安装elasticsearch

docker安装elasticsearch

原创
作者头像
云售后焦俊成
发布2022-01-10 11:46:51
1.4K0
发布2022-01-10 11:46:51
举报
文章被收录于专栏:阿焦在云上的日子

1、使用docker搜索elasticsearch版本

docker search elasticsearch

或者直接在docker 文档网站上去查找最新支持的elasticsearch镜像版本

https://hub.docker.com/_/elasticsearch

官网有提供具体的安装过程

https://www.elastic.co/guide/en/elasticsearch/reference/7.5/docker.html

2、自行摸索安装过程(非官网流程)遇到的一些问题

2.1)先下载最新镜像

指定版本下载

docker pull elastcisearch:7.16.2

2.2) 通过下载的elasticsearch镜像安装elasticsearch容器

docker run -d -p 9200:9200 -p 9300:9300 --name es01 elasticsearch:7.16.2

docker ps -a 看历史容器的状态发现没有安装成功

然后去查看这个容器的日志

docker logs -f 25ea16bb2698(容器id)

发现主要有下面两个报错

2.2.1)bootstrap check failure [1] of [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

这个报错提示vm.max_map_count Linux分配的虚拟内存的数量太低,至少262144

       max_map_count文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量。虚拟内存区域是一个连续的虚拟地址空间区域。在进程的生命周期中,每当程序尝试在内存中映射文件,链接到共享内存段,或者分配堆空间的时候,这些区域将被创建。调优这个值将限制进程可拥有VMA的数量。限制一个进程拥有VMA的总数可能导致应用程序出错,因为当进程达到了VMA上限但又只能释放少量的内存给其他的内核进程使用时,操作系统会抛出内存不足的错误。如果你的操作系统在NORMAL区域仅占用少量的内存,那么调低这个值可以帮助释放内存给内核用。

解决方案:修改Linux内核参数来调高此值

sysctl -w vm.max_map_count=262144

sysctl -p

2.2.2) bootstrap check failure [2] of [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

报错是指elasticsearch集群首次启动的时候,必须给集群设置一个集群引导,可以选择如下任意一种

cluster.initial_master_nodes 集群初始化的提供的master候选地址,第一次启动时将从该列表中获取master

discovery.seed_hosts 配置该节点会与哪些候选地址进行通信,hostname,ip ,ip+port discovery.seed_providers 指定种子地址提供的方式,默认settings,也支持其他Discovery Plugins,包括EC2 Discovery,Azure Classic discovery,GCE discovery( Google Compute Engine discovery )

解决方案:由于不太熟悉集群模式,只能选择单机模式先进行测试

在安装命令中添加 -e "discovery.type=single-node"( discovery.type是指 设定集群模式/单机模式等,默认是单机模式)

ES_JAVA_OPTS="-Xms512m -Xmx512m":指定elasticsearch启动内存,-Xms:初始Heap大小,使用的最小内存,cpu性能高时此值应设的大一些,-Xmx:java heap最大值,使用的最大内存

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档