第四周
本周的核心学*任务是 Hadoop 框架的完全分布式集群搭建与 HDFS 分布式文件系统的原理学*,这是大数据技术板块的核心基础,也是整个暑假学*中实操难度较高的部分,经过反复调试最终顺利完成了集群部署。
环境准备阶段,我在 VMware 虚拟机上搭建了三台 CentOS 7 虚拟机节点,分别命名为 hadoop101、hadoop102、hadoop103,为每台节点分配了 2G 内存与 2 核 CPU。我逐一完成了三台节点的基础环境配置,包括修改主机名、配置 hosts 主机名映射、关闭防火墙与 SELinux、配置静态 IP 地址、同步系统时间,确保三台节点网络互通且环境一致。随后我完成了 SSH 免密登录的配置,在主节点 hadoop101 上通过 ssh-keygen 生成非对称密钥对,通过 ssh-copy-id 命令将公钥分发到三台节点,实现了主节点到所有从节点的无密码访问,为后续集群一键启动打下基础。
Hadoop 安装部署方面,我选择了 Hadoop 3.3.1 版本,学*了 Hadoop 的三种安装模式,最终按照生产环境标准配置完全分布式模式。我逐一编写了 core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml 四大核心配置文件,配置了默认文件系统地址、数据存储目录、副本数量、运行框架等参数,配置了 workers 文件指定从节点地址。完成配置后执行了 HDFS 格式化命令,通过 start-dfs.sh 脚本一键启动集群,使用 jps 命令验证了 NameNode、DataNode、SecondaryNameNode 进程全部正常启动。
理论学*上,我深入学*了 HDFS 分布式文件系统的核心概念,理解了数据块的设计原理与默认大小,理清了 NameNode、DataNode、SecondaryNameNode 三大组件的职责与工作机制,学*了镜像文件 FsImage 与编辑日志 EditLog 的作用。同时我熟练掌握了 HDFS 的常用命令行操作,包括文件上传、下载、查看、删除、创建目录等操作,对集群安全模式的触发场景与操作命令、HDFS-HA 高可用工作机制做了初步了解。
本周总学*时长约 48 小时,平均每天学** 7 小时。其中集群搭建与命令实操时间约 22 小时,主要用于虚拟机环境配置、Hadoop 部署调试与 HDFS 命令练*;问题排查与解决时间约 12 小时,剩余 14 小时用于大数据生态体系学*与原理知识梳理。
下周我将学* YARN 资源调度框架的核心概念与工作机制,正式开启 MapReduce 编程的学*,完成 WordCount 经典案例与天气案例的编写与运行。同时我会抽出固定时间回顾 Java Web 知识点,避免长时间搁置出现遗忘。
本周遇到的问题几乎都集中在集群搭建阶段。第一个问题是三台虚拟机之间网络不通,无法互相 ping 通,经过排查网卡配置、网关设置与宿主机防火墙,最终将网络模式调整为 NAT 模式并统一配置了同网段静态 IP,解决了网络互通问题。第二个问题是 HDFS 启动后从节点的 DataNode 进程始终缺失,查看日志后发现是因为多次执行格式化命令导致 NameNode 与 DataNode 的 clusterID 不一致,我删除了所有节点的 data 数据目录与 logs 日志目录,重新执行格式化后启动集群,所有进程正常运行。第三个问题是集群启动后自动进入安全模式,无法执行文件写入操作,我通过 hdfs dfsadmin -safemode get 查看了安全模式状态,了解到集群启动时会自动进入安全模式进行数据校验,等待集群稳定后会自动退出,也可以通过命令强制退出。目前我对 HDFS-HA 自动故障转移的原理理解还比较浅显,后续会在基础扎实后逐步深入学*高可用配置。
浙公网安备 33010602011771号