Hadoop完全分布式配置全过程②之Ubuntu18.04.4环境下配置xsync实现文件的集群分发

Hadoop完全分布式配置全过程之Ubuntu18.04.4环境下配置xsync实现文件的集群分发


Hadoop完全分布式配置全过程①之虚拟机前期准备VMware-tools
Hadoop完全分布式配置全过程②之Ubuntu18.04.4环境下配置xsync实现文件的集群分发
Hadoop完全分布式配置全过程③之Ubuntu18.04.4环境下配置JDK1.8.0_144
Hadoop完全分布式配置全过程④之Ubuntu18.04.4环境下配置Hadoop-2.7.2
Hadoop完全分布式配置全过程⑤之集群配置及启动

在配置完全分布式集群时,可以先进行xsync的配置,这样只要在主节点上完成jdk和hadoop的配置,再将jdk和hadoop的文件夹以及修改过的配置文件分发给子节点,就可以避免重复工作。

配置SSH

  1. 一般Ubuntu都会默认安装openssh-client,但是没有安装openssh-server。 所以,第一步下载 openssh-server。
    sudo apt-get install openssh-server
  2. 下载成功后,启动 ssh 服务,通过 ps -e | grep sshd 来查看是否安装成功, 可以看到进程 sshd,安装成功。
    启动SSH:sudo /etc/init.d/ssh start
    查看状态:ps -e | grep sshd
  3. 进入/etc/ssh 修改 ssh_config 和 sshd_config 文件。
    • 将 ssh_config 文件中 PasswordAuthentication yes 前的#删除。
    • 将 sshd_config 文 件 中 PermitRootLogin prohibit-password 改 成 PermitRootLogin yes。
  4. 重启 ssh 服务。
    sudo /etc/init.d/ssh restart
  5. 通过ssh <本机名>检查。
  6. 另外两台虚拟机也按照同样的方法配置。

配置静态IP

*:使用VMware进行如下配置,如果是实体机,直接ip a看ip,进行第⑦步配置/etc/hosts就好了
**:第⑤⑥⑦步均需要在三台主机上分别进行一遍。

  1. 点击菜单栏“编辑”->“虚拟网络编辑器”,将其中配置改为如下图所示。
    在这里插入图片描述

  2. 点击“NAT 设置”,查看网关 IP。
    在这里插入图片描述

  3. 点击菜单栏“虚拟机”->“可移动设备”->“网络适配器”->“设置”,选 择“自定义”,如下图。
    在这里插入图片描述

  4. 在终端输入ip a查看网卡编号,我的虚拟机网卡编号,如图,是 ens32
    在这里插入图片描述

  5. 分别编辑三台主机/etc/network/interfaces文件,添加:

auto ens32
iface ens32 inet static
address 192.168.80.xxx //自定义三个不同编号,分别写入三台主机的文件中
netmask 255.255.255.0
gateway 192.168.80.2 //第 2 步操作中查看过网关 ip
  1. 重启网络服务sudo /etc/init.d/networking restart
  2. 将配置的三个静态IP,以“静态ip 主机名”的形式写入/etc/hosts文件。三台主机上的/etc/hosts文件都要改。

SSH免密登录

  1. 三台虚拟机分别执行ssh-keygen生成公钥和私钥,进入~/.ssh
  2. 以下步骤需要按照顺序依次进行,在第三步中在第三台虚拟机中生成完整密钥文件,并传给第一、第二台虚拟机。
    • 在第一台虚拟机中执行cat id_rsa.pub >> authorized_keys,然后执行scp authorized_keys root@<第二台主机用户名>:~/.ssh
    • 在第二台虚拟机中执行cat id_rsa.pub >> authorized_keys,然后执行scp authorized_keys root@<第三台主机用户名>:~/.ssh
    • 在第三台虚拟机中执行cat id_rsa.pub >> authorized_keys,然后执行scp authorized_keys root@<第一台主机用户名>:~/.sshscp authorized_keys root@<第二台主机用户名>:~/.ssh
  3. 完成以上操作后,分别重启 ssh 服务。
    /etc/init.d/ssh restart

配置xsync

  1. 三台虚拟机上分别下载 rsync
    sudo apt-get install rsync
  2. 在主节点中进入/usr/local/bin文件夹,编辑 xsync 文件。xsync脚本内容如下:(需要修改#5 循环中的host值和主机名)
    例如: 三台机器用户名为hadoop-1hadoop-2hadoop-3,主节点为hadoop-1,则主机名改为hadoop-,for循环中改为(host=2;host<4;host++)
#!/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=xxx; host<xxx; host++)); do
echo -------<主机名>$host -----------------------
rsync -rvl $pdir/$fname  $user@<主机名>$host:$pdir
done
  1. 修改 xsync 文件权限。
    chmod +x xsync
  2. 测试,并到子节点对应目录检查。
    xsync 文件(夹)名
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值