本文共 2723 字,大约阅读时间需要 9 分钟。
ansible-playbook jdk安装
jdk role的目录结构如下:
1 2 3 4 5 6 7 8 9 10 11 12 | [root@192 roles] # tree jdk jdk ├── defaults ├── files │ └── jdk-8u101-linux-x64. tar .gz ├── handlers ├── meta ├── tasks │ └── main.yml ├── templates └── vars └── main.yml |
#vars下面的忽略,那是之前写的一个。
task文件内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [root@192 tasks] # cat main.yml - name: copy jdk-8u101-linux-x64. tar .gz remote hosts copy: src=jdk-8u101-linux-x64. tar .gz dest= /usr/local/ - name: tar jdk-8u101-linux-x64. tar .gz shell: chdir= /usr/local tar zxf jdk-8u101-linux-x64. tar .gz - name: soft link file : src= /usr/local/jdk1 .8.0_101 dest= /usr/local/java state=link - name: java_profile config shell: /bin/echo { { item }} >> /etc/profile && source /etc/profile with_items: - export JAVA_HOME= /usr/local/java - export JRE_HOME= /usr/local/java/jre - export CLASSPATH=.:\$JAVA_HOME /lib/dt .jar:$JAVA_HOME /lib/tools .jar:\$JRE_HOME /lib :\$CLASSPATH - export PATH=\$JAVA_HOME /bin :\$PATH |
#注意这块有个坑啊,特殊字符一定要反斜杠\ 屏蔽字符的特殊意义,试了好几次才发现这个问题,包括gather_facts 关了也没用,到目标主机就变了,最后发现要\.
#2台机器只跑一台:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [root@192 ansible] # ansible-playbook jdk.yml -l 192.168.121.129 PLAY [ test ] ******************************************************************** TASK [jdk : copy jdk-8u101-linux-x64. tar .gz remote hosts] ********************** changed: [192.168.121.129] TASK [jdk : tar jdk-8u101-linux-x64. tar .gz] ************************************ changed: [192.168.121.129] [WARNING]: Consider using unarchive module rather than running tar TASK [jdk : soft link] ********************************************************* changed: [192.168.121.129] TASK [jdk : java_profile config] *********************************************** changed: [192.168.121.129] => (item= export JAVA_HOME= /usr/local/java ) changed: [192.168.121.129] => (item= export JRE_HOME= /usr/local/java/jre ) changed: [192.168.121.129] => (item= export CLASSPATH=.:\$JAVA_HOME /lib/dt .jar:$JAVA_HOME /lib/tools .jar:\$JRE_HOME /lib :\$CLASSPATH) changed: [192.168.121.129] => (item= export PATH=\$JAVA_HOME /bin :\$PATH) PLAY RECAP ********************************************************************* 192.168.121.129 : ok=4 changed=4 unreachable=0 failed=0 |
#环境变量文件:
1 2 3 4 5 6 | cat /etc/profile ----- export JAVA_HOME= /usr/local/java export JRE_HOME= /usr/local/java/jre export CLASSPATH=.:$JAVA_HOME /lib/dt .jar: /lib/tools .jar:$JRE_HOME /lib :$CLASSPATH export PATH=$JAVA_HOME /bin :$PATH |
#测试java的版本:
1 2 3 4 | [root@ansible_clent ~] # java -version java version "1.8.0_101" Java(TM) SE Runtime Environment (build 1.8.0_101-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode) |
转载地址:http://kdbcl.baihongyu.com/