需求:
建立playbook ~/westos.yml要求如下:
建立大小為1500m名為/dev/vdb1的裝置
如果/dev/vdb不存在請輸入:
/dev/vdb is not exist
如果/dev/vdb大小不足2g請輸出:
/dev/vdb is less then 2g
並建立800m大小的/dev/vdb1
此裝置掛載到/westos上
---
-name
: create /dev/vdb1
hosts
: all
tasks:-
block:-
parted
:device
: /dev/vdb
number:1
state
: present
part_end
: 2000mib
-parted
:device
: /dev/vdb
number:1
state
: absent
-parted
:device
: /dev/vdb
number:1
state
: present
part_end
: 1500mib
when
: ansible_facts[
'devices'][
'vdb'
] is defined
rescue:-
debug
:msg
: /dev/vdb is less then 2g
-parted
:device
: /dev/vdb
number:1
state
: present
part_end
: 800mib
always:-
filesystem
:fstype
: xfs
dev: /dev/vdb1
force
: yes
-mount
:path
: /westos
src: /dev/vdb1
fstype
: xfs
state
: mounted
-name
: check /dev/vdb
debug
:msg
:"vdb is not exist"
when
: ansible_facts[
'devices'][
'vdb'
] is not defined
-
name
: check sdb
hosts
: all
tasks:-
name
: check
debug
:msg:";
} is not exist with /dev/sdb";
when
: ansible_facts.devices.sdb is not defined
-name
: create sdb1
block:-
name
: create 1500m sdb1
parted
:device
: /dev/sdb
number:1
state
: present
part_end
: 1500 mib
when
: ansible_facts.devices.sdb is defined
notify
:- filesystem
- mounted
rescue:-
name
: check /dev/sdb
debug
:msg:";
}'s /dev/sdb is less than 1500m; ## 注意:不同版本的虛擬機器所列出的資訊不一致,先使用 ansible ip -m setup 列出資訊
when
: ansible_facts.devices.sdb is defined
-name
: create /dev/sdb
parted
:device
: /dev/sdb
number:1
state
: present
part_end
: 800mib
when
: ansible_facts.devices.sdb is defined
notify
:- filesystem
- mounted
handlers:-
name
: filesystem
filesystem
:dev
: /dev/sdb1
fstype
: xfs
-name
: mounted
mount
:path
: /westos
src: /dev/sdb1
fstype
: xfs
state
: mounted
Ansible執行任務的方式
一是 ad hoc 命令,一是寫 ansible playbook.前者可以解決一些簡單的任務,後者解決較複雜的任務.usr bin ansible usr bin ansible playbook例子 使用 ansible 的命令列工具來重啟 atlanta 組中所有的 web 伺服器,每次重啟1...
Ansible 處理失敗的任務
1 管理play中任務錯誤 1 ansible評估任務的返回 從而確定任務是成功還是失敗 2 通常而言,當任務失敗時,ansible將立即在該主機上中止play的其餘部分並且跳過所有後續任務,但有些時候,可能希望即使在任務失敗時也繼續執行play 2 忽略任務失敗 1 預設情況下,任務失敗時play...
Hadoop MapReduce任務的執行過程
注 本文注重原理介紹,較少涉及程式設計實現,有錯誤請指正,感謝 在進入正文之前需要了解這幾個概念 hdfs 可以先簡單理解為它是乙個大型分布式的檔案系統,裡面存放了大量檔案,也可以理解為放著俗稱的大資料。資料塊 hdfs中的資料以資料塊為單位存放,預設是64mb,hdfs中的檔案可能遠遠大於64mb...