hadoop完全分布式
我们本次讲的是在之前搭建的项目之下进行进一步搭建的;当然也可以按照这个搭建不过hadoop的一些基础环境还需要自己搭建(可以观看本人之前的文章一步步到这)。
大概流程
0.准备几台虚拟机安装好hadoop和配置好他的一些基本配置文件;也要安装jdk 是hadoop的基本运行环境。
1.修改一些配置文件
例如:
hdfs-site.xml
slaves
yarn-site.xml
2.修改完配置文件后cp、hadoop到其他虚拟机上
3.完全分布式启动
续集详解
首先分析一下hdfs与yarn运行位置。
我们开始配置hdfs-site.xml文件
找到这个文件目录。修改hdfs-site.xml文件
<!-- 指定HDFS副本的数量默认是3个 -->
<!-- <property>
<name>dfs.replication</name>
<value>1</value>
</property> -->
<!--虚拟机名与湍口;因为设置过ip映射所以可以写zhiyou102-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>zhiyou102:50090</value>
</property>
修改slaves文件清空添加上其他的虚拟机。
zhiyou101
zhiyou102
zhiyou103
在修改yarn-site.xml文件。
<!-- reduce获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>zhiyou103</value>
</property>
为了方便我们将本台虚拟机同步到其他的虚拟机上有两种方式:
1.通过scp -r /usr/local/hadoop-2.7.3 root@zhiyou102:/usr/local命令。/usr/local/hadoop-2.7.3自己需要cp的文件目录; root用户名;zhiyou102静态ip映射;:/usr/local路径。
2.第二种方式就是通过rsync -rvl /usr/local/hadoop-2.7.3 root@zhiyou102:/usr/local命令;/usr/local/hadoop-2.7.3 root@zhiyou102:/usr/local这一段与前面的一样。但是这个需要自己下载一下通过 yum install -y rsync命令。
但是上面的方式都麻烦;还有一种简单的方法就是写一个脚本。
在/usr/local/bin目录下创建xsync.sh文件,编写脚本;这个xsync可以随意起你开心就好。赋权限chmod 755 xsync.sh
(r 4 w 2 t 1)数字是由他们三个组合而来的。
当执行的时候格式如下:xsync.sh 源文件
//文件代码
#!/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=101; host<104; host++)); do
#echo $pdir/$fname $user@test$host:$pdir
echo --------------- zhiyou$host ----------------
rsync -rvl $pdir/$fname $user@zhiyou$host:$pdir
done
但是他不能实现免密为了实现免密我们可以这样。
进入root用户的家目录下,如果你进来没有.ssh目录,需要运行一下ssh命令
进入.ssh文件执行下面的代码。
[root@zhiyou101 .ssh]# ssh-keygen -t rsa
输入yes之后一直回车然后在执行下面的代码。
[root@zhiyou101 .ssh]# ssh-copy-id zhiyou101
你创建里几个虚拟机就需要把zhiyou101换成你的虚拟ip有几个执行几次。而且每一个都需要设置。
通过ssh zhiyou101测试。
启动
在启动的时候先格式化namenode。
启动YARN、启动HDFS然后查看是否启动成功。