本文原文是 Deploy a Mesos Cluster with 7 Commands Using Docker
這個教程將給你展示怎樣使用 Docker 容器提供一個單節點的 Mesos 集群(未來的一篇文章將展示怎樣很容易的擴展這個到多個節點或者是見底部更新)。這意味著你可以使用 7 個命令啟動整個集群!不需要安裝任何東西除了一個正在運行的 Docker 服務器。
將啟動 4 個容器:
ZooKeeper
Meso Master
Marathon
Mesos Slave Container
正如唯一要求提到的是有一個正在運行的 Docker 服務器。這意味著你可以啟動一個本地的 已經安裝 Docker 的 Vagrant box,使用 Boot2Docker,使用 CoreOS,AWS 上的實例,或者任何你可以獲取到的 Docker 服務器。
在 Github repository 概述了這整個過程。
sekka1/mesosphere-docker
以上所有的 Docker 容器構建文件都在這里。你可以在本地構建每一個容器或者僅僅使用位于 Docker Hub 上的預構建容器。以下的腳本將為你自動下載需要的預構建容器。
ZooKeeper?—?https://registry.hub.docker.com/u/garland/zookeeper/
Meso Master?—?https://registry.hub.docker.com/u/garland/mesosphere-docker-mesos-master/
Marathon?—?https://registry.hub.docker.com/u/garland/mesosphere-docker-marathon/
讓我們開始第一步:或者 Docker 服務器的 IP 并導出到環境變量。我們將在隨后的 Docker 命令中不斷地使用這個 IP。
root@docker-server:/# HOST_IP=10.11.31.7
第二步:啟動 ZooKeeper 容器
docker run -d -p 2181:2181 -p 2888:2888 -p 3888:3888 garland/zookeeper
第三步:啟動 Mesos Master
docker run --net="host" -p 5050:5050 -e "MESOS_HOSTNAME=${HOST_IP}" -e "MESOS_IP=${HOST_IP}" -e "MESOS_ZK=zk://${HOST_IP}:2181/mesos" -e "MESOS_PORT=5050" -e "MESOS_LOG_DIR=/var/log/mesos" -e "MESOS_QUORUM=1" -e "MESOS_REGISTRY=in_memory" -e "MESOS_WORK_DIR=/var/lib/mesos" -d garland/mesosphere-docker-mesos-master
第四步:啟動 Marathon
docker run -d -p 8080:8080 garland/mesosphere-docker-marathon --master zk://${HOST_IP}:2181/mesos --zk zk://${HOST_IP}:2181/marathon
第五步:在一個容器中啟動 Mesos Slave
docker run -d --name mesos_slave_1 --entrypoint="mesos-slave" -e "MESOS_MASTER=zk://${HOST_IP}:2181/mesos" -e "MESOS_LOG_DIR=/var/log/mesos" -e "MESOS_LOGGING_LEVEL=INFO" garland/mesosphere-docker-mesos-master:latest
第六步:進入 Mesos 的 webpage
依賴于你怎樣設置的你的 Docker server 和它的 IP 地址,你或許不得不改變你輸入到瀏覽器的 IP 但是端口是一樣的。
Mesos webpage 將在這個地址:
http://${HOST_IP}:5050
這時候你將得到一個像這樣的頁面但可能在‘Tasks’ 表格沒有任何的條目。
第七步:進入 Marathon 的 webpage 啟動一個任務
Marathon 的 webpage 讓你調度在 Meso Slave 容器長時間運行的任務。這是一個非常好的查看你集群是否在正常運行的測試。你可以這樣看 Marathon 的 webpage:
http://${HOST_IP}:8080
點擊在頂部右端的 “New App” 按鈕會給你以下的菜單,你可以創建一個新的 job/task。我們簡單的輸出一個 hello 到一個文件中。我們可以進入到容器并檢查該文件是否被創建以及該 job 是否在持續運行。
第八步:檢查 job/task 是否正在運行
讓我們檢查 job/task 在 Mesos Slave 上是否正在持續運行。
在 Docker server 運行以下命令。它將讓你進入 slave 容器并從那里 tail out 這 output.txt 文件。
docker exec -it mesos_slave_1 /bin/bash root@ca83bf0ea76a:/# tail -f /tmp/output.txt
你將看到 “hello” 每秒一次的被放入該文件中。
更新:我更新了該項目文檔包含了怎樣設置一個多節點的環境:https://github.com/sekka1/mesosphere-docker#multi-node-setup
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26360.html
摘要:或許你的第一次微服務體驗,就從本文開始在本文中,和等紛紛亮相,并配有詳細的代碼說明。該角色與本地網絡及的配置設置相關。由于會在虛擬機初始化過程中自動執行配置任務,因此惟一的解決辦法就是將相關內容提取至單獨的劇本當中 這是一篇溫和有趣的技術文章,如果你初識Docker,對微服務充滿興趣,不妨一讀。或許你的第一次微服務體驗,就從本文開始…… 在本文中,Mesos、Zookeeper、Ma...
摘要:今天小數給大家帶來一篇技術正能量滿滿的分享來自社區線上群分享的實錄,分享嘉賓是數人云肖德時。第二級調度由被稱作的組件組成。它們是最小的部署單元,由統一創建調度管理。 今天小數給大家帶來一篇技術正能量滿滿的分享——來自KVM社區線上群分享的實錄,分享嘉賓是數人云CTO肖德時。 嘉賓介紹: 肖德時,數人云CTO 十五年計算機行業從業經驗,曾為紅帽 Engineering Service ...
摘要:誕生于的一個研究項目,現已成為中的項目。是指外部的計算框架,如,等,這些計算框架可通過注冊的方式接入,以便進行統一管理和資源分配。要求可接入的框架必須有一個調度器模塊,該調度器負責框架內部的任務調度。 Mesos誕生于UC Berkeley的一個研究項目,現已成為Apache Incubator中的項目。Mesos計算框架一個集群管理器,提供了有效的、跨分布式應用或框架的資源隔離和共享...
摘要:由谷歌開發,允許你在許多不同的主機上管理容器化應用程序。它已經被完全開源,谷歌在年首次宣布開發它,第一版在夏天的時候發布。除了最近幾年的收獲,本身也是基于谷歌內部十多年使用容器技術的經驗。 基于云的基礎設施,容器,微服務和新編程平臺在世界范圍占據了一大塊媒體領域,橫掃IT界。Docker、容器的使用在這幾個月內呈爆炸式增長,已經提交了20億的鏡像pulls;鏡像數在2015年11月就已...
摘要:摘要在之前的一篇博客中,我介紹了基于搭建單機版,但是僅僅使用了單個節點。具有容錯功能當容器由于節點崩潰等原因意外停止運行時,會自動將容器調度到其他節點。因此,目前僅適合運行無狀態的服務,而數據庫等有狀態服務應該單獨部署。 摘要: 在之前的一篇博客中,我介紹了基于Docker搭建單機版Mesos/Marathon,但是僅僅使用了單個節點。而在這篇博客中,我將介紹基于Docker搭建多節點...
閱讀 1655·2021-09-26 09:55
閱讀 5248·2021-09-22 15:40
閱讀 2013·2019-08-30 15:53
閱讀 1497·2019-08-30 11:15
閱讀 1714·2019-08-29 15:41
閱讀 1869·2019-08-28 18:13
閱讀 3146·2019-08-26 12:00
閱讀 1668·2019-08-26 10:30