playbook 剧本如下

[root@sz_fy_virt_encrypt_33_239 x]# cat jdk.yml
- hosts: web
remote_user: opsadmin
become: yes
become_method: sudo
become_user: root
tasks:
- name: copy jdk to remote hosts
copy: src=jdk-8u45-linux-x64.tar.gz dest=/tmp/ - name: tar jdk
shell: tar xf /tmp/jdk-8u45-linux-x64.tar.gz -C /usr/local/ - name: link
file: src=/usr/local/jdk1..0_45 dest=/usr/local/jdk state=link - name: java_env
shell: /bin/echo {{ item }} >> /etc/profile && source /etc/profile
with_items:
- export JAVA_HOME=/usr/local/jdk
- export JRE_HOME=/usr/local/jdk/jre
- export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:\$JRE_HOME/lib:\$CLASSPATH
- export PATH=\$JAVA_HOME/bin:\$PATH /etc/ansible/hosts

192.168.11.172 ansible_user=opsadmin ansible_sudo_pass="x" ansible_ssh_port=12600
192.168.11.173 ansible_user=opsadmin ansible_sudo_pass="x" ansible_ssh_port=12600
192.168.11.174 ansible_user=opsadmin ansible_sudo_pass="x" ansible_ssh_port=12600

ansible-playbook --syntax-check jdk.yml

ansible-playbook -C jdk.yml  #tar 命令  用-C 检测参数 看来是模拟不了

正式执行结果如下

[opsadmin@sz x]$ ansible-playbook  jdk.yml 

PLAY [web] *******************************************************************************************************************************************************************************************************************************************************************

TASK [Gathering Facts] *******************************************************************************************************************************************************************************************************************************************************
ok: [192.168.11.173]
ok: [192.168.11.174]
ok: [192.168.11.172] TASK [copy jdk to remote hosts] **********************************************************************************************************************************************************************************************************************************************
changed: [192.168.11.174]
changed: [192.168.11.172]
changed: [192.168.11.173] TASK [tar jdk] ***************************************************************************************************************************************************************************************************************************************************************
[WARNING]: Consider using the unarchive module rather than running tar. If you need to use command because unarchive is insufficient you can add warn=False to this command task or set command_warnings=False in ansible.cfg to get rid of this message. changed: [192.168.11.174]
changed: [192.168.11.173]
changed: [192.168.11.172] TASK [link] ******************************************************************************************************************************************************************************************************************************************************************
changed: [192.168.11.172]
changed: [192.168.11.174]
changed: [192.168.11.173] TASK [java_env] **************************************************************************************************************************************************************************************************************************************************************
changed: [192.168.11.172] => (item=export JAVA_HOME=/usr/local/jdk)
changed: [192.168.11.173] => (item=export JAVA_HOME=/usr/local/jdk)
changed: [192.168.11.174] => (item=export JAVA_HOME=/usr/local/jdk)
changed: [192.168.11.172] => (item=export JRE_HOME=/usr/local/jdk/jre)
changed: [192.168.11.173] => (item=export JRE_HOME=/usr/local/jdk/jre)
changed: [192.168.11.174] => (item=export JRE_HOME=/usr/local/jdk/jre)
changed: [192.168.11.172] => (item=export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:\$JRE_HOME/lib:\$CLASSPATH)
changed: [192.168.11.174] => (item=export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:\$JRE_HOME/lib:\$CLASSPATH)
changed: [192.168.11.173] => (item=export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:\$JRE_HOME/lib:\$CLASSPATH)
changed: [192.168.11.172] => (item=export PATH=\$JAVA_HOME/bin:\$PATH)
changed: [192.168.11.174] => (item=export PATH=\$JAVA_HOME/bin:\$PATH)
changed: [192.168.11.173] => (item=export PATH=\$JAVA_HOME/bin:\$PATH) PLAY RECAP *******************************************************************************************************************************************************************************************************************************************************************
192.168.11.172 : ok= changed= unreachable= failed=
192.168.11.173 : ok= changed= unreachable= failed=
192.168.11.174 : ok= changed= unreachable= failed=

检查结果

ansible 部署jdk的更多相关文章

  1. CentOSLinux系统中Ansible自动化运维的安装以及利用Ansible部署JDK和Hadoop

    Ansible 安装和配置 Ansible 说明 Ansible 官网:https://www.ansible.com/ Ansible 官网 Github:https://github.com/an ...

  2. 使用ansible部署CDH 5.15.1大数据集群

    使用ansible离线部署CDH 5.15.1大数据集群 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在此之前,我之前分享过使用shell自定义脚本部署大数据集群,不管是部署CD ...

  3. 001.Ansible部署RHCS存储集群

    一 前期准备 1.1 前置条件 至少有三个不同的主机运行monitor (MON)节点: 至少三个直接存储(非外部SAN硬件)的OSD节点主: 至少两个不同的manager (MGR)节点: 如果使用 ...

  4. linux下部署jdk+Tomcat

    部署jdk (如果是普通用户,先切换到管理员 su root) 1.下载jdk压缩包 2.用xftp将jdk压缩包传输 /opt 目录下 3.解压(在/opt 目录下对压缩包解压) tar -xzvf ...

  5. 使用Ansible部署etcd 3.2高可用集群

    之前写过一篇手动搭建etcd 3.1集群的文章<etcd 3.1 高可用集群搭建>,最近要初始化一套新的环境,考虑用ansible自动化部署整套环境, 先从部署etcd 3.2集群开始. ...

  6. linux服务器上部署jdk+tomcat+rocketmq+redis-cluster

    通常我们拿到一组干净的linux服务器,需要初始化安装一些基础软件,这里一站式介绍部署jdk+tomcat+rocketmq+redis-cluster 前言:如果要在多台服务器上安装,在一台服务器上 ...

  7. 如何在Cent OS上安装和部署jdk与tomcat?

    Cent OS是一款Linux系统.在商业应用中,Linux操作系统在服务器市场有着广泛的运用,这源于Linux系统的几大优点: 1.跨平台的硬件支持 由于Linux 的内核大部分是用C 语言编写的, ...

  8. ansible部署,规划

    部署管理服务器 第一步:先检查有没有ssh服务 [root@iZm5eeyc1al5vzh8bo57zyZ ~]# rpm -qf /etc/init.d/sshd openssh-server-5. ...

  9. CentOS7.5 -- Ansible部署与应用

    第1章 Ansible概述 Ansible是一个配置管理系统configuration management system python 语言是运维人员必须会的语言 ansible 是一个基于pyth ...

随机推荐

  1. ABAP CDS - Syntax

    The syntax of the DDL and of the DCL of the ABAP CDS comprises elements of the general DDL and DCL o ...

  2. 什么是 Cookie

    什么是 Cookie? Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递.Cookie 包含每次用户访问站点时 Web 应用程序都可以读取的信息. 例如,如果在用 ...

  3. Putty的设置保存

    用了好几年都不知道这功能, 以前每次在连接时只能手工更改字符为utf-8,当时在想怎么这么弱呢 后来才知道... 1 字符 Translation下  字体Appearance下 颜色Colours下 ...

  4. DDoS 攻击与防御:从原理到实践(下)

    欢迎访问网易云社区,了解更多网易技术产品运营经验. DDoS 攻击与防护实践 DDoS 攻击的实现方式主要有如下两种: 自建 DDoS 平台 现在有开源的 DDoS 平台源代码,只要有足够机器和带宽资 ...

  5. 如何从海量IP中提取访问最多的10个IP

    算法思想:分而治之+Hash 1.IP地址最多有2^32=4G种取值情况,所以不能完全加载到内存中处理: 2.可以考虑采用分而治之的思想,按照IP地址的Hash(IP) % 1024的值,把海量IP日 ...

  6. Spring框架中ModelAndView、Model、ModelMap的区别

    转自:http://blog.csdn.net/liujiakunit/article/details/51733211 1. Model Model 是一个接口, 其实现类为ExtendedMode ...

  7. Linux-Shell脚本编程-学习-8-函数

    在这章往后的学习中,我讲尽可能详细的讲书中讲到的都记录到这里,以便以后方便查看. 什么是函数,函数就是一段代码,这段代码可以在我们需要的位置调用,那么这段代码就叫做函数. 在Shell中,定义一个函数 ...

  8. Mysql性能优化三:主从配置,读写分离

    大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...

  9. day-12 python实现简单线性回归和多元线性回归算法

    1.问题引入  在统计学中,线性回归是利用称为线性回归方程的最小二乘函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析.这种函数是一个或多个称为回归系数的模型参数的线性组合.一个带有一个自变 ...

  10. Spark实战练习03--Pair RDD

    一.场景 现有某网站的网站日志,内容为用户对网站的请求,包含user ID.IP address.datetime……等等 另有一份文件中包含用户的账户详细信息数据,包含User ID.creatio ...