zkServer.sh檔案
因為在marathon裡面啟動docker鏡像的時候,一般會打出一個在前端的程序,日志直接輸出到console,為了把日志儲存在硬碟上,是以我們需要在zkServer.sh這個啟動檔案裡面,把start-foreground裡面的啟動做下修改,就是把輸出放到某個檔案.
每次啟動拉出鏡像
打出一個虛拟位址
環境變量
主要有兩個,一個是 ZOO_LOG_DIR用于存放日志的地方
另一個是日志輪轉的設定,我還沒搞明白,也還沒有測試看到效果
健康檢查
目前是關閉狀态,而且發現,如果一旦設定之後,就沒有辦法去掉了哦。
那怎麼辦呢? 直接destroy掉,然後重新生成。
存儲卷
根據目前的經驗,主要有兩個目錄
/appdata , /dcos/volume1/zk1/data , rw
/applog, /dcos/volume2/zk1/log, rw
最牛逼 - 手動docker名字更新
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服務喽