在linux下使用shell脚本自动化完成hadoop集群搭建

学习hadoop时,发现如果在linux下搭建集群,一个一个的去配置,会感觉很累。所以写了一个自动话搭建集群的shell脚本 我使用的文件: jdk-7u75-linux-x64.gz; hadoop.tar.gz; 以及一个解压hadoop后,需要配置的文件的tar包 1.tar

实现思路: 首先只配置主节点的环境变量和域名映射(/etc/profile和/etc/hosts) 然后看下面shell脚本:

#!/bin/bash                
tar -zxvf /root/jdk-7u75-linux-x64.gz;             #解压jdk-7u75-linux-x64.gz
tar -zxvf /root/hadoop.tar.gz;                        #解压 hadoop.tar.gz
mv /root/hadoop-2.6.4/ /root/hadoop/;           #改名hadoop-2.6.4
mv /root/jdk1.7.0_75/ /root/jdk/;                    ##改名jdk1.7.0_75
tar -xvf /root/1.tar;                                        #解压1.tar
cd /root/1;                                                    
mv -f * /root/hadoop/etc/hadoop/;                #移动到1目录 将里面所有文件一动道/hadoop/etc/hadoop下

写完之后,写自动化脚本,实现功能:自动配置ssh免密码登陆,自动复制上面三个文件和主节点的配置文件以及上面写的shell脚本到不同的节点上,在各个节点运行上面的shell脚本。代码如下:

#!/bin/bash
SERVERS="mini0 mini1 mini2"                #改成你自己写的主机映射名
give_key(){
	
	expect <<!
	spawn ssh-copy-id $1
	expect "*yes/no*" {send "yes\r";exp_continue}
	expect "*password*" {send "root123\r";exp_continue}
!
}

for server in $SERVERS
do
	give_key $server
	scp /root/1.tar root@$server:/root/
	scp /root/hadoop.tar.gz root@$server:/root/
	scp /root/jdk-7u75-linux-x64.gz root@$server:/root/
	scp /etc/profile root@$server:/etc/profile
	scp /root/peizhi.sh root@$server:/root/
	scp /etc/hosts root@server:/etc/hosts
	ssh root@$server sh /root/peizhi.sh
done

完成 谢谢观看

转载于:https://my.oschina.net/u/3294842/blog/854446

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值