前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hadoop学习11--Ha集群配置启动

Hadoop学习11--Ha集群配置启动

作者头像
小端
发布2018-04-16 10:53:23
8640
发布2018-04-16 10:53:23
举报
文章被收录于专栏:java架构师java架构师

理论知识:

http://www.tuicool.com/articles/jameeqm

这篇文章讲的非常详细了:

http://www.tuicool.com/articles/jameeqm

以下是进阶,讲QJM工作原理:

http://www.tuicool.com/articles/eIBB3a

 首次启动ha集群过程:

hdfs zkfc -formatZK(这个之前落下了,很重要,如果不注册到zookeeper,那么等于hdfs和zookeeper没产生任何关系)

1、启动journalnode

sbin/hadoop-daemon.sh start journalnode  是每一台journode机器

2、启动namenode 

1)格式化bin/hdfs namenode -format

2)启动这个namenode : sbin/hadoop-daemon.sh start namenode

3)格式化另一台namonode  bin/hdfs namenode -bootstrapStandby :注意2-3步骤的顺序,使用时,我犯了个错误,把顺序颠倒了,结果,第二台namenode的tem.dir目录一直没有任何文件。

4)启动第二台namenode:sbin/hadoop-daemon.sh start namenode

 3、到了这一步对于新手来说有个陷阱。我们在学习的时候,都知道两台namenode一台是active,一台是standby。可是此刻,两台都是standby。

还以为是出了问题,后来终于发现,这里是需要【手动转换】的!

bin/hdfs haadmin -transitionToActive nn1

此时,可以通过之前配置的http地址访问集群了。

http://master:50070

tip:关闭防火墙:sudo ufw disable

4、启动datanode

逐台 sbin/hadoop-daemon start datanode

---------结束

把非Ha集群,转换为Ha集群:(和上面的首次相比,只是步骤二由格式化变成了初始化)

1、启动所有journalnode

sbin/hadoop-daemon start journalnode

2、在其中一台namenode上对journalnode的共享数据进行初始化

bin/hdfs namenode  -initializeShareEdits

3、启动这台namenode

sbin/hadoop-daemon start namenode

4、在第二台namenode上同步:

bin/hdfs namenode -bootstrapStandby

5、启动第二台namenode

6、启动所有的datanode

------------结束

一些常用的管理集群的命令:

bin/hdfs haadmin -getServiceStae nn1

bin/hdfs haadmin -failover nn1 nn2

bin/hdfs haadmin transitionActive nn1(不常使用,因为不会运行fence,无法关闭前一个namenode造成脑裂)

bin/hdfs haadmin transitionStandby nn2(不常使用,因为不会运行fence,无法关闭前一个namenode造成脑裂)

bin/hdfs haadmin checkHealth nn2

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-04-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档