使用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 ...
随机推荐
- MongoDB Query 的几个方法
Query.All("name", "a", "b");//通过多个元素来匹配数组Query.And(Query.EQ("name ...
- centos系统字符编码问题
1.cat /etc/locale.conf LANG="en_US.UTF-8" 2./etc/profile.d/lang.sh这个文件要有且可以正常执行(检查/sbin/co ...
- 图解Sysprep封装系统
图解Sysprep封装系统 一.使用安装管理器工具创建 Sysprep.inf 应答文件 要安装“安装管理器”工具并创建应答文件,请按照下列步骤操作: 1)打开“我的电脑”,然后打开 Wind ...
- 页面跳转时候拼接在url后面的多个 参数获取
function GetRequest() { var url = location.search; var theRequest = new Object(); if (url.indexOf(&q ...
- 流式布局的使用方法--Masonry
http://www.jq22.com/demo/masonry/ 范例 css部分 body { background-color: #c7cad0; } .post_box { backgroun ...
- weblogic线程阻塞性能调优(图解)转
声明:出现这个问题有程序方面.网络方面.weblogic设置方面等等原因,此文章主要讲述由于weblogic设置而导致的解决办法. 因为: 1.程序问题,需要项目自己去解决,weblogic在做优化处 ...
- cpython和lua源码阅读
cpython代码很多,不太容易看出来. lua代码真的短小精悍,不得不佩服.
- 【基础练习】【区间DP】codevs2102 石子归并2(环形)题解
题目描写叙述 Description 在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次仅仅能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. 试设计出1个 ...
- c#开源项目[转]
一.AOP框架 Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式.这种部署方面(as ...
- C#如何调用其他.config配置文件,就是2个乃至3个以上的config文件
XmlDocument xDoc = new XmlDocument(); try { xDoc.Load(配置文件路径); XmlNode xNode; XmlElement xElem; xNod ...