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

Ansible入門篇(八):Spark自動化安裝

Spark是專為大規模資料處理而設計的快速通用的計算引擎,底層是基於Scala開發。

注:以下是基於Spark的Standalone模式自動化安裝

Spark安裝包下載

到 Spark官網下載對應安裝包,本文以Spark 2.2.0版本為例。

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

 

編寫主機hosts  

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

[spark_servers]
172.18.18.120   
172.18.18.121   
172.18.18.122   

 

編寫Spark配置檔案 

將spark-2.2.0-bin-hadoop2.7.tgz解壓後的配置檔案spark-env.sh和slaves修改成自己的配置並重命名為spark-env.sh.j2和slaves.spark.j2,然後上傳到/opt/ansible/roles/templates/ 目錄下。由於配置檔案較多,本文不進行展示。

 

編寫引數配置main.yml

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

BigdataDir: /opt/hzgc  

AnsibleDir: /opt/ansible

 

 編寫執行檔案spark.yml 

- hosts: spark_servers
  remote_user: root
  roles:
  - roles

 

  tasks:
   - name: copy and unzip spark
     unarchive: src={{AnsibleDir}}/roles/files/spark.tar.gz dest={{BigdataDir}}
   - name: install configuration file slaves for spark
     template: src={{AnsibleDir}}/roles/templates/slaves.spark.j2 dest={{BigdataDir}}/spark/conf/slaves
   - name: install configuration file spark-env for spark
     template: src={{AnsibleDir}}/roles/templates/spark-env.sh.j2 dest={{BigdataDir}}/spark/conf/spark-env.sh
   - name: change sbin file
     file: dest={{BigdataDir}}/spark/sbin mode=0755 recurse=yes
   - name: change bin file
     file: dest={{BigdataDir}}/spark/bin mode=0755 recurse=yes
   - name: start spark cluster
     shell: sh {{BigdataDir}}/spark/sbin/start-all.sh
     tags:
      - start spark

 

執行Zookeeper安裝部署 及啟動 

ansible-playbook -i hosts  yml/spark.yml 

檢視是否安裝成功:jps