理论知识:
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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述