每一个软件或集群都创建一个单独的角色。

mkdir -pv ansible/roles/{jdk,hadoop,spark}/{tasks,files,templates,meta,handlers,vars}

创建JDK role

pwd
/root/ansible_playbooks/roles/jdk7
ls
files handlers meta tasks templates vars

1、上传软件包

将jdk-8u80-linux-x64.gz上传到files目录下

2、编写tasks

vi tasks/main.yml 

- name: mkdir
file: path=/usr/java state=directory mode=
- name: unzip
unarchive: src={{jdk_package_name}} dest=/usr/local/java/
- name: set env
lineinfile: dest={{env_file}} insertafter="{{item.position}}" line="{{item.value}}" state=present
with_items:
- {position: EOF, value: "\n"}
- {position: EOF, value: "export JAVA_HOME=/usr/local/java/{{jdk_version}}"}
- {position: EOF, value: "export PATH=$JAVA_HOME/bin:$PATH"}
- name: enforce env
shell: source {{env_file}}

3. 编写vars

vi vars/main.yml

jdk_package_name: jdk-8u80-linux-x64.gz
env_file: /etc/profile
jdk_version: jdk1..0_80

4. playbook角色

 vi jdk.yml
- hosts: jdk
remote_user: root
roles:
- jdk
ansible-playbook jdk.yml

ansible软件部署的更多相关文章

  1. ansible批量管理软件部署及剧本

    服务器版本信息: Centos6.9 [root@db02 ~]# uname -a Linux db02 -.el6.x86_64 # SMP Tue Mar :: UTC x86_64 x86_6 ...

  2. Linux中ansible批量管理软件部署及剧本编写

    服务器版本信息: Centos6.9 [root@db02 ~]# uname -a Linux db02 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29: ...

  3. ansible服务部署与使用

    第1章 ssh+key实现基于密钥连接(ansible使用前提) 说明:    ansible其功能实现基于SSH远程连接服务    使用ansible需要首先实现ssh密钥连接 1.1 部署ssh ...

  4. Ansible安装部署以及常用模块详解

    一.  Ansible 介绍Ansible是一个配置管理系统configuration management system, python 语言是运维人员必须会的语言, ansible 是一个基于py ...

  5. 自动化工具-ansible服务部署与使用

    1.前言 1.1ansible软件介绍 python 语言是运维人员必须会的语言 ansible 是一个基于python 开发的自动化运维工具 其功能实现基于ssh远程连接服务 ansible 可以实 ...

  6. ansible环境部署及常用模块总结 - 运维笔记

    一.  Ansible 介绍Ansible是一个配置管理系统configuration management system, python 语言是运维人员必须会的语言, ansible 是一个基于py ...

  7. 第1天:Ansible安装部署

    Ansible介绍 Ansible是一个简单的自动化引擎,可完成配置管理.应用部署.服务编排以及各种IT需求.它是一款使用Python语言开发实现的开源软件,其依赖Jinjia2.paramiko和P ...

  8. Jenkins+Gitlab+Ansible自动化部署(三)

    接Jenkins+Gitlab+Ansible自动化部署(一)https://www.cnblogs.com/zd520pyx1314/p/10210727.html 和(二)https://www. ...

  9. ansible自动化部署之场景应用

    ansible自动化配置管理 官方网站: https://docs.ansible.com 一.安装 配置 启动 (ansible由红帽收购) (1)什么是ansible ansible是IT自动化配 ...

随机推荐

  1. 19 使用Vue实例的render方法渲染组件

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 【Java】聚合和组合的区别

    组合:部分与整体是与生俱来的,部分的存在依赖于整体.比如人与人的某个器官,人一出生,器官就在,人死亡,器官也就没了意义. 聚合:你与你的电脑(或者其它物品),电脑是属于你的吧,但是你是一出生就拥有了电 ...

  3. Git----拉取远程分支,git pull,git rebase,git pull --rebase的区别

    git pull 相当于自动的 fetch 和 merge 操作,会试图自动将远程库合并入本地库,在有冲突时再要求手动合并. git rebase 可以确保生产分支commit是一个线性结构,方便ro ...

  4. docker常用命令以及搭建

    1. 进入容器中 docker exec -it <容器的名字> /bin/bash 2. 查看镜像 docker images 3. 查看所有容器 docker ps -a 4. 运行容 ...

  5. nginx location中root指令和alias指令的区别

    nginx location中root指令和alias指令 功能:将url映射为文件路径,以返回静态文件内容 差别:root会将完整的url映射进文件路径中 alias只会将location后的url ...

  6. 在jQuery中使用自定义属性

    在jquery中 自定义属性及值默认以下都是在class='acitve'对象中 进行自定义属性操作:1,自定义属性格式:data-xxxx2,获取该属性值: $('.active').data('x ...

  7. 黑魔法师之门 (magician)-并查集

    题目 经过了 16 个工作日的紧张忙碌,未来的人类终于收集到了足够的能源.然而在与 Violet 星球的战争中,由于 Z 副官的愚蠢,地球的领袖 applepi 被邪恶的黑魔法师 Vani 囚禁在了 ...

  8. 学到了林海峰,武沛齐讲的Day17-5 内置函数

    zip print(list(zip(('a','n','c','d'),(1,2,3))))  =====[('a', 1), ('n', 2), ('c', 3)]   一一对应====元组变列表 ...

  9. [Luogu] 运输计划

    https://www.luogu.org/problemnew/show/2680 inline 神奇的东西 最好戒掉吧(read()除外) 这道题将求解性问题转化为判定性问题,当然就是二分答案了 ...

  10. 使用Ajax和一般处理程序实现文件上传与下载

    1.使用HTML的input标签 <input type="file" multiple="multiple" id="file_load&qu ...