Hadoop-2.7.3完全分布式环境搭建及环境部署脚本编写

#完全分布式搭建
注:hadoop启动之后生成的文件均保存在了临时目录/tmp下,因此每次重新启动之前就需要格式化一回;可在配置文件里配置,这里并没有配置,在后续的文章里会进行介绍
在虚拟机中选择创建5台Ubuntu来进行完全分布式环境的搭建,使用工具SecureCRT 7.3,具体如何配置每台机器的IP地址,并实现联网,参考我的前序文章:VMware虚拟网络配置及原理;环境变量的设置也请参考我的前序文章:Hadoop-2.7.3环境搭建之伪分布式模式

每台机器的hosts文件(在/etc/hosts目录下):

192.168.26.100		master
192.168.26.101		slave1
192.168.26.102		slave2
192.168.26.103		slave3
192.168.26.104		slave4

总体搭建思路
master作为NameNode与ResourceManager
slave1、slave2、slave3均作为DataNode与NodeManager
slave4作为SecondaryNameNode
##在master节点上实现对slave1-slave4节点的控制,因此配置SSH
思路
1.在五台机器上均安装SSH,并生成各自的私钥、公钥对

$>sudo apt-get install ssh
$>ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

2.配置SSH
将master节点上的公钥分别传给slave1-slave4,实现master节点上可以登录slave1-slave4这四个节点并对他们进行操作
原理:master将消息用私钥进行加密,传给slave1-slave4这四台机器,由于这四台机器拥有master节点的公钥,因此可以用master的公钥对传来的消息进行识别并解密,一旦匹配,就实现登陆
操作:分别在slave1-slave4的机器上执行操作:

$>nc -l 8888 > ~/.ssh/id_rsa.pub.master

在master节点上执行操作:

$>nc slave-x 8888 < ~/.ssh/id_rsa.pub

注:slave-x分别代表slave1-slave4,需要分开执行四组即可实现
在master节点上查看效果

$>ssh slave3 ifconfig

示例截图:
这里写图片描述

##编写脚本文件实现在master节点上对其余四个从节点的控制
1.分发文件脚本
功能:分发/soft里的安装软件
分发环境变量配置文件/etc/environment
分发完全分布式配置文件

$>su root
$>cd /usr/local/bin
$>touch xsync
$>chmod a+x xsync

文件内容:

#!/bin/bash
pcount=$#
if(( pcount<1 )) ; then
echo no args;
exit;
fi				
#获得文件名
p1=$1;
fname=`basename $p1`				
#获得上级目录的绝对路径	 -P获取物理路径
pdir=`cd -P $(dirname $p1) ; pwd`				
#获取当前用户名
cuser=`whoami`				
#循环
for (( host=101 ;host<105;host=host+1 )) ; do
echo ------------slave$host-----------------
rsync -rvl $pdir/$fname $cuser@slave$host:$pdir
done

2.在五台机器上执行相同命令的脚本
功能:在master节点上使用jps命令查看所有节点的情况
同时删除或是创建相同文件

$>su root
$>cd /usr/local/bin
$>touch xcall
$>chmod a+x xcall

文件内容:

#!/bin/bash
pcount=$#
if(( pcount<1 )) ; then
echo no args;
exit;
fi
echo     ----------master----------------
$@
for (( host=101 ;host<105;host=host+1 )) ; do
echo ------------slave$host-----------------
ssh slave$host $@
done	

##配置文件的修改
进入/hadoop/etc/hadoop目录下:
1.core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master/</value>
</property>
</configuration>

2.hdfs-site.xml

<configuration>
<property>
<name>fs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
</configuration>

3.mapred-site.xml
因为没有mapred-site.xml这个文件,因此执行命令:

$>cp mapred-site.xml.template mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>	
**d.yarn-site.xml**
<?xml version="1.0" ?>
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

4.slaves

slave1
slave2
slave3

##向各节点分发配置文件

$>cd /soft/hadoop/etc/hadoop
$>xsync core-site.xml
$>xsync hdfs-site.xml
$>xsync mapred-site.xml
$>xsync yarn-site.xml
$>xsync slaves

##格式化

$>hadoop namenode -format

##启动hadoop集群

$>start-all.sh

##查看情况

$>xcall jps

成功截图:
这里写图片描述
通过浏览器进行浏览:
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值