实验目标:部署一个小型的HDFS HA(NameNode HA)分布式高可用集群 ,用于教学演示
环境要求: 虚拟机VirtualBox 操作系统 Centos7
hadoop版本 hadoop-2.6.0-cdh5.7.0 ZooKeeper版本 zookeeper-3.4.5-cdh5.7.0.tar.gz
前提实验:本实验紧接ZooKeeper集群部署实验,在Zookeeper实验完成的基础上继续进行HDFS HA(NameNode HA)部署演示
集群规划:
实验步骤:
1)从ZooKeeper集群中的master主机复制一台新虚拟机,必须关机才能复制, 完成后启动新虚拟机
2)在新建虚拟机自带界面登陆, 通过配置文件修改虚拟机IP地址为192.168.56.9
配置文件位置/etc/sysconfig/network-scripts/ifcfg-enp0s8,文件名和网络接口名称对应, 然后service network restart重启网络接口
3)用XSHELL远程登录新虚拟机,请注意VirtualBox主机网络管理器的虚拟网卡IP地址必须和CentOS一个网段
4)修改新建虚拟机的hostname
vi /etc/hostname 主机名修改为standby
新建虚拟机的主机名修改为standby ,修改后把当前的XSHELL登录会话重新连接一下,终端显示的主机名才会改变
5)依次修改standy,master,slave1,slave2的hosts文件
先在master主机的终端执行 vi /etc/hosts 修改hosts文件,前两行必须保留不要修改,删除掉多余的行,新增加5行
192.168.56.9 standby
192.168.56.10 master
192.168.56.11 slave1
192.168.56.12 slave2
再依次执行远程拷贝命令将zoo.cfg复制到另外3台主机:
scp /etc/hosts root@standby:/etc/
scp /etc/hosts root@slave1:/etc/
scp /etc/hosts root@slave2:/etc/
6)测试standy,master,slave1,slave2这4台主机之间的免密登陆,免密登录成功后,必须输入exit退出并返回原会话,以免搞混
7)创建jounalNode存放共享存储的目录
依次在master, slave1, slave2这三台主机创建目录:
先切换到/root/hdfs 目录 cd /root/hdfs
再执行命令mkdir journal 创建子目录/root/hdfs/journal
路径/root/hdfs/journal和配置文件hdfs-site.xml中的dfs.journalnode.edits.dir参数值相同
8)修改master主机的slave文件
先在master的主机终端执行 cd /usr/local/hadoop-2.6.0-cdh5.7.0/etc/hadoop/ 切换到slaves文件所在目录
vi slaves 修改slaves 文件,删除文件所有内容,重新添加3行:
master
slave1
slave2
9)修改配置文件core-site.xml
先在master