使用Ansible自动配置JDK环境
1、首先安装好Ansible环境,具体步骤请见Ansible安装
2、先创建hosts文件(为后面编写脚本安装JDK做铺垫)
[root@localhost /]# vi hosts
[jdktest]
192.168.186.134 ansible_ssh_user=guxiong ansible_ssh_pass=private
注:记得/etc/ansible/hosts也要加入
3、创建该层级的文件目录
├── 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
4、编辑tasks下面的main.yml
- name: copy jdk to remote host
copy: src=jdk-7u79-linux-x64.tar.gz dest=~
- name: unzip jdk
shell: tar -zxf jdk-7u79-linux-x64.tar.gz
- name: creat soft link
shell: ln -s ~/jdk1.7.0_79 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-7u79-linux-x64.tar.gz set_jdk.sh
5、编辑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
6、将使用到的变量编辑在vars下的main.yml
user: guxiong
host_cluster: jdktest
7、jdk-install.yml
- hosts: "{{ host_cluster }}"
gather_facts: no
vars:
user: "{{ user }}"
roles:
- jdk-install
8、ansible-playbook安装
[root@localhost /]# ansible-playbook jdk-install.yml --extra-var "host_cluster=jdktest user=guxiong"
PLAY [jdktest] **************************************************************** TASK: [jdk-install | copy jdk to remote host] *********************************
changed: [192.168.186.134] TASK: [jdk-install | unzip jdk] ***********************************************
changed: [192.168.186.134] TASK: [jdk-install | creat soft link] *****************************************
changed: [192.168.186.134] TASK: [jdk-install | set jdk_env copy use template] ***************************
changed: [192.168.186.134] TASK: [jdk-install | execute script to set jdkenv] ****************************
changed: [192.168.186.134] TASK: [jdk-install | source bash_profile] *************************************
changed: [192.168.186.134] TASK: [jdk-install | remove files] ********************************************
changed: [192.168.186.134] PLAY RECAP ********************************************************************
192.168.186.134 : ok=7 changed=7 unreachable=0 failed=0
8、为了方便编写安装脚本
[root@localhost /]# vi jdk-install.sh
#!/bin/bash
set -e
source ~/.bash_profile
ansible-playbook jdk-install.yml -i ./hosts -e "host_cluster=${host_cluster} user=${user}" 注:${host_cluster} 为执行脚本时需要传入的服务组名,${user}为用户名
[root@localhost /]# ./jdk-install.sh jdktest guxiong
结果一样能安装成功
PLAY [] *********************************************************************** TASK: [jdk-install | copy jdk to remote host] *********************************
changed: [192.168.186.134] TASK: [jdk-install | unzip jdk] ***********************************************
changed: [192.168.186.134] TASK: [jdk-install | creat soft link] *****************************************
changed: [192.168.186.134] TASK: [jdk-install | set jdk_env copy use template] ***************************
changed: [192.168.186.134] TASK: [jdk-install | execute script to set jdkenv] ****************************
changed: [192.168.186.134] TASK: [jdk-install | source bash_profile] *************************************
changed: [192.168.186.134] TASK: [jdk-install | remove files] ********************************************
changed: [192.168.186.134] PLAY RECAP ********************************************************************
192.168.186.134 : ok=7 changed=7 unreachable=0 failed=0
使用Ansible自动配置JDK环境的更多相关文章
- RocketMQ的安装配置:配置jdk环境,配置RocketMQ环境,配置集群环境,配置rocketmq-console
RocketMQ的安装配置 演示虚拟机环境:Centos64-1 (D:\linuxMore\centos6_64) root / itcast : 固定IP 192.168.52.128 一,配置J ...
- Linux CentOS 配置JDK环境
一.下载JDK 下载JDK的方式有两种: 1.Linux中使用wget下载 1.使用命令安装wget yum install wget 2.下载 wget 'http://download.oracl ...
- 配置JDK环境变量,与各步骤的意义
配置JDK环境变量 1,新建变量名:JAVA_HOME,变量值:C:\Program Files\Java\jdk1.7.0 (变量值为jdk安装路径) 2,打开P ...
- 配置JDK环境变量
•配置JDK环境变量<Windows系统下> 点击我的电脑右键----->属性------>高级------>环境变量-------> 新建(建议在系统变量中新建 ...
- Windows 7下配置JDK环境变量和Java环境变量配置
下面来介绍一下Java环境变量配置,是在Windows 7下配置JDK环境变量. 方法/步骤 1 安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为:C:\Program Fil ...
- MAC OX 配置JDK环境变量
大家在windows里面配置JDK环境变量很容易,但是如果要在mac里面配置JDK环境变量和windows里面有所不同,具体如下: 第一: mac OS里面自带jdk,不过是1.6的版本,现在很多人使 ...
- ubuntu 配置JDK环境变量
ubuntu 配置JDK环境变量 (2011-11-25 16:45:59) 转载▼ 标签: ubuntu jdk 环境变量 杂谈 分类: Linux_Ubuntu_CentOs 过程如下: 1. 先 ...
- linux 下安装jdk及配置jdk环境图解
linux 下安装jdk及配置jdk环境图解 一:先检測是否已安装了JDK 运行命令: # rpm -qa|grep jdk 或 # rpm -q jdk 或 #find / -name j ...
- 第一节:学会Java前提-手把手教你配置JDK环境变量
前言 大家好,今天写一遍学会Java前提-手把手教你配置JDK环境变量的概述,希望你们喜欢 下载地址 下载jdk,和eclipse就比较简单了,提供JDK 9 地址: http://www.oracl ...
随机推荐
- Unity3D 应用程序退出调用OnDestroy测试
测试结果为关闭游戏,会调用OnDestroy().但OnApplicationQuit()比它提前调. using UnityEngine; using System.Collections; pub ...
- Nokia Imaging SDK
Nokia Imaging SDK 目前为 beta 版本,是诺基亚在自己的图像应用中使用的技术同时提供给开发者 使用.这是一个运行在手机设备上处理图片数据的高效的类库.功能包括 JEPG 图片的编码 ...
- apache官方中文hadoop说明文档地址
http://hadoop.apache.org/docs/r1.0.4/cn/quickstart.html
- LinkQ 组合查询与分页
1.以开头查 public List<Car> Select1(string a){ return con.Car.Where(r => r.Name.StartsWith(a)). ...
- 浏览器中F5和CTRL F5的行为区别
前言 在印象中,浏览器中的F5和刷新按钮是一样的效果,都是对当前页面进行刷新:Ctrl-F5的行为也是刷新页面,但是会清除浏览器缓存,这在前端调试时候会常用.二者真正的区别是什么呢?在stackove ...
- [ucos]了解ucos
1. uCosIII移植到STM32F10x http://www.cnblogs.com/hiker-blogs/archive/2012/06/13/2547176.html 2. uCosIII ...
- PHP——简单的表单提交
<body> <form name="" method="post" action="CHULI.php"> < ...
- ajax——实现三级联动下拉列表
数据库: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...
- 框架Iframe的退出,IE 火狐都没问题 到360就不跳转页面 刷新一遍才跳转到登录页
遇到这种情况 ,郁闷死了,来回折腾好几种跳转方法,最后有一个灵感,当我点击退出按钮的时候,我是用jquery $("#ID").click(function(){}) 这种方法异步 ...
- Ubuntu之No module named cv2
最简单的方法是:pip install opencv-python 另外,从源码安装的方法: 1下载opencv源码:http://opencv.org/releases.html 推荐2.4.13 ...