1. 在hosts文件添一个group,里面是你需要安装jdk的ip,如:

[newhosts]
192.168.2.155 ansible_ssh_user=hadoop ansible_ssh_pass=hadoop ansible_sudo_pass=hadoop
192.168.2.159 ansible_ssh_user=hadoop ansible_ssh_pass=hadoop ansible_sudo_pass=hadoop

2. 创建层级结构

├── roles
├── jdk-install
│ ├── default
│ ├── files #jdk压缩包存放目录
│ │ └── jdk-7u79-linux-x64.tar.gz 
│ ├── handler
│ ├── meta
│ ├── tasks #部署安装流程yml文件目录
│ │ └── main.yml 
│ ├── templates
│ │ └── set_jdk.sh #配置目标机器的Java环境变量脚本
│ └── vars
│    └── main.yml #记录使用到的变量
├──jdk-install.yml
├──hosts
├──jdk-install.sh

3. 编辑tasks下面的main.yml

- name: copy jdk to remote host
copy: src=jdk-7u80-linux-i586.tar.gz dest=~
- name: unzip jdk
shell: tar -zxf jdk-7u80-linux-i586.tar.gz
- name: creat soft link
shell: ln -s ~/jdk1..0_80 jdk
- name: set jdk_env copy use template
template: src=set_jdk.sh dest=~/set_jdk.sh
- name: execute script to set jdkenv
shell: sh set_jdk.sh
- name: source bash_profile
shell: source ~/.bash_profile
- name: remove files
shell: rm jdk-7u80-linux-i586.tar.gz set_jdk.sh

4. 编辑templates下面的set_jdk.sh

#!/bin/bash

echo "export JAVA_HOME=${HOME}/jdk" >> ~/.bash_profile
echo 'export CLASSPATH=.:${JAVA_HOME}/lib' >> ~/.bash_profile
echo 'export PATH=${JAVA_HOME}/bin:$PATH' >> ~/.bash_profile
source ~/.bash_profile

5. 将使用到的变量编辑在vars下的main.yml

user: hadoop
host_cluster: newhosts

6. jdk-install.yml

- hosts: "{{ host_cluster }}"
gather_facts: no
vars:
user: "{{ user }}"
roles:
- jdk

7. ansible-playbook安装

[hadoop@Ansible1 ansible]$ ansible-playbook jdk-install.yml

Ansible 安装jdk的更多相关文章

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

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

  2. ansible自动安装jdk

    脚本功能:安装jdk 测试环境:CentOS6.7 说明: 1.卸载系统自带的openjdk,重新安装Oracle jdk,支持Hotspot,性能更好,更稳定. 2.jdk软件包按文档说明进行定制( ...

  3. Centos——安装JDK

    写在前面: Just mark! 创建linux虚拟机的时候经常要安装JDK,配置环境变量,却又经常忘记,这里记录一下. 环境:Centos-6.8-x86_64-minimal JDK :jdk-7 ...

  4. linux下安装jdk

    第一步:查看Linux自带的JDK是否已安装 (卸载centOS已安装的1.4) 安装好的CentOS会自带OpenJdk,用命令 Java -version ,会有下面的信息: Javaversio ...

  5. Ubuntu下安装JDK以及相关配置

    1.查看系统位数,输入以下命令即可 getconf LONG_BIT 2.下载对应的JDK文件,我这里下载的是jdk-8u60-linux-64.tar.gz 3.创建目录作为JDK的安装目录,这里选 ...

  6. Ubuntu 安装 JDK 7

    直接下载jdk压缩包方式安装 分为下面5个步骤 1.官网下载JDK 2.解压缩,放到指定目录 3.配置环境变量 4.设置系统默认JDK 5. 测试jdk 1.官网下载JDK      地址: http ...

  7. 安装jdk

    检查已安装jdk,如果有,先删除 rpm -qa|grep java rpm -e --nodeps filename 从oracle官方网站下载jdk安装包:jdk-8u111-linux-x64. ...

  8. 从零开始学 Java - Windows 下安装 JDK

    关于未来 "我要死在火星.在我死去的时候能够想着人类能有一个美好的未来--有可持续的能源,同时能够殖民其他的星球来避免人类灭绝的最坏可能." 官网下载 直接打开官网:http:// ...

  9. Redhat Linux安装JDK 1.7

    本篇主要介绍在Redhat Linux(Red Hat Enterprise Linux Server release 5.7 (Tikanga))系统上安装JDK 1.7,其它Linux平台安装也大 ...

随机推荐

  1. hdu 2544(SPFA)

    最短路 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  2. ORA-17003. Invalid column index

    sql里面有? 希望输入有参数 java程序里面没有给入参数

  3. objective-c 强弱引用、properties的学习

    一.强弱引用 强引用:strong reference 弱引用:weak reference 引用可以理解为指针A指向的对象B.换句话说,拥有指针A的对象是对象B的所有者(ownership). 区别 ...

  4. (转)Unity3D研究院之游戏架构脚本该如何来写(三十九)

     这篇文章MOMO主要想大家说明一下我在Unity3D游戏开发中是如何写游戏脚本的,对于Unity3D这套游戏引擎来说入门极快,可是要想做好却非常的难.这篇文章的目的是让哪些已经上手Unity3D游戏 ...

  5. ocmock

  6. The newly created daemon process has a different context than expected

    Error: The newly created daemon process has a different context than expected. It won't be possible ...

  7. mipmap一

    讲一下mipmap 生成的时候 指定texture 的mipmaplevel 8 然后memory自动就会那么大的 画的时候要在lineraspace(因为我是gpucopy所以不涉及这个问题 可能) ...

  8. android Broadcast 总结

    1, 生命周期 在android官方文档中,推荐我们在onResume中进行 registerReceiver, 在onPause中进行unRegisterReceiver. 他们给出的理由是: If ...

  9. SparkSQL的3种Join实现

    引言 Join是SQL语句中的常用操作,良好的表结构能够将数据分散在不同的表中,使其符合某种范式,减少表冗余.更新容错等.而建立表和表之间关系的最佳方式就是Join操作. 对于Spark来说有3中Jo ...

  10. fabricjs line

    let line1 = new fabric.Line([lineleft, lineheight, lineleft, 0], {//终止位置,线长,起始位置,top,这里是从项目中截下来的我用了变 ...