Hadoop学习(五)完全分布运行模式

一、虚拟机准备

1、准备3台虚拟机,分别为hadoop102,hadoop103,hadoop104,并分别修改静态ip和主机名

2、安装Hadoop和Java(卸载自带Java)

方法:通过安装好的hadoop101虚拟机将Hadoop和Java部署到其他虚拟机上

(1)创建脚本

远程拷贝命令:

scp(secure copy):scp -r source destination(只拷贝内容)

例:scp -r hadoop101:/opt/module/hadoop-2.7.2 hadoop102:/opt/module

注:源和目标都要标明主机,通过远程登陆的方式拷贝,需要输入密码

rsync:rsync -av source destination(归档拷贝)

例:rsync -av hadoop101:/opt/module/hadoop-2.7.2 /optmodule

注:源和目标只能有一个是远程目录,a:归档拷贝,就是完完全全的拷贝,从内容到属性信息(文件创建时间等),比scp要快,         只拷贝差异部分

用脚本的方式给其他的虚拟机部署Hadoop和Java,参数是文件目录,功能是发送到其他主机上相同位置

#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi

#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 获取上级目录的绝对路径,避免获取“.”和软连接的情况
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir

#4 获取当前用户名称
user=`whoami`

#5 循环
for((host=102; host<105; host++)); do
        echo ------------------- hadoop$host --------------
        rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done

创建脚本:vim xsync

赋予可执行权限:chmod +x xsync

执行命令:sudo cp xsync /bin(该命令让xsync直接以命令的形式调用,无需写路径)

执行命令:sudo rsync -av /bin/xsync hadoop101:/bin(该命令将脚本复制到hadoop101相应目录下)

之后就可以通过hadoop101用xsync命令给其他虚拟机发送文件

(2)部署环境

切换到hadoop101虚拟机,将Hadoop和Java分别分发到各个虚拟机上,执行xsync的时候需要确认并输入目标机器的密码

命令:xsync hadoop-2.7.2

           xsync jdk1.8.0_144

发送环境变量,需要root权限:sudo xsync /etc/profile

在其他目标虚拟机上分别执行命令:source /etc/profile

查看环境是否配置成功:

二、集群配置

1、集群部署规划

 hadoop102hadoop103hadoop104
HDFS

NameNode

DataNode

SecondaryNameNode

DataNode

DataNode

YARNNodeManager

NodeManager

ResourceManager

NodeManager

对于HDFS来说NN是主机,DN和2NN是从机

对于YARN来说RN是主机,NM是从机

(条件有限,整合成三台机器,完整集群最小单位是6台)

2、集群配置

(1)修改配置文件

用Notepad++里的NppFTP插件,可远程连接虚拟机,直接改文件内容

需要修改的文件:hadoop-env.sh    mapred-env.sh    yarn-env.sh    

                             core-site.xml    hdfs-site.xml    mapred-site.xml    yarn-site.xml    

第一行以.sh为后缀名的文件只需填写JAVA_HOME路径(之前已经填写过)

 core-site.xml

hdfs-site.xml

mapred-site.xml文件无需更改

yarn-site.xml    

以上配置是对NN,2NN,RM进行了配置,没有配置从机,手动启动集群,从机不需要配置

(2)分发配置文件

虚拟机切换到hadoop102,工作目录切换到/opt/module/hadoop-2.7.2,发送配置文件夹etc

命令:xsync etc

三、集群启动

格式化HDFS:(在配置了NameNode的机器上格式化)

命令:hdfs namenode -format

注:因为之前执行伪分布运行模式的时候格式化了HDFS,进行了操作,所以这次在格式化后要删除/opt/module/hadoop-2.7.2/data/tmp/dfs下的data数据

2、启动集群

(1)启动HDFS

hadoop102:

启动NameNode:hadoop-daemon.sh start namenode

启动DataNode:hadoop-daemon.sh start datanode

hadoop103:

启动DataNode:hadoop-daemon.sh start datanode

hadoop104:

启动DataNode:hadoop-daemon.sh start datanode

启动SecondaryNameNode:hadoop-daemon.sh start secondarynamenode

命令jps查看启动结果

浏览器查看:(此时出现问题hadoop102:50070不开,输入192.168.93.102:50070就可以,虚拟机的hosts和hostname都没问题)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值