自动化脚本腾讯云配置集群(四)自动化安装从节点的JDK+Hadoop

在大规模集群中直接自动化安装软件JDK和Hadoop,效率是可想而知的。
这一部分紧接之前3个部分的环境配置,完成jdk和hadoop的安装,这样hadoop大规模集群算是完成了。

本小节的步骤较多,但并不复杂:

》首先准备好要分发到从节点的文件,包含以下三个文件:
软件包(*tar.gz)+环境变量设置文本(*env)+从节点上执行的脚本(.sh)
脚本文件会在各个从节点上运行,其功能主要是解压软件包,并将软件的环境变量配置添加入当前节点的~/.bashrc文件中。

这里写图片描述

这里写图片描述

1.jdk.sh

#!bin/bash
tar -zxvf ~/myscript/jdk/jdk-8u131-linux-x64.tar.gz -C ~/
mv ~/jdk1.8.0_131 ~/jdk1.8


cat ~/myscript/jdk/jdkenv >> ~/.bashrc
source ~/.bashrc

2.jdkenv

# java Env
export JAVA_HOME=~/jdk1.8
export JRE_HOME=~/jdk1.8/jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib

3.hadoop.sh

#!bin/bash
tar -zxvf ~/myscript/hadoop/hadoop-2.6.0.tar.gz -C ~/

cat ~/myscript/hadoop/hadoopenv >> ~/.bashrc
source ~/.bashrc

4.hadoopenv

# Hadoop Env
export HADOOP_HOME=~/hadoop-2.6.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH

》主节点上操纵从节点执行上述的脚本文件,完成该功能的脚本jdk_hadoop.sh,改文件存在于主节点中,直接在主节点中执行改文件,即可完成自动化在各个从节点上解压文件并更新用户的环境变量。

主要过程:
对slavenodes(解释见前几部分博文)中的各个从节点,创建相应的文件夹,再使用rsync命令将之前所述的三类文件分发到各个从节点的相应文件夹中,最后,则直接控制执行从节点文件夹中的脚本文件即可。

#!bin/bash
nodes=($(awk "{print \$1}" slavenodes))
for node in ${nodes[*]}
do
    ssh $node "mkdir -p /home/ubuntu/myscript/jdk/"
    ssh $node "mkdir -p /home/ubuntu/myscript/hadoop/"

    rsync -r --progress ~/myscript/jdk/ ubuntu@$node:/home/ubuntu/myscript/jdk/
    rsync -r --progress ~/myscript/hadoop/ ubuntu@$node:/home/ubuntu/myscript/hadoop/

    ssh $node "bash /home/ubuntu/myscript/jdk/jdk.sh"
    ssh $node "bash /home/ubuntu/myscript/hadoop/hadoop.sh"
done

》最后则是配置hadoop的conf相关文件,具体修改的hadooppath/etc/hadoop/路径下的相关文件,具体修改内容,请参考https://my.oschina.net/jackieyeah/blog/657750。先在主节点上将这些文件修改后,再利用脚本将修改后的文件直接分发到从节点即可。

#!bin/bash
#完成hadoop/etc/hadoop/下的所有配置文件设置后,将配置文件分发到slave节点上
nodes=($(awk "{print \$1}" slavenodes))
for node in ${nodes[*]}
do
#   重新格式化主节点并重启时,需要将datanode中hadoop下的tmp和logs文件清空或直接删除。
#   ssh $node "rm -r /home/ubuntu/hadoop-2.6.0/tmp"
#   ssh $node "rm -r /home/ubuntu/hadoop-2.6.0/logs"

#  分发配置文件
rsync -r --progress ~/hadoop-2.6.0/etc/hadoop/ zhangtao@$node:/home/ubuntu/hadoop-2.6.0/etc/hadoop/
done

#开启集群
#hadoop namenode -format
# start-all.sh
#开启JobHistoryServer进程
# mr-jobhistory-daemon.sh start historyserver
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值