目录
1.集群架构
本次实例共使用三台虚拟机,搭建基于zookeeper的Hadoop高可用集群
虚拟机的任务分配如下:
以下各进程的功能在后续安装时会有详细介绍
进程/服务器 | hadoop1 | hadoop2 | hadoop3 |
NameNode (HDFS) | 1 | 1 | |
DataNode (HDFS) | 1 | 1 | 1 |
ResourceMannger (Yarn) | 1 | ||
NodeMannger (Yarn) | 1 | 1 | 1 |
QuorumPeerMain (Zookeeper) | 1 | 1 | 1 |
JournalManager (HDFS) | 1 | 1 | 1 |
ZKFailoverController (Zookeeper) | 1 | 1 |
2.目录准备
首先在hadoop1的根目录下创建文件夹
data:存放数据
servers:存放软件(服务)
software:存放软件的安装包
3.生成hadoop2和hadoop3
我们对hadoop1进行复制 后续对其ip地址和主机名进行修改即可
这里对hadoop2和hadoop3的操作是一致的,把hadoop2的操作写出来,hadoop3的操作便不再赘述。
先对hadoop1进行克隆,克隆之前千万保证hadoop1处于关机状态
不要把多台虚拟机放在同个路径下
克隆完成后打开虚拟机,修改ip的配置文件(文件路径在前面配置网络时提到过)
只修改一项ip地址即可
重启虚拟机的网络服务后,使用本地物理机ping该ip地址
测试成功
然后使用secureCRT连接该虚拟机
修改主机名
之后在hadoop3中进行同样的操作即可,ip地址不能相同 为192.168.173.143即可
4.建立三台虚拟机之间和本地Windows主机间的映射关系
在本地的C:\Windows\System32\drivers\etc路径下添加如下内容即可
这样三台虚拟机与物理主机的映射关系就建立完毕
测试
三台主机间虚拟关系的建立
vi /etc/hosts
将文件内容修改为如下内容
测试
通过scp命令 将该文件发送到hadoop2和hadoop3上
之后我们分别在hadoop2和hadoop3上通过ping命令进行测试,经过测试发现三台虚拟机的映射关系已经建立
5.三台虚拟机之间SSH免密交流
刚才采用scp互传文件时每次都需要输入一遍密码,这样很麻烦,因此我们给他们建立免密登录
原理
在hadoop1中
我们进入该文件夹路径下,输入如下代码
ssh-keygen -t rsa
使用rsa算法生成 密钥
之后我们将密钥文件发送到三台虚拟机上(包括自己)
包括自己
命令:ssh-copy-id hadoop1(虚拟机名)
之后我们根据提示信息尝试ssh免密登录其他虚拟机
测试成功
之后我们在hadoop2和hadoop3中进行同样的操作,这里不再赘述,如此我们便完成了三台虚拟机之间的免密登录