#!/bin/bash
#配置jdk的安装目录 修改的地方1 脚本可以自己创建
currentTime=$(date '+%Y-%m-%d %H:%M:%S')
echo -e "请输入jdk的安装目录,不存在脚本自动创建,最后一个/不要写 /bigdata/install"
read jdkinstallpath
echo -e "请输入jdk的版本 例如 8"
read jdkversion
#创建ES安装的目录
if [ ! -d $jdkinstallpath ]; then
mkdir -p $jdkinstallpath
fi
if [ ! -d $jdkinstallpath ]; then
echo "创建目录$jdkinstallpat失败!请检查目录是否有权限"
exit
fi
#解压tar包
currentdir=$(cd $(dirname $0); pwd)
ls | grep "jdk-$jdkversion.*[gz]$"
if [ $? -ne 0 ]; then
#当前目录没有es的压缩包
echo "在$currentdir下没有发现jdk的压缩包,请自行上传!"
exit
else
#解压
tar -zxvf $currentdir/$(ls | grep "jdk-$jdkversion.*[gz]$") -C $jdkinstallpath
fi
jdkbanben=`ls $jdkinstallpath| grep "jdk*$jdkversion*"`
#PATH设置
#末行插入
echo "">>~/.bash_profile
echo '#java $currentTime'>>~/.bash_profile
echo "export JAVA_HOME=$jdkinstallpath/$jdkbanben">>~/.bash_profile
echo 'export PATH=$PATH:$JAVA_HOME/bin'>>~/.bash_profile
source ~/.bash_profile
java -version
if [ $? -eq 0 ]; then
echo 'JDK配置完成'
else
echo '安装失败,请重新尝试或手动安装'
fi
#分发hadoop安装文件
echo "以下输入的节点必须做免密登录"
echo "请输入所有的节点,按照空格分开,当前机器不用输入(当前机器是cdh01) 例如 cdh02 cdh03 cdh04 cdh05"
read allnodes
user=`whoami`
array=(`echo $allnodes | tr ' ' ' '` )
for allnode in ${array[@]}
do
echo ======= $allnode =======
ssh $allnode "echo ''>>~/.bash_profile"
ssh $allnode "echo '#jdk $currentTime'>>~/.bash_profile"
ssh $allnode "echo 'export JAVA_HOME=$jdkinstallpath/$jdkbanben'>>~/.bash_profile"
ssh $allnode 'echo "export PATH=\$PATH:\$JAVA_HOME/bin">>~/.bash_profile'
ssh $allnode "source ~/.bash_profile"
ssh $allnode "rm -rf $jdkinstallpath/$jdkbanben"
ssh $allnode "mkdir -p $jdkinstallpath/$jdkbanben"
scp -r $jdkinstallpath/$jdkbanben/* ${user}@$allnode:$jdkinstallpath/$jdkbanben
echo ======= $allnode 复制完成 =======
done
for allnode in ${array[@]}
do
echo ======= 在 $allnode 手动执行 source ~/.bash_profile 在通过 java -version 查看是否安装成功 =======
done