大数据基础环境之同步基础环境(3台虚拟机)

大数据基础环境的同步配置

实验步骤

1.修改主机名

  本次集群搭建共有三个节点,包括一个主节点master,和两个从节点slave1和slave2。
1.以主机点master为例,首次切换到root用户:su
2.分别修改三台主机名为master,slave1,slave2:

  • hostnamectl set-hostname master
  • hostnamectl set-hostname slave1
  • hostnamectl set-hostname slave2
  •  

大数据基础环境之同步基础环境(3台虚拟机)

3.永久修改主机名,编辑/etc/sysconfig/network文件,内容如下:
在master的network文件中加入以下内容:

NETWORKING=yes

HOSTNAME=master

在slave1的network中加入以下内容:

NETWORKING=yes

HOSTNAME=slave1

在slave1的network中加入以下内容:

NETWORKING=yes

HOSTNAME=slave2

大数据基础环境之同步基础环境(3台虚拟机)

 

  注意保存退出。

4.保存该文件,重启计算机:reboot
5.查看是否生效:hostname

大数据基础环境之同步基础环境(3台虚拟机)

 

2.配置host文件

  使各个节点能使用对应的节点主机名连接对应的地址。
hosts文件主要用于确定每个结点的IP地址,方便后续各结点能快速查到并访问。在上述3个虚机结点上均需要配置此文件。由于需要确定每个结点的IP地址,所以在配置hosts文件之前需要先查看当前虚机结点的IP地址是多少.
1.可以通过ifconfig命令进行查看。

大数据基础环境之同步基础环境(3台虚拟机)

 

2.查看节点地址之后将三个节点的ip地址以及其对应的名称写进hosts文件。这里我们设置为master、slave1、slave2。注意保存退出。

大数据基础环境之同步基础环境(3台虚拟机)

 

3.关闭防火墙

centos7中防火墙命令用firewalld取代了iptables,当其状态是dead时,即防火墙关闭。

  • 关闭防火墙:systemctl stop firewalld
  • 查看状态:systemctl status firewalld大数据基础环境之同步基础环境(3台虚拟机)

 

4.时间同步

1. 首先在时间同步之前确认是否有网络连接,如果没有网络只需要在每台机器上都输入 date -s 10:00 就可以将所有机器时间同步到10:00了,但是在有网络的情况下就可以执行下面的这种时间同步的方法:
时区一致。要保证设置主机时间准确,每台机器时区必须一致。实验中我们需要同步网络时间,因此要首先选择一样的时区。先确保时区一样,否则同步以后时间也是有时区差。
可以使用date查看自己的机器时间。

大数据基础环境之同步基础环境(3台虚拟机)

2.选择时区:tzselect

大数据基础环境之同步基础环境(3台虚拟机)

  由于hadoop集群对时间要求很高,所以集群内主机要经常同步。我们使用ntp进行时间同步,master作为ntp服务器,其余的当做ntp客户端。
3.下载ntp(三台机器)

  • yum install –y ntp

大数据基础环境之同步基础环境(3台虚拟机)

4.master作为ntp服务器,修改ntp配置文件。(master上执行)

  • vi /etc/ntp.conf

server  127.127.1.0               # local clock

fudge   127.127.1.0   stratum 10   #stratum设置为其它值也是可以的,其范围为0~15

大数据基础环境之同步基础环境(3台虚拟机)

  重启ntp服务。

  • /bin/systemctl restart ntpd.service

5. 其他机器同步(slave1,slave2)
等待大概五分钟,再到其他机上同步该机器时间。

  • ntpdate master

大数据基础环境之同步基础环境(3台虚拟机)

5.配置ssh免密

SSH主要通过RSA算法来产生公钥与私钥,在数据传输过程中对数据进行加密来保障数据的安全性和可靠性,公钥部分是公共部分,网络上任一结点均可以访问,私钥主要用于对数据进行加密,以防他人盗取数据。总而言之,这是一种非对称算法,想要**还是非常有难度的。Hadoop集群的各个结点之间需要进行数据的访问,被访问的结点对于访问用户结点的可靠性必须进行验证,hadoop采用的是ssh的方法通过**验证及数据加解密的方式进行远程安全登录操作,当然,如果hadoop对每个结点的访问均需要进行验证,其效率将会大大降低,所以才需要配置SSH免密码的方法直接远程连入被访问结点,这样将大大提高访问效率。
1. 每个结点分别产生公私**:

  • ssh-****** -t dsa -P '' -f ~/.ssh/id_dsa(三台机器)

  秘钥产生目录在用户主目录下的.ssh目录中,进入相应目录查看:cd .ssh/

大数据基础环境之同步基础环境(3台虚拟机)

2.Id_dsa.pub为公钥,id_dsa为私钥,紧接着将公钥文件复制成authorized_keys文件:(仅在master机器上操作)

  • cat id_dsa.pub >> authorized_keys(注意在.ssh/路径下操作)

大数据基础环境之同步基础环境(3台虚拟机)

  在主机上连接自己,也叫做ssh内回环。

  • ssh master

大数据基础环境之同步基础环境(3台虚拟机)

2.让主结点master能通过SSH免密码登录两个子结点slave。(分别在slave1和slave2中操作)
  为了实现这个功能,两个slave结点的公钥文件中必须要包含主结点的公钥信息,这样
  当master就可以顺利安全地访问这两个slave结点了。
slave1结点通过scp命令远程登录master结点,并复制master的公钥文件到当前的目录下,且重命名为master_dsa.pub,这一过程需要密码验证。
首先需要分别打开slave1节点和slave2节点的 .ssh文件夹:

  • cd .ssh
  • scp master:~/.ssh/id_dsa.pub ./master_das.pub

大数据基础环境之同步基础环境(3台虚拟机)

  将master结点的公钥文件追加至authorized_keys文件。

  • cat master_dsa.pub >> authorized_keys

大数据基础环境之同步基础环境(3台虚拟机)

  这时,master就可以连接slave1了。

大数据基础环境之同步基础环境(3台虚拟机)

 slave1结点首次连接时需要,“yes”确认连接,这意味着master结点连接slave1结点时需要人工询问,无法自动连接,输入yes后成功接入,紧接着注销退出至master结点。

  同理slave2中也是这么操作。

  注意:两个结点的ssh免密码登录已经配置成功,还需要对主结点master也要进行上面的同样工作,因为jobtracker有可能会分布在其它结点上,jobtracker有不存在master结点上的可能性。在上一步骤中,我们已经进行过此操作,这里仅做提醒,后序环境,会持续更新,敬请关注。