docker 如何安装elasticsearch

本文介绍如何使用Docker快速搭建Elasticsearch测试环境,包括拉取镜像、创建网络及启动容器等步骤,并解释了相关参数配置的意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

docker 如何安装elasticsearch

一.前言

最近项目更改接口调用日志的相关存储逻辑。

原先,项目采用的是 redis+oracle的方式存储接口调用日志。

即,系统接受到接口调用请求后,将调用日志对象存入redis的队列中。每隔一段时间,定时任务将redis队列里的一批日志消费掉,存入到oracle中。完成日志的存储。

现在打算修改为采取 kafka+es 的方式存储接口调用日志。

至于为啥做这方面的更改。

一方面,接口调用日志随着客户的接口调用激增而出现暴涨。虽然oracle日志是按月分表,但是月表的日志量也达到了10^7次方的数据量级别。后面还有进一步增大的可能性。单表过大会相当影响表的查询效率。使用es可以提高查询效率。

另一方面,我们每日需要对对日志进行复盘,生成统计级的数据。每月需要对一个月的数据进行统计,生成账单。如果用一个定时任务每天扫描全表的日志中当天的数据,进行统计,那会相当的消耗时间。但如果使用kafka则可以实时统计。

生产上有相应的资源可以申请,但是本地需要搭建可以使用的测试环境。

所以需要研究下elasticsearch的本地环境搭建,便于代码的相关测试。

二.环境搭建

1. docker拉取es镜像

docker pull elasticsearch:7.7.1

2.docker创建网络

docker network create network-nb

3. docker 启动 es

docker run -d --name es7 -e "discovery.type=single-node" --network network-nb --network-alias elasticsearch -e ES_JAVA_OPTS="-Xms256m -Xmx512m"  -p 9200:9200 -p 9300:9300  elasticsearch:7.7.1

参数参数含义具体解释
–name名称给容器起了一个名字
-p外部访问端口:容器端口9200是供htpp访问端口,9300是供tcp访问的端口,如果不做端口映射,浏览器就不能访问elasticsearch的服务
–network网络名用于多个服务通信与隔离,例如用kibana连接elasticsearch就需要他们在同一个网络下
–network-aliasip别名使得kibana可以不通过端口,而是用别名作为ip进行访问

3.致谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值