AnsibleでApache Sparkをインストールする(Ubuntu)
まとめ
出来上がったものがこちら(投げやり
--- - hosts: localhost vars: HOME_DIR: "{{lookup('env', 'HOME')}}" SPARK_VERSION: "2.2.0" HADOOP_VERSION: "2.7" tasks: - name: Download Apache Spark get_url: url: "http://ftp.tsukuba.wide.ad.jp/software/apache/spark/spark-{{SPARK_VERSION}}/spark-{{SPARK_VERSION}}-bin-hadoop{{HADOOP_VERSION}}.tgz" dest: "/tmp/spark-{{SPARK_VERSION}}-bin-hadoop{{HADOOP_VERSION}}.tgz" - name: Unarchive unarchive: src: "/tmp/spark-{{SPARK_VERSION}}-bin-hadoop{{HADOOP_VERSION}}.tgz" dest: /usr/local/ become: yes - name: Create symbolic link file: src: "/usr/local/spark-{{SPARK_VERSION}}-bin-hadoop{{HADOOP_VERSION}}" dest: /usr/local/spark state: link become: yes - name: Set `SPARK_HOME` environment variable shell: "fish -c 'set -U SPARK_HOME /usr/local/spark $fish_user_path'" - name: Add Spark directory to `PATH` shell: "fish -c 'set -U fish_user_paths /usr/local/spark/bin $fish_user_paths'" - name: Set `WARN` to `log4j.rootCategory` property shell: "cat /usr/local/spark/conf/log4j.properties.template | sed -E 's/^(log4j\\.rootCategory=).+ (.+)/\\1WARN \\2/g\' > /usr/local/spark/conf/log4j.properties" become: yes
SPARK_HOME
と PATH
の設定はfish依存なので、適宜bash,zsh用に書き換えてください。
SPARK_VERSION
と HADOOP_VERSION
を直接指定していたり、Unarchiveしたディレクトリを直接指定していたりするのがイケてない。
最後のプロパティ設定もshellでごり押しているのでイケてない。
余談
ansible-doc
コマンドを覚えたので、いちいちググる必要がなくなった。やったね。
Ansibleはドキュメントのサンプルコードが充実しているので、変に悩む必要なくていいですね。