使用docker“一键”启动jd(职位信息)的搜索(es)与统计(Kibana)

本文介绍了如何使用Docker一键启动包含MySQL、ELK(Elasticsearch、Logstash、Kibana)和JD-Search-Api的职位搜索系统。在启动过程中,遇到Docker Compose容器启动顺序问题,选择分开启动各个服务。详细步骤包括MySQL数据导入、ELK部署、应用服务启动以及如何利用Kibana进行数据统计分析。

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

jd-search-4-docker

三键启动所有服务
MySQL+ELK+JD-Search-Api

本来是想build成是三个个image,然后使用docker-compose一键启动的,但是做到后来遇到compose容器启动顺序的问题。虽说是按照顺序启动的,
但是并不会等你启动完毕后再去启动另外一个容器,官方相关链接:https://docs.docker.com/compose/startup-order/ 不想去折腾了就还是按照分块的去启动吧。

Mysql启动与数据导入

在src/docker/mysql的根目录下执行

docker build -t jd-search-app-mysql .

等待构建结束,启动该容器

docker run -d -p 3306:3306 jd-search-app-mysql 

该过程包括mysql服务的启动—>数据的导入—>创建用户访问权限
日志与数据库如下

WX20180926-220649@2x.png
WX20180926-220739@2x.png

elk部署

本来想只部署es的,后来想一想算了, 还是搞一套吧,dockerhub有现成的,直接用即可,命令如下

docker run --ulimit nofile=65536:65536 \
        -p 5601:5601 \
        -p 9200:9200 \
        -p 5044:5044 \
        -p 5045:5045 \
        -p 5046:5046 \
        -d --restart=always \
        --name jd-search-elk \
        sebp/elk

注:如果内存不是很够的话,可以加上下面参数
-e ES_JAVA_OPTS="-Xms512m -Xmx512m"
启动完毕,访问地址http://localhost:9200/就可以看到es的信息了

{
    "name": "vK92yOz",
    "cluster_name": "elasticsearch",
    "cluster_uuid": "WMVWK588TeiunfuBWxDKxg",
    "version": {
    "number": "6.4.0",
    "build_flavor": "default",
    "build_type": "tar",
    "build_hash": "595516e",
    "build_date": "2018-08-17T23:18:47.308994Z",
    "build_snapshot": false,
    "lucene_version": "7.4.0",
    "minimum_wire_compatibility_version": "5.6.0",
    "minimum_index_compatibility_version": "5.0.0"
    },
    "tagline": "You Know, for Search"
}

app

最后就是搜索服务了,直接进入代码启动该服务即可(记得要更改数据库和es的链接配置)
过程包括
自动创建索引—>创建mapping—>自动索引数据(前提是上面两个服务都ok)

玩耍

搜索服务只简单的提供了三个接口,自己可以接着开发
使用kibana可以做些统计,如图
dashboard.png

代码:github

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值