通过自动化脚本安装以及配置JDK

在Linux搭建简单的http文件服务器已经完成简单文件服务器的搭建,最起码已经可以满足通过wget下载安装包的需求了。

集群总共有三个节点,分别是:

  • master(192.168.133.10)
  • slave1(192.168.133.11)
  • slave2(192.168.133.12)
  • 文件服务器(192.168.1.10)

在master中创建两个脚本文件,jdk_boot.sh、jdk_install.sh

  • jdk_boot.sh
    #!/bin/bash
    # 自动配置jdk脚本
    SERVERS="slave1 slave2"
    PASSWORD=nn1234

    auto_ssh_copy_id(){
          expect -c "set timeout -1; # 永不超时
              spawn ssh-copy-id $1; #1表示第一个传递给方法的第一个参数
              expect {
                      *(yes/no)* {send -- yes\r;exp_continue;}
                      *password* {send -- $2\r;exp_continue;} 
                      eof        {exit 0;}
              }";
     }
    ssh_copy_id_to_all(){
            for SERVER in $SERVERS
            do
                  auto_ssh_copy_id $SERVER $PASSWORD
            done
    }
    # 执行  ssh_copy_id_to_all方法
    ssh_copy_id_to_all
    
    for SERVER in $SERVERS
    do
          scp jdk_install.sh root@$SERVER:/root
          ssh root@$SERVER /root/jdk_install.sh
    done
    
  • jdk_install.sh

    #!/bin/bash
    
    PACKAGE_SERVER=192.168.1.10
    yum install -y wget
    wget -P /usr/app/  $PACKAGE_SERVER/file/jdk-8u131-linux- x64.tar.gz
    cd /usr/app/
    tar -zxvf jdk-8u131-linux-x64.tar.gz
    rm -f jdk-8u131-linux-x64.tar.gz
    cat >> /etc/profile << EOF
         export JAVA_HOME=/usr/app/jdk1.8.0_131
         export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar
         export PATH=\$JAVA_HOME/bin:\$PATH
    EOF
    rm -f ~/jdk_install.sh
    
  • CentOS7会报找不到expect的命令,需要安装expect

你可能感兴趣的:(通过自动化脚本安装以及配置JDK)