• 6-hadoop的运行模式(完全分布式)(上)


    注意:在实际的生产开发中均是使用完全分布式

    1、搭建步骤

    1)准备3台客户机(关闭防火墙、静态ip、主机名称)

    2)安装JDK

    3)配置环境变量

    4)安装Hadoop

    5)配置环境变量

    6)配置集群

    7)单点启动

    8)配置ssh

    9)群起并测试集群

    2、scp:(secure cope)安全拷贝

    1、scp定义:

    scp可以实现服务器与服务器之间的数据拷贝。(from server1 to server2)

    2、基本语法

    scp    -r      pdir/pdir/pdir/fname  user@hadoopuser@hadoopuser@hadoophost:pdir/pdir/pdir/fname
    命令   递归       要拷贝的文件路径/名称    目的用户@主机:目的路径/名称

    3、案例实操

    在hadoop1上,将hadoop1中/opt/module目录下的软件拷贝到hadoop2上。

    [root@hadoop1 /]$ scp -r /opt/module  root@hadoop1:/opt/module

    在hadoop3上,将hadoop1服务器上的/opt/module目录下的软件拷贝hadoop3上。

    [root@hadoop3 opt]$scp -r root@hadoop1:/opt/module·root@hadoop3:/opt/module

    在hadoop3上操作将hadoop1中/opt/module目录下的软件拷贝到hadoop4上。

    [root@hadoop3 opt]$ scp -r root@hadoop1:/opt/module root@hadoop4:/opt/module

    注意:拷贝过来的/opt/module目录,别忘了在hadoop102、hadoop103、hadoop104上修改所有文件的

    所有者和所有者组。sudo chown root:root -R /opt/module

    将hadoop1中/etc/profile文件拷贝到hadoop2的/etc/profile上。

    [root@hadoop1 ~]$ scp /etc/profile root@hadoop2:/etc/profile

    注意:拷贝过来的配置文件别忘了source一下/etc/profile,。

    3、rsync 远程同步工具

    rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。

    rsync和scp区别:
    用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新
    scp是把所有文件都复制过去

    基本语法
    rsync    -rvl       pdir/pdir/pdir/fname      user@hadoopuser@hadoopuser@hadoophost:pdir/pdir/pdir/fname
    命令   选项参数   要拷贝的文件路径/名称    目的用户@主机:目的路径/名称

    选项参数说明

    案例实操
    把hadoop1机器上的/opt/software目录同步到hadoop2服务器的root用户下的/opt/目录

    [root@hadoop1 opt]$ rsync -rvl /opt/software/ root@hadoop2:/opt/software

    4、xsync集群分发脚本

    需求:循环复制文件到所有节点的相同目录下

    需求分析:
    (a)rsync命令原始拷贝:
      rsync  -rvl     /opt/module                root@hadoop103:/opt/

    (b)期望脚本:
      xsync要同步的文件名称

    (c) 说明:在/usr/local/bin这个目录下存放的脚本,其他用户可以在系统任何地方直接执行。

    脚本实现
    (a)在/usr/local/bin目录,并在bin目录下xsync创建文件,文件内容如下:

    [root@hadoop2 bin]$ touch xsync 
    [root@hadoop2 bin]$ vi xsync

    在该文件中编写如下代码

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

    (b)修改脚本 xsync 具有执行权限

    [root@hadoop2 bin]$ chmod 777 xsync

    (c)调用脚本形式:xsync 文件名称

    [root@hadoop2 bin]$ xsync /usr/local/bin

    注意:如果将xsync放到/home/用户/bin目录下仍然不能实现全局使用

    可以将xsync移动到/usr/local/bin目录下。

  • 相关阅读:
    start tag, end tag issues in IE7, particularly in xslt transformation
    用SandCastle为注释生成chm文档
    Firebug
    架构的重点
    Linux Shell常用技巧(十) 管道组合
    Linux JDK升级
    Linux Shell常用技巧(十二) Shell编程
    Packet Tracer 5.0实验(一) 交换机的基本配置与管理
    Linux Shell常用技巧(六) sort uniq tar split
    Linux Shell常用技巧(二) grep
  • 原文地址:https://www.cnblogs.com/Mrchengs/p/11223499.html
Copyright © 2020-2023  润新知