博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hadoop 2.2.0 HA构造
阅读量:6722 次
发布时间:2019-06-25

本文共 4605 字,大约阅读时间需要 15 分钟。

在这篇文章中《》介绍hadoop 2.2.0最主要的配置。hadoop 2.2.0中提供了HA的功能,本文在前文的基础上介绍hadoop 2.2.0HA的配置。

说明:

下文中的两台namenode机器名各自是namenode1和namenode2.当中namenode1为active node。namenode2为standby namenode。

journalnode机器有三台(注意:至少为三台)。各自是journalnode1,journalnode2,journalnode3。(journalnode的机器的数量能够是3,5,7...)

另外,注意保持两台namenode的一致性,大部分在namenode1上进行的操作,也要在namenode2上进行一遍。

配置文件

core-site.xml和hdfs-site.xml的相关配置例如以下:

1、core-site.xml

fs.defaultFS
hdfs://mycluster
hadoop.tmp.dir
/tmp/hadoop2.2.0
2、hdfs-site.xml

dfs.replication
1
dfs.namenode.name.dir
/dfs/name
dfs.datanode.data.dir
/dfs/data
dfs.permissions
false
dfs.nameservices
mycluster
dfs.ha.namenodes.mycluster
nn1,nn2
dfs.namenode.rpc-address.mycluster.nn1
namenode1:8020
dfs.namenode.rpc-address.mycluster.nn2
namenode2:8020
dfs.namenode.http-address.mycluster.nn1
namenode1:50070
dfs.namenode.http-address.mycluster.nn2
namenode2:50070
dfs.namenode.shared.edits.dir
qjournal://journalnode1:8485;journalnode2:8485;journalnode3:8485/mycluster
dfs.journalnode.edits.dir
/home/dfs/journal
dfs.client.failover.proxy.provider.mycluster
org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
dfs.ha.fencing.methods
sshfence
dfs.ha.fencing.ssh.private-key-files
/home/root/.ssh/id_rsa
dfs.ha.fencing.ssh.connect-timeout
6000
dfs.ha.automatic-failover.enabled
false
重新启动使配置生效。

启动过程:

1、在journalnode机器上启动journalnode

sbin/hadoop-daemon.sh start journalnode
2、在namenode机器上启动namenode(这里假定namenode1为active。namenode2为standby)

a)假设是首次启动,在namenode1上执行format命令:

bin/hadoop namenode -format
b)假设是非首次启动,则在namenode1上执行下面命令
bin/hdfs namenode  -initializeSharedEdits
c)在namenode1上启动namenode:

sbin/hadoop-daemon.sh start namenode
d)在namenode2上执行下面命令:

sbin/hadoop-daemon.sh start  namenode -bootstrapStandby
假设失败的话。直接把namenode1的dfs.namenode.name.dir文件夹的数据直接复制到namenode2的dfs.namenode.name.dir文件夹。

然后在namenode2上启动namenode:

sbin/hadoop-daemon.sh start namenode
如今,namenode1和namenode2都启动了,都是“standby”状态。

e)在namenode1上执行命令:

bin/hdfs haadmin -transitionToActive nn1
这样,namenode1的状态就变成了“active”。

3、在datanode机器上启动datanode

sbin/hadoop-daemon.sh start datanode
到此时,hadoop2.0的HDFS就能够正常使用了,而且HA功能已经可用。

检查

能够通过下面页面查看active namenode(namenode1)和 standby namenode(namenode2)的状态

http://namenode1:50070/dfshealth.jsp

http://namenode2:50070/dfshealth.jsp

另外,能够执行经常使用的HDFS shell命令測试HDFS是否正常。

HA的failover測试

停掉namenode1的namenode(模拟namenode1挂掉),这时会发现hdfs不能用了。

在namenode2上执行下面命令:

bin/hdfs haadmin -transitionToActive nn2
执行命令成功后,namenode2的状态就变成“active”,这时 HDFS 恢复正常。

在namenode1上执行一下命令做主从切换命令:

bin/hdfs haadmin -failover nn1 nn2
此时namenode2的状态就变成“active”,而namenode1的状态变成“standby”。

转载请注明出处:

版权声明:本文博主原创文章,博客,未经同意不得转载。

你可能感兴趣的文章
tomcat的安装过程
查看>>
python3 Django 报错RuntimeWarning的解决办法
查看>>
【转】sql server 重命名表字段
查看>>
sql server 2008学习之存储过程
查看>>
Linux 硬盘分区、格式化、自动挂载配置
查看>>
Linux下mysql的安装与mysql一机多实例
查看>>
could not open virtual machine
查看>>
wordpress 3.8.1更改上传附件或图片大小限制
查看>>
IIS FTP 出现 530 User cannot log in, home Directory Inaccessible 错误
查看>>
DM6467T开发板领航——串口烧写程序
查看>>
微软谷歌推自有平板 挑战苹果难度大
查看>>
PHP中SQL注入与跨站***的防范
查看>>
Java中的异常处理
查看>>
egret--列表组件(list)
查看>>
mysql总结8----游标的学习
查看>>
java操作cookie的学习
查看>>
用sql语句对access数据库进行多条件查询
查看>>
Eclipse常用设置及快捷键
查看>>
DotNetTextBox V3.0 所见即所得编辑器控件Ver3.3.2 Free(免费版)
查看>>
php操作ini配置文件
查看>>