此页面上的内容需要较新版本的 Adobe Flash Player。

获取 Adobe Flash Player

您现在的位置: 智可网 - 新技术 - Hadoop - 正文
Hadoop2.0 NN HA(1)
教程录入:李隆权    责任编辑:quan 作者:佚名 文章来源:linuxidc

1.关于Hadoop2.2.0中HA的介绍

Hadoop2.0 NN HA实验记录

NameNode 简称: NN
DateNode 简称: DN
JournalNode  简称: JN
Zookeeper  简称: ZK

从上面的图里,我们可以知道HA的大致架构:

01.利用共享存储来在两个NN之间同步元数据信息。

在NN中有两个重要的文件:一个是fsimage,一个是edits,其中fsimage指的是元数据镜像文件,存在磁盘中用来保持文件系统的目录树,然而edits指的是元数据操作日志,针对目录树的修改操作,被写入共享存储系统中,例如DFS,JournalNode。同时元数据镜像文件在内存中保存一份最新的,然后Standby NameNode定期的合并fsimage和edits。

02.DataNode同时向两个NN汇报块信息。

这是让Standby NN 保持集群最新状态的必要步骤。

03.用于监视和控制NN进程采用了FailoverControllerActive进程。

2.实验环境搭建和准备

01.前提是要有一个能手动切换主备NN的集群,如果没有,可以到 http://www.linuxidc.com/Linux/2014-09/106289.htm  中去学习如何搭建一个集群。

02.本次实验环境是Ubuntu12.04.4版本的虚拟机4台 :

分别取名为SY-0217 SY-0355 SY-0225 SY-0226 的一个Hadoop集群;

其中 SY-0217 SY-0355 为主备NameNode;

并且 SY-0355 SY-0225 SY-0226 为JouranlNode 。

03.下载Zookeeper并安装

下载地址:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.5/ 并把它放到虚拟机的Desktop上。

这下在zookeeper-3.4.5是用于的测试。 最好采用zookeeper-3.4.6因为它做了大量的 bug 修复和功能增强

下载完成后用 解压命令解压: sudo tar -xzvf  Dsektop/zookeeper-3.4.5

同时把SY-0217 SY-0355 SY-0225 都安装好zookeeper-3.4.5 (最好是奇数个 原因是zookeeper有这样一个特性:集群中只要有过半的机器是正常工作的,那么整个集群对外就是可用的。也就是说如果有2个zookeeper,那么只要有1个死了zookeeper就不能用了,因为1没有过半,所以2个zookeeper的死亡容忍度为0;同理,要是有3个zookeeper,一个死了,还剩下2个正常的,过半了,所以3个zookeeper的容忍度为1。总之zookeeper的容忍度决定zookeeper的个数)

3.Zookeeper的配置文件的修改

01.进入zookeeper中的conf目录:

拷贝zoo_sample.cfg为并重新命名为zoo.cfg

编辑zoo.cfg文件把下面的添加进去

dataDir=/home/kkzhangtao/zookeeper-3.4.5/zookeeper
dataLogDir=/home/kkzhangtao/zookeeper-3.4.5/zookeeperlog
server.1=SY-0217:2888:3888
server.2=SY-0355:2888:3888
server.3=SY-0225:2888:3888

这文件里面的配置 解释如下:

dataDir指的是存储内存中数据库快照的位置;

dataLogDir指的是将管理机器的事务日志写到“dataLogDir”所指定的目录;

server.1=SY-0217:2888:3888指的是不同的Zookeeper服务器的自身标识,用户可以从中读取相关信息;其中那个的SY-0217指的是组成Zookeeper服务的机器主机名,2888是为用来进行leader选举的端口,3888是为组成Zookeeper服务的机器之间通信的端口。

02.创建zookeeper和zookeeperlog两个文件夹

在zookeeper的目录中,创建上述的两个文件夹。进入zookeeper文件夹,创建文件myid,里面填写1。这里写入的1,是在zoo.cfg文本中的server.1中的1。(这里的数字是为了区别不同的zookerper)当我们把所有的文件配置完成了,分别拷贝到各个节点上去,但是要把zookpeeper文件夹中的myid改为zoo.cfg配置文件中对应的数字。zookeeperlog文件夹,是为了指定zookeeper产生日志指定相应的路径。

03.修改环境变量

在本机的环境变量中添加  进入/etc/profile目录中去 用vi命令 把如下的添加进去

export ZOOKEEPER_HOME=/home/kkzhangtao/zookeeper-3.4.5
export PATH=$PATH:$ZOOKEEPER_HOME/bin

然后在终端 source /etc/profile (其他安装了zookeeper的机器都要进入如上的配置)

分享
打赏我
打开支付宝"扫一扫" 打开微信"扫一扫"
客户端
"扫一扫"下载智可网App
意见反馈
Hadoop2.0 NN HA(1)
作者:佚名 来源:linuxidc

1.关于Hadoop2.2.0中HA的介绍

Hadoop2.0 NN HA实验记录

NameNode 简称: NN
DateNode 简称: DN
JournalNode  简称: JN
Zookeeper  简称: ZK

从上面的图里,我们可以知道HA的大致架构:

01.利用共享存储来在两个NN之间同步元数据信息。

在NN中有两个重要的文件:一个是fsimage,一个是edits,其中fsimage指的是元数据镜像文件,存在磁盘中用来保持文件系统的目录树,然而edits指的是元数据操作日志,针对目录树的修改操作,被写入共享存储系统中,例如DFS,JournalNode。同时元数据镜像文件在内存中保存一份最新的,然后Standby NameNode定期的合并fsimage和edits。

02.DataNode同时向两个NN汇报块信息。

这是让Standby NN 保持集群最新状态的必要步骤。

03.用于监视和控制NN进程采用了FailoverControllerActive进程。

2.实验环境搭建和准备

01.前提是要有一个能手动切换主备NN的集群,如果没有,可以到 http://www.linuxidc.com/Linux/2014-09/106289.htm  中去学习如何搭建一个集群。

02.本次实验环境是Ubuntu12.04.4版本的虚拟机4台 :

分别取名为SY-0217 SY-0355 SY-0225 SY-0226 的一个Hadoop集群;

其中 SY-0217 SY-0355 为主备NameNode;

并且 SY-0355 SY-0225 SY-0226 为JouranlNode 。

03.下载Zookeeper并安装

下载地址:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.5/ 并把它放到虚拟机的Desktop上。

这下在zookeeper-3.4.5是用于的测试。 最好采用zookeeper-3.4.6因为它做了大量的 bug 修复和功能增强

下载完成后用 解压命令解压: sudo tar -xzvf  Dsektop/zookeeper-3.4.5

同时把SY-0217 SY-0355 SY-0225 都安装好zookeeper-3.4.5 (最好是奇数个 原因是zookeeper有这样一个特性:集群中只要有过半的机器是正常工作的,那么整个集群对外就是可用的。也就是说如果有2个zookeeper,那么只要有1个死了zookeeper就不能用了,因为1没有过半,所以2个zookeeper的死亡容忍度为0;同理,要是有3个zookeeper,一个死了,还剩下2个正常的,过半了,所以3个zookeeper的容忍度为1。总之zookeeper的容忍度决定zookeeper的个数)

3.Zookeeper的配置文件的修改

01.进入zookeeper中的conf目录:

拷贝zoo_sample.cfg为并重新命名为zoo.cfg

编辑zoo.cfg文件把下面的添加进去

dataDir=/home/kkzhangtao/zookeeper-3.4.5/zookeeper
dataLogDir=/home/kkzhangtao/zookeeper-3.4.5/zookeeperlog
server.1=SY-0217:2888:3888
server.2=SY-0355:2888:3888
server.3=SY-0225:2888:3888

这文件里面的配置 解释如下:

dataDir指的是存储内存中数据库快照的位置;

dataLogDir指的是将管理机器的事务日志写到“dataLogDir”所指定的目录;

server.1=SY-0217:2888:3888指的是不同的Zookeeper服务器的自身标识,用户可以从中读取相关信息;其中那个的SY-0217指的是组成Zookeeper服务的机器主机名,2888是为用来进行leader选举的端口,3888是为组成Zookeeper服务的机器之间通信的端口。

02.创建zookeeper和zookeeperlog两个文件夹

在zookeeper的目录中,创建上述的两个文件夹。进入zookeeper文件夹,创建文件myid,里面填写1。这里写入的1,是在zoo.cfg文本中的server.1中的1。(这里的数字是为了区别不同的zookerper)当我们把所有的文件配置完成了,分别拷贝到各个节点上去,但是要把zookpeeper文件夹中的myid改为zoo.cfg配置文件中对应的数字。zookeeperlog文件夹,是为了指定zookeeper产生日志指定相应的路径。

03.修改环境变量

在本机的环境变量中添加  进入/etc/profile目录中去 用vi命令 把如下的添加进去

export ZOOKEEPER_HOME=/home/kkzhangtao/zookeeper-3.4.5
export PATH=$PATH:$ZOOKEEPER_HOME/bin

然后在终端 source /etc/profile (其他安装了zookeeper的机器都要进入如上的配置)