Ansible一键部署CDH
生活随笔
收集整理的這篇文章主要介紹了
Ansible一键部署CDH
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??
Ansible基本規(guī)劃
~/ Inventory/production/hostsroles/CM/files/krb5.confntp.conf handlers/main.ymltemplates/tasks/main.ymlvars/main.ymlmeta/ site.yml #主文件CDH主機(jī)規(guī)劃
#/etc/ansible/hosts [cmserver] inv2cm01 ansible_connection=local[dataservers] inv2master[01:02] inv2data[01:03][dataservers:vars] ansible_user=root ansible_ssh_pass=password[cdswservers] inv2cdsw[01:02]#/etc/ansible/ansible.cfg [defaults] host_key_checking = False工作安排
準(zhǔn)備hosts文件,并分發(fā)。每臺(tái)服務(wù)器的hosts文件必須一致。
設(shè)置免密登陸。免密用戶為root,免密發(fā)起主機(jī)為 inv2cm01
設(shè)置yum源,并分發(fā)。確保每臺(tái)服務(wù)器,都有相同的yum源,后續(xù)安裝軟件不會(huì)有問(wèn)題。
統(tǒng)一卸載預(yù)裝的openjdk, 安裝oracle jdk 1.8
關(guān)閉防火墻
關(guān)閉虛擬網(wǎng)卡
playbook實(shí)現(xiàn)
--- - name: prepare local SSH Keyshosts: cmservervars:- new_pub_key: ~/.ssh/id_rsa.pub- new_priv_key: ~/.ssh/id_rsatasks:- name: delete ssh keys#在生成ssh key之前,先確保key文件不存在,否則生成key的動(dòng)作會(huì)失敗。file:path: "{{ item }}"state: absentwith_items:- "{{ new_pub_key }}"- "{{ new_priv_key }}"tags:# 通過(guò)設(shè)置標(biāo)簽,可以在執(zhí)行過(guò)程中,有選擇的執(zhí)行特定任務(wù)- keytask- name: Create new ssh key-pair#直接產(chǎn)生ssh key , 無(wú)需人工干預(yù)command: ssh-keygen -t rsa -N "" -q-f {{ new_priv_key }}tags:- keytask - name: prepare remote ssh login with keyhosts: dataserversvars:- new_pub_key: ~/.ssh/id_rsa.pubtasks:- name: upload public key# 上傳pub key到其他主機(jī),實(shí)現(xiàn)免密登錄authorized_key: key="{{ lookup('file', new_pub_key) }}"user=root state=present exclusive=yestags:- copykeys- name: install the libvirt-devel first#一次性安裝多個(gè)軟件包yum:name: "{{ item }}"state: presentwith_items:- libvirt-devel- python-pip- python-develtags:- virtualnet- name: install python libvirt#安裝python包,也不在話下pip:name: http://10.0.0.1/other/libvirt-python-3.10.0.tar.gztags:- virtualnetplaybook 執(zhí)行方法
1. 為了產(chǎn)生公、私鑰,可以執(zhí)行:ansible-playbook cdh.yml --tags "keytask" 或者ansible-playbook cdh.yml --skip-tags "copykeys" 或者ansible-playbook cdh.yml后者不僅產(chǎn)生公鑰、私鑰,而且還分發(fā)出去。但是這只能做一次。2. 執(zhí)行上面的命令后,免密登錄就實(shí)現(xiàn)了,接下來(lái)要修改/etc/ansible/hosts文件,將密碼登錄改為key登錄。ansible_ssh_private_key_file=/root/.ssh/id_rsa#ansible_ssh_pass=password3. 如果對(duì)目錄結(jié)構(gòu)規(guī)范化,那么還可以執(zhí)行以下命令: ansible-playbook -i inventories/production -s site.yml轉(zhuǎn)載于:https://my.oschina.net/pearma/blog/1594401
總結(jié)
以上是生活随笔為你收集整理的Ansible一键部署CDH的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mongodb的更新语句
- 下一篇: DRBD+keepalived+LAMP