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

原创
2017/03/08 18:27
阅读数 670

学习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

完成 谢谢观看

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部