使用SaltStack安装JDK1.6

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

创建states文件

/srv/salt目录下创建jdk目录,并在jdk目录创建init.sls文件,init.sls文件内容如下:

jdk-file:
 file.managed:
   - source: salt://jdk/files/jdk1.6.0_39.tar.gz
   - name: /usr/java/jdk1.6.0_39.tar.gz
   - include_empty: True
 
jdk-install:
 cmd.run:
   - name: '/bin/tar -zxf jdk1.6.0_39.tar.gz && /bin/ln -s jdk1.6.0_39  latest '
   - cwd: /usr/java
   - unless: 'test -e jdk1.6.0_39'
   - require:
     - file: jdk-file
 
jdk-rmzip:
  file.absent:
    - name: /usr/java/jdk1.6.0_39.tar.gz
 
/root/.bashrc:
  file.append:
    - text:
      - export JAVA_HOME=/usr/java/latest
      - export PATH=$JAVA_HOME/bin:$PATH

上面sls文件需要引用jdk1.6.0_39.tar.gz文件,故需要下载jdk1.6.0_39.bin安装之后将其打包成jdk1.6.0_39.tar.gz拷贝到/srv/salt/jdk/files目录。

init.sls文件执行过程包括以下几个步骤:

  • jdk-file,将salt://jdk/files/jdk1.6.0_39.tar.gz文件拷贝到/usr/java
  • jdk-install,解压文件
  • jdk-rmzip,删除压缩包
  • /root/.bashrc,设置JAVA_HOME

修改top.sls文件(该步骤为可选),添加jdk.init:

base:
  '*':
    - jdk.init

测试运行

在master上运行下面命令,并观察运行结果:

[root@sk1 vagrant]# salt '*' state.sls jdk
sk2:
----------
          ID: jdk-file
    Function: file.managed
        Name: /usr/java/jdk1.6.0_39.tar.gz
      Result: True
     Comment: File /usr/java/jdk1.6.0_39.tar.gz updated
     Changes:  
              ----------
              diff:
                  New file
              mode:
                  0644
----------
          ID: jdk-install
    Function: cmd.run
        Name: /bin/tar -zxf jdk1.6.0_39.tar.gz && /bin/ln -s jdk1.6.0_39  latest
      Result: True
     Comment: unless execution succeeded
     Changes:  
----------
          ID: jdk-rmzip
    Function: file.absent
        Name: /usr/java/jdk1.6.0_39.tar.gz
      Result: True
     Comment: Removed file /usr/java/jdk1.6.0_39.tar.gz
     Changes:  
              ----------
              removed:
                  /usr/java/jdk1.6.0_39.tar.gz
----------
          ID: /root/.bashrc
    Function: file.append
      Result: True
     Comment: Appended 0 lines
     Changes:  
Summary
------------
Succeeded: 4
Failed:    0
------------
Total:     4

从上可以看出成功了4个,失败为0。

安装了jdk之后,需要重启minion(还需要修改minion启动脚本,让minion加载上系统环境变量,详细说明,见安装SaltStack和halite)才能通过下面脚本运行java相关的命令,如java、jps等等:

salt '*' cmd.run 'jps'

否则,你需要通过下面脚本来执行:

salt '*' cmd.run 'source /root/.bashrc ;jps'

设置pillar

将上面的jdk/init.sls文件修改为通过pillar引用变量

a.首先在/srv/pillar目录创建jdk目录,并在jdk目录下创建init.sls文件,内容如下:

jdk:
  name: jdk1.6.0_39
  srvpath: salt://jdk/files 
  homepath: /usr/java

b.在/srv/pillar/top.sls中添加jdk.init

base:
  '*':
    - jdk.init

c.修改/srv/salt/jdk/init.sls文件为从pillar引入变量,内容如下:

jdk-file:
  file.managed:
    - source: {{pillar['jdk']['srvpath']}}/{{pillar['jdk']['name']}}.tar.gz
    - name: {{pillar['jdk']['homepath']}}/{{pillar['jdk']['name']}}.tar.gz
    - makedirs: True
 
jdk-install:
  cmd.run:
    - name: 'unzip -q {{pillar['jdk']['name']}}.tar.gz'
    - cwd: {{pillar['jdk']['homepath']}}
    - unless: 'test -e {{pillar['jdk']['name']}}'
    - require:
      - file: jdk-file
jdk-rmzip:
  file.absent:
    - name: {{pillar['jdk']['homepath']}}/{{pillar['jdk']['name']}}.tar.gz
{{pillar['userhome']}}/.bashrc:
  file.append:
    - text:
      - export JAVA_HOME={{pillar['jdk']['homepath']}}/{{pillar['jdk']['name']}}
      - export PATH=$JAVA_HOME/bin:$PATH

d.参考上面,再次测试一遍

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
4月前
|
Java
安装JDK18没有JRE环境的解决办法
安装JDK18没有JRE环境的解决办法
400 3
|
6月前
|
Oracle Java 关系型数据库
入职必会-开发环境搭建41-Linux软件安装-安装JDK
本文介绍了在Linux系统中下载和安装JDK
201 3
入职必会-开发环境搭建41-Linux软件安装-安装JDK
|
12天前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
124 7
|
5月前
|
Oracle Java 关系型数据库
Mac安装JDK1.8
Mac安装JDK1.8
800 4
|
5月前
|
Java 关系型数据库 MySQL
"解锁Java Web传奇之旅:从JDK1.8到Tomcat,再到MariaDB,一场跨越数据库的冒险安装盛宴,挑战你的技术极限!"
【8月更文挑战第19天】在Linux上搭建Java Web应用环境,需安装JDK 1.8、Tomcat及MariaDB。本指南详述了使用apt-get安装OpenJDK 1.8的方法,并验证其版本。接着下载与解压Tomcat至`/usr/local/`目录,并启动服务。最后,通过apt-get安装MariaDB,设置基本安全配置。完成这些步骤后,即可验证各组件的状态,为部署Java Web应用打下基础。
67 1
|
6月前
|
Java Linux
Linux复制安装 jdk 环境
Linux复制安装 jdk 环境
119 3
|
2月前
|
Oracle Java 关系型数据库
安装 JDK 时应该注意哪些问题
选择合适的JDK版本需考虑项目需求与兼容性,推荐使用LTS版本如JDK 17或21。安装时注意操作系统适配,配置环境变量PATH和JAVA_HOME,确保合法使用许可证,并进行安装后测试以验证JDK功能正常。
63 1
|
2月前
|
IDE Java 编译器
开发 Java 程序一定要安装 JDK 吗
开发Java程序通常需要安装JDK(Java Development Kit),因为它包含了编译、运行和调试Java程序所需的各种工具和环境。不过,某些集成开发环境(IDE)可能内置了JDK,或可使用在线Java编辑器,无需单独安装。
85 1
|
5月前
|
Java 开发工具
开发工具系列 之 同一个电脑上安装多个版本的JDK
这篇文章介绍了如何在一台电脑上安装和配置多个版本的JDK,包括从官网下载所需JDK、安装过程、配置环境变量以及如何查看和切换当前使用的JDK版本,并提到了如果IDEA和JDK版本不兼容时的解决方法。
开发工具系列 之 同一个电脑上安装多个版本的JDK
|
3月前
|
Oracle Java 关系型数据库
jdk17安装全方位手把手安装教程 / 已有jdk8了,安装JDK17后如何配置环境变量 / 多个不同版本的JDK,如何配置环境变量?
本文提供了详细的JDK 17安装教程,包括下载、安装、配置环境变量的步骤,并解释了在已有其他版本JDK的情况下如何管理多个JDK环境。
1775 0