摘要:市長信箱郵件查詢服務在上安裝作為一個服務在上一章我完成了替換的工作按照之前的計劃現在是該把遷移到的時候了為什么要遷移到為后續展示的彈性做準備使用可以方便的部署多節點很火我開發機是要在上使用需要安裝的原理就是在上安裝一臺虛擬機作為容器的宿
市長信箱郵件查詢服務: 在Docker上安裝Elasticsearch作為一個服務
在上一章,我完成了Elasticsearch替換Mysql的工作. 按照之前的計劃, 現在是該把ES遷移到Docker的時候了.
為什么要遷移到Docker?
為后續展示Elasticsearch的彈性做準備, 使用docker可以方便的部署多節點.
docker很火.
我開發機是Mac Pro, 要在mac上使用docker, 需要安裝docker-machine.
docker-machine的原理就是在mac上安裝一臺Linux虛擬機(VisualBox),作為Docker容器的宿主機, 以此來在不同平臺(Mac,Windows)支持docker容器的創建.
安裝完成后, 執行以下命令, 就可以運行docker了.
docker-machine start eval "$(docker-machine env default)"
通過執行:docker-machine ip 命令可以得到docker宿主機的ip. 后續訪問ES服務將需要訪問此IP, 一般為:192.168.99.100
Docker Hub官方有elasticsearch的鏡像. 我們本地拉取運行即可
docker run -p 9200:9200 -p 9300:9300 -v "$home/.esdata/node1":/usr/share/elasticsearch/data elasticsearch:2.3.3 -Des.node.name="node1"
參數說明:
-p 宿主機端口:docker容器端口
-v "本地掛載路徑":docker容器目錄路徑
-Des.node.name es節點名稱
這里使用
-p將docker容器內部ES服務端口(開發機不能直接訪問)映射到docker宿主機端口上(開發機可以直接訪問),也就是: 192.168.99.100:9200和192.168.99.100:9300
-v本地掛載路徑映射的目的是為了持久化ES的數據, 否則一旦docker容器重啟,ES中的數據將會丟失.
然后在瀏覽器訪問: http://192.168.99.100:9200/_cluster/health?pretty=true
可以從中看到ES的狀態, 其中"number_of_nodes"的值為1,說明ES集群只有一個節點.
使用Docker可以方便的將單節點ES擴展為多節點ES集群.
這里我使用docker-compose來完成這個任務.
編寫docker-compose.yml文件:
elasticsearch_master: image: elasticsearch:2.3.3 command: "elasticsearch -Des.cluster.name=elasticsearch -Des.node.master=true" ports: - "9200:9200" - "9300:9300" volumes: - /.esdata/node1:/usr/share/elasticsearch/data elasticsearch1: image: elasticsearch:2.3.3 command: "elasticsearch -Des.cluster.name=elasticsearch -Des.discovery.zen.ping.unicast.hosts=elasticsearch_master" links: - elasticsearch_master volumes: - /.esdata/node2:/usr/share/elasticsearch/data elasticsearch2: image: elasticsearch:2.3.3 command: "elasticsearch -Des.cluster.name=elasticsearch -Des.discovery.zen.ping.unicast.hosts=elasticsearch_master" links: - elasticsearch_master volumes: - /.esdata/node3:/usr/share/elasticsearch/data
參數說明:
-Des.discovery.zen.ping.unicast.hosts=elasticsearch_master 指定ES的集群發現機制為查詢elasticsearch_master主節點.(多播發現機制不被推薦用在生產環境)
集群啟動了3個ES節點, 其中一個為主節點, 對外暴露服務端口. 啟動集群只需要在docker-compose.yml的當前目錄執行"docker-compose up"即可.
參考資料:
http://www.tuicool.com/articles/AnIVJn
http://stackoverflow.com/questions/28632977/elasticsearch-in-docker-container-cluster
https://docs.docker.com/compose/overview/
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26597.html
摘要:市長信箱郵件查詢服務使用構建工程一直想用做個微服務練練手為后續部署到打下基礎今天比較空閑就開始把部分想法落地了概覽用來練手的應用是一個市長信箱的內容抓取與檢索頁面鑒于我的八卦特質總想了解下周邊的一些投訴信息而成都的市長信箱是一個絕好的信息來 市長信箱郵件查詢服務: 使用SpringBoot構建工程 一直想用SpringBoot做個微服務,練練手, 為后續部署到docker打下基礎. 今...
摘要:市長信箱郵件查詢服務將應用部署到在上一章我完成了將部署到的工作和都具有能快速啟動的特性因此是一對用來部署微服務的黃金搭檔在計劃中基于的應用也將部署到之上那我們就開始行動吧將部署到上需要執行以下步驟保證打包后的可執行能正常啟動在應用中編寫鏡像 市長信箱郵件查詢服務: 將SpringBoot應用部署到Docker 在上一章, 我完成了將ES部署到Docker的工作. SpringBoot和...
閱讀 2772·2021-11-19 11:30
閱讀 3058·2021-11-15 11:39
閱讀 1782·2021-08-03 14:03
閱讀 1985·2019-08-30 14:18
閱讀 2043·2019-08-30 11:16
閱讀 2149·2019-08-29 17:23
閱讀 2597·2019-08-28 18:06
閱讀 2533·2019-08-26 12:22