使用docker“一鍵”啓動jd(職位信息)的搜索(es)與統計(Kibana)

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章