大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI 原创
点一下关注吧!!!非常感谢!!持续更新!!!
目前已经更新到了:
- Hadoop(正在更新)
章节内容
上一节完成:
- HOSTS 配置(非常重要!坑多!)
- ROOT权限开启(重要)
- SSH KEY 生成
- SSH 三台云服务器 免登陆
- 分发脚本编写和测试
背景介绍
这里是三台公网云服务器,每台 2C4G,搭建一个Hadoop的学习环境,供我学习。
之前已经在 VM 虚拟机上搭建过一次,但是没留下笔记,这次趁着前几天薅羊毛的3台机器,赶紧尝试在公网上搭建体验一下。
注意,如果你和我一样,打算用公网部署,那一定要做好防火墙策略,避免不必要的麻烦!!!
请大家都以学习为目的,也请不要对我的服务进行嗅探或者攻击!!!
但是有一台公网服务器我还运行着别的服务,比如前几天发的:autodl-keeper 自己写的小工具,防止AutoDL机器过期的。还跑着别的Web服务,所以只能挤出一台 2C2G 的机器。那我的配置如下了:
- 2C4G 编号 h121
- 2C4G 编号 h122
- 2C2G 编号 h123
请确保上一节内容全部完毕和跑通!!!
基本介绍
HDFS(Hadoop Distributed File System): HDFS 是 Hadoop 的分布式文件系统,它允许集群中的所有节点存储数据并通过文件系统进行访问。HDFS 将数据拆分成多个数据块,并在不同节点上进行冗余存储以确保数据安全和可用性。当一个节点出现故障时,HDFS 会从其他节点的副本中恢复数据,保证数据的持久性。
YARN(Yet Another Resource Negotiator): YARN 是 Hadoop 的资源管理系统,负责集群中计算资源的分配和调度。它会根据应用程序的需求,在集群中分配适当的计算资源(如 CPU 和内存),并监控这些资源的使用情况。YARN 的出现让 Hadoop 支持多种不同类型的工作负载,不再局限于 MapReduce。
MapReduce: 这是 Hadoop 中的一种计算模型,用于大规模数据集的并行处理。MapReduce 将数据处理分为两个阶段:Map 阶段和 Reduce 阶段。Map 阶段负责将输入数据分割成小块并进行并行处理,Reduce 阶段则负责聚合 Map 阶段的输出结果。这个模型特别适合处理大量的非结构化数据,如日志文件、网页抓取数据等。
集群架构: Hadoop 集群通常由主节点(Master)和多个从节点(Worker)组成。主节点负责管理集群中的资源和任务调度,而从节点则负责实际的数据存储和计算任务的执行。主节点通常运行 NameNode(HDFS 的主控节点)和 ResourceManager(YARN 的主控节点),而从节点运行 DataNode(HDFS 的存储节点)和 NodeManager(YARN 的资源管理节点)。
高可用性和容错机制: Hadoop 集群具有很强的容错能力。当某个节点出现故障时,集群可以继续正常工作,不会影响数据的完整性和任务的完成。HDFS 通过数据块的冗余存储(通常是每个数据块有 3 个副本)来保证数据的可靠性。YARN 也通过监控节点的状态,确保计算任务的高可用性。
扩展性: Hadoop 集群具有很好的水平扩展能力。随着数据量的增加,可以通过增加更多的从节点来提升集群的存储和计算能力,而不会影响现有集群的性能。这使得 Hadoop 成为处理大规模数据集的理想选择。
生态系统: Hadoop 作为大数据技术的基础,拥有丰富的生态系统,包括 Hive(数据仓库工具)、HBase(NoSQL 数据库)、Spark(内存计算框架)、Pig(数据流语言)、Flume 和 Kafka(数据收集工具)、Oozie(工作流调度)等。这些工具可以与 Hadoop 无缝集成,帮助用户更好地处理和分析数据。
Hadoop 分发
我们之前只配置 h121
节点的内容,但是h122
和h123
机器上还没有环境。
需要借助我们上节的工具来完成一键分发。
rsync-script /opt/servers/hadoop-2.9.2
注意!!!这里只是分发过去了,但是 JAVA_HOME 和 HADOOP_HOME 环境变量等内容还是需要自己配置的!!!
注意!!!这里只是分发过去了,但是 JAVA_HOME 和 HADOOP_HOME 环境变量等内容还是需要自己配置的!!!
注意!!!这里只是分发过去了,但是 JAVA_HOME 和 HADOOP_HOME 环境变量等内容还是需要自己配置的!!!
单机启动
确保之前的所有内容都可以跑通,那么激动人心的时刻来了!!!
节点分配
这里需要再放一次节点的分配图,方便大家查看:
目前 登录到 h121
节点上。
初始格式化
NameNode
节点初始化,别的机器不需要执行
这步是必须的!!!
这步是必须的!!!
这步是必须的!!!
hadoop namenode -format
等待一会儿之后,如果出现如图的内容,那代表你已经顺利格式化
可以看到,控制台中给我们的路径:
/opt/servers/hadoop-2.9.2/data/tmp/dfs/name
可以查看一下当前初始化的结果:
cd /opt/servers/hadoop-2.9.2/data/tmp/dfs/name
ls
NameNode
启动最关键的节点 NameNode
:
hadoop-daemon.sh start namenode
jps
DataNode
h121
和h122
和h123
都启动 DataNode
hadoop-daemon.sh start datanode
jps
h121
h122
h123
访问服务
顺利启动后,我们查看WEB UI界面
http://h121.wzk.icu:50070/dfshealth.html#tab-overview
查看 DataNode
可以看到
Yarn启动
节点分配
我们需要启动
- Node Manager
- ResourceManager
h121启动
yarn-daemon.sh start nodemanager
jps
h122 启动
yarn-daemon.sh start nodemanager
jps
h123 启动
yarn-daemon.sh start nodemanager
yarn-daemon.sh start resourcemanager
访问服务
http://h123.wzk.icu:8088/cluster
集群启动
如果你已经走到了这里,真的挺不容易的!恭喜你!一切顺利!
单节点启动后,就不需要再对 NameNode 进行格式化了,先停止之前节点的服务。
停止服务
需要在 h121 h122 h123 上都执行一次!!!
需要在 h121 h122 h123 上都执行一次!!!
需要在 h121 h122 h123 上都执行一次!!!
hadoop-daemon.sh stop datanode
hadoop-daemon.sh stop namenode
yarn-daemon.sh stop nodemanager
yarn-daemon.sh stop resourcemanager
HDFS集群
在h121集群上进行执行!
start-dfs.sh
h121
h122
h123
Yarn集群
在h123集群上进行执行!
注意:
NameNode 和 ResourceManager 不在同一个机器上,不能在 NameNode 节点上启动 Yarn,应该在ResourceManager上启动。
start-yarn.sh
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)