集群批量安装jdk

来源:互联网 发布:刷机后恢复数据 编辑:程序博客网 时间:2024/06/06 14:01

几十台机器对jdk嗷嗷待装,不想一个个装,写个脚本批量安装。
前提:root下满足各节点ssh免密码通信,或者自定义用户脚本里面加个sudo,并且在sudoer里面允许免密码。
1. 在node1节点上下载最新官方rpm包,地址
2. wget 这个地址无效,只会下到当前网页,因为网页有个接受协议的cookie认证,所以加块饼干吧。

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"  url

把url 改成你要下的地址,我这里是http://download.oracle.com/otn-pub/java/jdk/8u91-b14/jdk-8u91-linux-x64.rpm
3. 安装好后新建目录,/usr/lib/jvm/installJDK,在目录里面写个脚本

vim installJDK.sh>#!/bin/bash#0. rebuild rpmecho "rebuild rpm"rpm --rebuilddbecho "finish rebuild"# 1. remove openjdk if exists.for i in $(rpm -qa | grep jdk | grep -v grep)do  echo "Deleting rpm -> "$i  sudo rpm -e --nodeps $idoneif [[ ! -z $(rpm -qa | grep jdk | grep -v grep) ]];then  echo "-->Failed to remove the defult Jdk."else#2.install jdk rpm -ivh --nodeps jdk-8u91-linux-x64.rpm# rm -f jdk-8u91-linux-x64.rpmecho "success!"fi

并把下载rpm包放到这个目录下
4. 安装

 ./installJDK.sh

安装文件在/usr/java/jdk1.8.0_91里,bin文件目录已经软链接到$PATH目录里面了,所以直接可以 java -verson 、 javac 、 javadoc 了
4. 远程拷贝
当前目录下新建文件

vim setup.sh>#!/bin/bash#建立主机名数组hosts=('node2' 'node3' 'node4' 'node5'...)len=18  #要拷贝的节点数(node2~node18)hostName='node'  #common_prefixhosts='' #hosts数组for((i=2;i<=len;i++ ))do    hosts="${hosts}${hostName}${i} "donehosts=(${hosts})#远程拷贝for((i=0;i<${#hosts[*]};i=i+1))do    echo "正在复制到${hosts[i]} 节点"    scp -r /usr/lib/jvm/installJDK  root@${hosts[i]}:/usr/lib/jvm/    echo "正在安装到${hosts[i]} 节点"    ssh root@${hosts[i]} "/usr/lib/jvm/installJDK/installJDK.sh"done

完事~

0 0
原创粉丝点击