1. 程式人生 > >Ansible入門篇(四):Scala自動化安裝

Ansible入門篇(四):Scala自動化安裝

Scala是Spark元件所依賴的環境,在自動化部署Spark前需要提前安裝好Scala。

 

Scala安裝包下載

Scala官網下載對應版本的安裝包,本文以Scala 2.11.8為例

將下載好的scala-2.11.8.tgz上傳到/opt/ansible/roles/files目錄下,本文將所有tar安裝包都進行了重新命名操作,比如將scala-2.11.8.tgz解壓後重命名為scala並打成scala.tar.gz包

 

編寫主機hosts

編輯/opt/ansible/hosts檔案新增部署SCALA機器IP

[scala]
172.18.18.120 
172.18.18.121 
172.18.18.122

 

編寫引數配置main.yml 

編輯/opt/ansible/roles/vars/main.yml檔案,新增變數

BigdataDir: /opt/hzgc

 

編寫執行檔案scala.yml

編輯新建/opt/ansible/yml/scala.yml檔案,新增內容如下:

- hosts: scala
  remote_user: root
  roles:
   - roles

 

  tasks:
   - name: mkdir scala directory  

#建立安裝目錄
     file: path={{BigdataDir}} state=directory mode=0755
   - name: copy and unzip scala   
#解壓安裝
     unarchive: src={{AnsibleDir}}/roles/files/scala.tar.gz dest={{BigdataDir}}
   - name: set env  
#設定環境變數
     lineinfile: dest=/etc/profile insertafter="{{item.position}}" line="{{item.value}}" state=present
     with_items:
     - {position: EOF, value: "export SCALA_HOME={{BigdataDir}}/scala"}
     - {position: EOF, value: "export PATH=$SCALA_HOME/bin:$PATH"}
   - name: chmod bin  
#修改執行許可權
     file: dest={{BigdataDir}}/scala/bin mode=0755 recurse=yes
   - name: enforce env  
#重新整理環境變數
     shell: source /etc/profile

     tags:

        - install scala 

 

 執行Scala安裝部署 

ansible-playbook -i hosts  yml/scala.yml  

檢查Scala是否安裝成功:scala -version