Docker安装Elasticsearch
1. 下载镜像
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.6.2
2. 启动容器
2.1 创建配置文件docker-compose.yml
:
version: "3.3"
services:
elasticsearch:
container_name: elasticsearch
image: docker.elastic.co/elasticsearch/elasticsearch:8.6.2
restart: always
ports:
- 9200:9200
- 9300:9300
environment:
# 指定单节点启动
- discovery.type=single-node
- "ES_JAVA_OPTS=-Xms2g -Xmx8g"
# 开启内存锁定
- bootstrap.memory_lock=true
# 不开启权限验证
- xpack.security.enabled=false
# mem_limit: ${MEM_LIMIT}
ulimits:
# 取消内存相关限制 用于开启内存锁定
memlock:
soft: -1
hard: -1
2.2 运行容器docker-compose up
3. 复制出配置文件、插件、数据目录
# 创建一个目录, 用来存放elasticsearch配置和数据
mkdir /data/elasticsearch
cd /data/elasticsearch
# 复制配置文件目录
docker cp elasticsearch:/usr/share/elasticsearch/config /data/elasticsearch/config
# 复制插件目录
docker cp elasticsearch:/usr/share/elasticsearch/plugins /data/elasticsearch/plugins
# 复制数据目录
docker cp elasticsearch:/usr/share/elasticsearch/data /data/elasticsearch/data
# 修改文件权限, 不然Docker容器无法写数据
cd /data
chgrp -R 1000 elasticsearch
chown -R 1000 elasticsearch
4. 重启容器
# 先移除容器
docker stop elasticsearch
docker rm elasticsearch
docker-compose的安装参考 https://segmentfault.com/a/1190000043696968
修改docker-compose.yml
配置
version: "3.3"
services:
elasticsearch:
container_name: elasticsearch
image: docker.elastic.co/elasticsearch/elasticsearch:8.6.2
restart: always
# 映射目录到宿主机
volumes:
- /data/elasticsearch/config:/usr/share/elasticsearch/config
- /data/elasticsearch/data:/usr/share/elasticsearch/data
- /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins
ports:
- 9200:9200
- 9300:9300
environment:
# 指定单节点启动
- discovery.type=single-node
- "ES_JAVA_OPTS=-Xms2g -Xmx8g"
# 开启内存锁定
- bootstrap.memory_lock=true
# 不开启权限验证
- xpack.security.enabled=false
# mem_limit: ${MEM_LIMIT}
ulimits:
# 取消内存相关限制 用于开启内存锁定
memlock:
soft: -1
hard: -1
再启动一个新的容器docker-compose up
如需安装IK分词器, 下载解压到/data/elasticsearch/plugins, 重启ES即可;
附IK分词器各版本下载地址: https://github.com/medcl/elasticsearch-analysis-ik/releases。
问题记录
问题1
容器启动报错:
elasticsearch | ERROR: Elasticsearch exited unexpectedly
elasticsearch exited with code 78
解决方法:
- 修改配置
vim /etc/sysctl.conf
最后添加一行vm.max_map_count=262144
- 更新配置
sysctl -p
查看更改后的值sysctl -a | grep vm.max_map_count
lile
Java以及相关技术文章专栏
推荐阅读
Java开启JMX远程监控
参数说明:不开启SSL-Dcom.sun.management.jmxremote.ssl=false不开启密码验证-Dcom.sun.management.jmxremote.authenticate=false
YYGP阅读 129
Aliyun-使用Docker方式安装Jenkins
之前自己在阿里云ECS上面安装了Jekins(安装jenkins的文章),最近因为服务器中了挖矿木马于是准备重新安装一下,但是想到每次安装jenkins都要手动安装jdk、maven、docker、kubectl,感觉好麻烦,于是使用官方推荐...
Awbeci赞 2阅读 2.1k
Win10 安装Docker以及Jenkins(超级详细篇)
安装Docker下载地址:[链接] ,按照它的指引教程,无脑下一步即可。安装成功后电脑会重启。打开docker桌面端,会显示进入链接,下载WSL 安装包进行无脑安装即可。安装 Linux 内核更新包 (重启电脑)重启 Docker ...
九旬赞 3阅读 1k
Redis集群容器化安装
主从复制在数据库中很常见,一般用来做读写分离,Redis中也是如此。要求只有1个Master(主节点),可以有N个slaver(从节点),而且Slaver也可以有自己的Slaver,由于这种主从的关系决定他们是在配置阶段就要指定...
KerryWu赞 2阅读 2.3k
qiankun微前端从搭建到部署大型踩坑记录片(一镜到底)
前言近两年一直会有遇到需要微前端框架的需求,同时在招聘上,微前端的需求也是挺多的,最近整理了一下之前经手过的几个qiankun微前端项目,分享给大家。
蹦擦擦赞 12阅读 810评论 8
(学习到实践)七、mongodb测试,php+nginx负载均衡的部署
从测试容器中匹配搜索得到 mongod.conf.orig,设置可以启动,网上查找配置项反不能启动,原因是配置是yaml格式!好像听说过。百度查询得到:官方配置说明,网站卡得出奇。
沧浪水阅读 2.9k
前端切图仔入门Docker,三分钟上线自己的博客平台
依稀记得2022年趁某平台优惠买了台云服务器,周未准备安装MySQL数据库,两天时间卡在MySQL环境配置上,实在是折磨一气之下把服务器给退了。
凌览赞 2阅读 510
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。