環境:centos7
安裝包:
cronsun
wget (unzip解壓)
mongodb
wget (tar -xzvf 解壓)
etcd
wget (tar -xzvf 解壓)
一, mongodb 啟動
$ cd /opt/mongodb-v4.0.2
$ mkdir -p data/db
$mkdir logs
$touch mongodb.conf
$vim mongodb.com
dbpath=/opt/mongodb-v4.0.2/data/db
logpath=/opt/mongodb-v4.0.2/logs/mongo.log
bind_ip=0.0.0.0 #預設是127.0.0.1, 多節點需要允許其他的ip連線, 所有配置為0.0.0.0,允許其他ip連線
fork=true
port=27017
$nohup bin/mongod -f mongodb.conf > /dev/null 2>&1 &
二,etcd
$nohup ./etcd --advertise-client-urls= --listen-client-urls= --data-dir=/opt/etcd-v3.3.13/data >/dev/null 2>&1 &
三:cronsun
$cd /opt/ cronsun-v0.3.5
$nohup ./cronweb -conf conf/base.json > /dev/null 2>&1 &
$nohup ./cronnode -conf conf/base.json > /dev/null 2>&1 &
到此單節點任務系統就可以了 訪問 http://ip:7079
四, 新增節點,
在需新增的節點執行scp命令, 把cronsun包拷貝過去
$scp -r [email protected]:/opt/cronsun-v0.3.5 /opt
$vim /opt/cronsun-v0.3.5/conf/db.json
"hosts": [
"192.168.0.119:27017" # 這裡改為mongodb監聽的ip和埠
],$vim /opt
"endpoints":[
"" # 這裡改為etcd監聽的ip和埠
],$nohup ./cronnode -conf conf/base.json > /dev/null 2>&1 &
再開啟 http://ip:7079 重新整理頁面 , 會發現增加節點了。。
五,測試
在兩個節點寫個測試shell
測試兩台機子都會執行任務。。
六:開啟任務監控
發現配置好mail.json後啟動 cronweb 報錯:
找了很多原因,換了好幾個郵箱,作者說換成163的郵箱也是報錯, 然後看原始碼:
67行:有錯誤輸出, 是因為呼叫cronsun.newmail()報錯。找了找原因沒有找到, 就麼有深入找了
然後看到可以httpapi方法可以跳過錯誤, 如是使用httpapi方法。
在自己專案裡面寫了個介面,接收cronsun 請求過來的資料,請求方法為post
傳送的資料格式
[
'subject' => '', # 郵件titile
'to' => , # 接受者
'body' => '', # 內容
]
在介面寫個郵件傳送就ok 了。 分布式任務排程
定時job,在什麼時間進行執行 任務。public static void main string args catch exception e thread thread new thread runnable thread.start public static void main string...
Celery分布式任務
celery分布式任務 celery call把任務給乙個元件,元件交給rabiitmq放到佇列broker,佇列返回任務id給celery元件再給call,任務完成時call拿著id通過celery去rabbitmq取。broker發任務給worker 1.celery有以下優點 簡單 一單熟悉了...
mysql分布式搭建 MySQL分布式集群搭建
1 準備集群搭建環境 使用6臺虛擬機器來搭建mysql分布式集群,相應的實驗環境與對應的mysql節點之間的對應關係如下圖所示 管理節點 mgm 這類節點的作用是管理mysqlcluster內的其他節點,如提供配置資料,並停止節點,執行備份等。由於這類節點負責管理其他節點的配置,應該在啟動其他節點之...