完全分布式 hadoop

hadoop完全分布式需要准备3台以上客户机,三台客户机必须具有ssh无密登录,3台客户机均安装jdk和hadoop的环境变量。

1.复制客户机上以前的hadoop伪分布式运行的hadoop相关文件

采用命令:scp-r 初始文件名 root@主机名:复制文件路径

2.配置ssh无密登录

    1)生成当前用户和root的公钥和私钥(需切换用户)

           命令:ssh Keygen -t rsa

    2)将公钥copy到需要无密登录的客户机上

          命令:ssh-copy-id  主机名

    注:本机也需要将copy公钥至本机

3.集群配置计划

4.修改配置文件

  1)修改core-site.xml,配置内容如下

         <!-- 指定 HDFS 中 NameNode 的地址 -->
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://hadoop102:9000</value>
        </property>

        <!-- 指定 hadoop 运行时产生文件的存储目录 -->
          <property>
                  <name>hadoop.tmp.dir</name>
                  <value>/opt/module/hadoop-2.7.2/data/tmp</value>
         </property>

  2)修改hadoop-env.sh

       配置java_home

  3)  修改hdfs-site.xml

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

注:配置注释如下:指定dfs副本数量,指定secondarynamenode地址

 4)修改yran-evn.sh 

       配置java_home

5)修改yran-site.xml

   

<!-- reducer 获取数据的方式 -->
<property>
     <name>yarn.nodemanager.aux-services</name>
     <value>mapreduce_shuffle</value>
</property>

<!-- 指定 YARN 的 ResourceManager 的地址 -->
<property>
     <name>yarn.resourcemanager.hostname</name>
     <value>hadoop103</value>
</property>
</configuration>

6)修改mapred.env.sh

 配置java_home

7)修改mapred-site.xml

<!-- 指定 mapreduce 运行在 yarn 上,默认为local -->
 <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
 </property>

5.将配置好的文件同步到其余两台客户机上

可用命令:rsync -rvl 地址  用户@主机名:目标地址

或用shell脚本传输:脚本需要建立在:/user/local/bin/ 下才能在系统运行


#!/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=103; host<105; host++));
do
echo $pdir/$fname $user@hadoop$host:$pdir
echo --------------- hadoop$host ----------------
rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done

6.删除之前的logs data文件

7.格式化namenode

命令: bin/hdfs namenode -format

8.启动hdfs

sbin/start-dfs.sh 需在namenode指定的主机上运行

9.运行yran 

 sbin/start-yarn.sh  需在resourcemanager指定的主机上运行

10.上传文件测试集群

新建目录:hadoop fs -mkdir -P 目录

上传文件:hadoop fs -put 原始文件地址   hdfs存放目录

注:block size大小默认为128M,大于128M的文件存放两个block

存放文件的地址为:/opt/module/hadoop-2.7.2/data/tmp/dfs/data/current/BP-468166916-192.168.25.102-1563183034389/current/finalized/subdir0/subdir0

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值