首页 > 其他分享 >playbook+roles安装jdk实战

playbook+roles安装jdk实战

时间:2024-07-29 19:52:52浏览次数:9  
标签:java jdk roles 文件夹 role playbook yml

目录结构

image

host文件夹

用于存放主机清单文件

hosts文件

hosts文件内容如下:(仅供参考)

[proxy]
node2
[web]
node3
node4

playbook-all-roles.yml文件

用于指定执行哪个role的文件(命名可以自定义)

文件内容如下:(仅供参考)

因为roles文件夹下只有nginx一个文件夹,所以- role: java就指定的是java这个role

- hosts: web
  remote_user: root
  gather_facts: no
  roles:
    #- role: nginx
    - role: java

roles文件夹

用于存放各种类型的role

java文件夹

代表着nginx这个role,里面存放着各种配置文件

主要框架如下:

  • default:在每个角色文件夹内,‌default文件夹用于存放该角色的默认变量。‌这些变量可以在其他地方被引用,‌用于配置角色的行为。‌
  • files:用于存放角色部署时可能需要用到的一些文件。‌这些文件可以通过Ansible的copy模块传输到远程主机上。‌
  • handlers:包含处理任务的配置文件,‌当某些条件满足时,‌会触发这些处理器执行相应的操作,‌如重启服务或应用配置更改等。‌
  • meta:主要编写依赖关系,即一个独立模块引用另一个role
  • tasks:包含角色的具体任务定义,‌这些任务描述了如何在远程主机上执行操作,‌如安装软件、‌配置服务等。‌
  • templates:模板文件
  • vars:虽然roles目录结构中没有明确提到vars文件夹,‌但在实际使用中,‌有时会在角色内部定义一些变量,‌这些变量可以存放在vars文件夹中,‌以便在任务中使用。‌

本次只讲解使用到的文件夹

files文件夹

目录结构

[root@master files]# tree
.
└── jdk-8u191-linux-x64.tar.gz

jdk-8u191-linux-x64.tar.gz

jdk安装包

vars文件夹

目录结构

[root@master vars]# tree
.
└── main.yml

注意:只能定义成main.yml文件名

文件内容如下:(仅供参考)

功能:定义一些参数

src_java: "jdk-8u191-linux-x64.tar.gz"
java_decompress_dir: "/usr/local/java"
java_after_decompress_name: "jdk1.8.0_191"
tasks文件夹

目录结构

[root@master tasks]# tree
.
├── config_java_env.yml
├── java_pkg_transfer_and_jieya.yml
└── main.yml

注意:除了main.yml文件必须要有,其他yml文件按需自定义名

main.yml

控制执行顺序

文件内容如下:

- include: java_pkg_transfer_and_jieya.yml
- include: config_java_env.yml
java_pkg_transfer_and_jieya.yml

传输并解压

文件内容如下:

- name: 创建/usr/local/java文件夹
  file:
    path: "{{ java_decompress_dir }}"
    state: directory
- name: 传输并解压
  unarchive:
    src: "{{ src_java }}"
    dest: "{{ java_decompress_dir }}"

config_java_env.yml

配置环境变量

文件内容如下:

- name: 配置java环境
  shell: echo 'export JAVA_HOME=/usr/local/java/{{ java_after_decompress_name }}' >> ~/.bashrc &&
         echo 'export CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib' >> ~/.bashrc &&
         echo 'export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin' >> ~/.bashrc &&
         source ~/.bashrc

整体校验是否通过

[root@master ansible-playbook-roles-nginx]# ansible-playbook -i host/hosts playbook-all-roles.yml --syntax-check

playbook: playbook-all-roles.yml

到playbook-all-roles.yml同级目录执行,没有报错就没有问题

执行

 ansible-playbook -i host/hosts playbook-all-roles.yml

验证是否配置成功

[root@master ansible-playbook-roles]# ansible -i host/hosts web -m shell -a "java -version"
node3 | CHANGED | rc=0 >>
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
node4 | CHANGED | rc=0 >>
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

标签:java,jdk,roles,文件夹,role,playbook,yml
From: https://www.cnblogs.com/yohoolook/p/18330905

相关文章

  • playbook+roles安装nginx实战
    基本目录结构host文件夹用于存放主机清单文件hosts文件hosts文件内容如下:(仅供参考)[proxy]node2[web]192.168.xx.xxplaybook-all-roles.yml文件用于指定执行哪个role的文件(命名可以自定义)文件内容如下:(仅供参考)因为roles文件夹下只有nginx一个文件夹,所以-role:ngi......
  • JDK的安装和配置
    JDK的安装和配置目录JDK的安装和配置JDK下载JDK安装配置环境变量JDK下载官网:https://www.oracle.com/cn/java/technologies/downloads![屏幕截图2024-07-25154834](D:\生产实习笔记\images\屏幕截图2024-07-25154834.png)点击JDKDownload进入详细下载页如下:把Accepet......
  • java初识-----JDK,JRE和JVM
    JDK,JRE和JVMJDK即JavaDevelopmentKit是Java开发工具包的缩写。它是一套用于开发Java应用程序的软件包,包含了Java的运行环境(JRE)、编译器(javac)和调试器(jdb)等众多工具。JDK是Java开发的核心,无论是编写Java程序还是运行Java应用,都离不开JDK的支持。对于Java开发者来说,安装......
  • java初识---JDK的安装配置
    JDK的安装确定操作系统在开始安装JDK之前,首先需要确定自己的计算机操作系统类型,如Windows、macOS或Linux。因为不同操作系统的JDK安装包和安装步骤可能有所不同。检查系统要求确保计算机满足JDK安装所需的最低系统要求,包括处理器、内存和磁盘空间等。这些要求通常可以在JDK......
  • java开发,安装JDK8
    java开发,入职第一天都干什么,带你提前揭晓  2024.7.24,帝都今晚大雨,在雨声磅礴的夜晚适合干什么,没错适合敲代码,写博客,今晚来聊下入职一个新公司,第一天都干什么。无论是刚毕业的新手小白,还是工作十余年的职场老人,入职一家新公司,只要还是做研发,那么毫无疑问,在领到电脑后,第一件......
  • Linux中安装JDK教程
    一、卸载Linux自带的OpenJDK1、首先检查虚拟机是否自带OpenJDK,执行java-version命令[root@localhostsuyintuolo]#java-versionopenjdkversion"1.8.0_242"OpenJDKRuntimeEnvironment(build1.8.0_242-b08)OpenJDK64-BitServerVM(build25.242-b08,mixedmode......
  • 在Windows下安装配置JDK-21
    目录一.下载JDK-21二.安装JDK-21三.配置JDK-17四.验证JDK-21 欢迎阅读我的博客。今天,我想和大家分享一下如何在Windows环境下配置JDK-21。无论你是刚接触Java,还是想要在新的环境中安装JDK,这篇文章都将为你提供详细的步骤和指导。让我们开始吧! 一.下载JDK-21O......
  • 数据结构(Java):HashMap源码解析【JDK17】
    1、整体总结 2、成员属性table哈希数组DEFAULT_INITIAL_CAPACITY哈希表默认容量值(16)MAXIMUM_CAPACITY最大容量值DEFAULT_LOAD_FACTOR默认负载因子threshold当前存放元素数量达到该值时就会触发数组扩容TREEIFY_THRESHOLD树化条件之一(转化为红黑树的阈值)MIN_......
  • 一、JDK,JRE和JVM的区别和联系
    java初识一、JDK,JRE和JVM的区别和联系JDKJDK:JavaDevelopmentKit,是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包。JDK:普通用户只需要安装JRE来运行Java程序。而程序开发者必须安装JDK来编译、调试程序它提供了编译、运行Java程序所需的各种工具和资......
  • ansible-playbook
    ansible-playbook执行脚本,并输出到控制台-name:Deploynginxlogrotate.shandprinttheresulthosts:allbecome:yes#如果需要以root权限执行命令,则需要这一行tasks:-name:Deploylogrotate.shscript:/home/xxx/nginxLograte/deploy_nginxlogra......