天天看點

zk + marathon 完美結合zkServer.sh檔案

zkServer.sh檔案

zk + marathon 完美結合zkServer.sh檔案

因為在marathon裡面啟動docker鏡像的時候,一般會打出一個在前端的程序,日志直接輸出到console,為了把日志儲存在硬碟上,是以我們需要在zkServer.sh這個啟動檔案裡面,把start-foreground裡面的啟動做下修改,就是把輸出放到某個檔案.

每次啟動拉出鏡像

zk + marathon 完美結合zkServer.sh檔案

打出一個虛拟位址

zk + marathon 完美結合zkServer.sh檔案

環境變量

zk + marathon 完美結合zkServer.sh檔案

主要有兩個,一個是 ZOO_LOG_DIR用于存放日志的地方

另一個是日志輪轉的設定,我還沒搞明白,也還沒有測試看到效果

健康檢查

zk + marathon 完美結合zkServer.sh檔案

目前是關閉狀态,而且發現,如果一旦設定之後,就沒有辦法去掉了哦。

那怎麼辦呢? 直接destroy掉,然後重新生成。

存儲卷

zk + marathon 完美結合zkServer.sh檔案

根據目前的經驗,主要有兩個目錄

/appdata , /dcos/volume1/zk1/data , rw

/applog, /dcos/volume2/zk1/log, rw

最牛逼 - 手動docker名字更新

zk + marathon 完美結合zkServer.sh檔案
zk + marathon 完美結合zkServer.sh檔案

docker啟動後,會調用如下腳本:

#!/bin/bash

IP=`ifconfig eth0 | grep inet | awk '{print $2}' | head -n  | awk -F\: '{print $2}'`

ID=`cat /appdata/myid`
hostname="zk$ID"
hostip="$IP"
#sed  -i "/ zk$ID/d" /etc/hosts
#echo "$IP zk$ID" >> /etc/hosts
#curl -X POST "http://jenkins.ops.ac.cn/job/ddns/build" --data token=bb0ca9ce17905ac781d72fbe2eb6def7 --data-urlencode json=\'{"parameter": [{"name":"hostname","value":"$hostname"}, {"name":"hostip","value":"$hostip"}]}\'
curl -u ops:yourmima -FSubmit=Build "http://jenkins.ops.ac.cn/job/ddns/buildWithParameters?hostname=$hostname&hostip=$hostip"
           

jenkins job

echo "hostname: $hostname"
echo "hostip: $hostip"

targetfile="/data/dnsmasq/hosts2"
sed -i "/ $hostname/d" $targetfile
echo "$hostip $hostname" >> $targetfile

# 重新開機dnsmasq
sudo service dnsmasq reload
           

這樣,就有了一個簡單的name,value服務喽