当前位置:   article > 正文

Hadoop集群的搭建与深入理解

Hadoop集群的搭建与深入理解

  

在当今大数据的浪潮中,Hadoop作为一个开源的分布式系统框架,其重要性不言而喻。Hadoop以其高效的数据处理能力、可扩展的集群架构和强大的容错性,成为了大数据处理领域的佼佼者。本次课程,我们将深入探索Hadoop集群的搭建过程,并从中获得宝贵的经验和知识。

1、集群规划
1.1 hadoop版本
hadoop版本不同,配置的内容也不同,本文使用的是hadopp-3.3.2,同样适用3的其他版本,安装包链接见2.1节

1.2 节点数量
只为测试学习,节点不用太多,计划使用3个节点,即构建3个docker容器,1个namenode节点,2个datanode节点,其中1个datanode作为second namenode

1.3 hostname与ip
hadoop集群要求节点具有固定的hostname和ip,在此做如下规划:
namenode的hostname为master,ip为192.168.0.10
第1个datanode的hostname为slave1,ip为192.168.0.11
第2个datanode的hostname为slave2,ip为192.168.0.12

1.4 端口
hadoop集群提供了网页管理界面,主要包括hdfs(文件系统)、cluster(集群)、jobhistory(历史任务)三大部分,每个部分都有访问的端口号。通过查阅官方文档确认了默认的端口号分别为9870、8088、19888,我们直接使用这些默认的端口号

2、hadoop镜像构建
2.1 安装包
hadoop-3.3.2.tar.gz
jdk-8u321-linux-x64.tar.gz hadoop需要java的环境,此包下载需要oracle账号,没有账号的可以免费注册,如果有使用M1 MacOS系统的请下载aarch64版本的

2.2 Dockerfile
构建镜像我们使用Dockerfile,注意这个文件的内容大家可以根据自己的情况修改,如
镜像源:使用centos7,大家可以换
LABEL:元数据这里列了作者和日期,大家可以改成自己的信息
ssh:用于节点直接相互访问用
which:hadoop命令执行需要which,不然会报错
jdk:不是8u321版本的,可以修改下面这两行中的版本信息

ADD jdk-8u321-linux-x64.tar.gz /usr/local/
RUN mv /usr/local/jdk1.8.0_321 /usr/local/jdk1.8

hadoop:不是3.3.2版本的,可以修改下面这两行中的版本信息

ADD hadoop-3.3.2.tar.gz /usr/local
RUN mv /usr/local/hadoop-3.3.2 /usr/local/hadoop

下面是完整的文件内容

  1. # 镜像源
  2. FROM centos:7
  3. # 添加元数据  
  4. LABEL author="hjq" date="2022/03/05"
  5. # 安装openssh-server和sudo软件包,并且将sshd的UsePAM参数设置成no
  6. RUN yum install -y openssh-server sudo
  7. RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config
  8. # 安装openssh-clients
  9. RUN yum install -y openssh-clients
  10. # 安装which
  11. RUN yum install -y which
  12. # 添加测试用户root,密码root,并且将此用户添加到sudoers里
  13. RUN echo "root:root" | chpasswd
  14. RUN echo "root ALL=(ALL) ALL" >> /etc/sudoers
  15. RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
  16. RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
  17. # 启动sshd服务并且暴露22端口
  18. RUN mkdir /var/run/sshd
  19. EXPOSE 22
  20. # 拷贝并解压jdk,根据自己的版本修改
  21. ADD jdk-8u321-linux-x64.tar.gz /usr/local/
  22. RUN mv /usr/local/jdk1.8.0_321 /usr/local/jdk1.8
  23. ENV JAVA_HOME /usr/local/jdk1.8
  24. ENV PATH $JAVA_HOME/bin:$PATH
  25. # 拷贝并解压hadoop,根据自己的版本修改
  26. ADD hadoop-3.3.2.tar.gz /usr/local
  27. RUN mv /usr/local/hadoop-3.3.2 /usr/local/hadoop
  28. ENV HADOOP_HOME /usr/local/hadoop
  29. ENV PATH $HADOOP_HOME/bin:$PATH
  30. # 设置容器启动命令
  31. CMD ["/usr/sbin/sshd", "-D"]

一、Hadoop集群概述

Hadoop集群由多个节点组成,包括一个主节点(NameNode)和多个数据节点(DataNode)。主节点负责管理文件系统的元数据,而数据节点则负责存储和检索数据块。Hadoop集群通过分布式文件系统(HDFS)和MapReduce编程模型,实现了数据的高效存储和并行处理。

二、Hadoop集群搭建步骤

  1. 环境准备:在搭建Hadoop集群之前,需要准备好相应的硬件和软件环境。包括安装Linux操作系统、配置Java环境、设置SSH免密码登录等。
  2. 下载Hadoop安装包:从Hadoop官网下载稳定版本的Hadoop安装包,并解压到指定目录。
  3. 配置Hadoop集群:编辑Hadoop配置文件,包括core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml等。在配置文件中设置Hadoop集群的相关参数,如NameNode和DataNode的地址、端口号、数据块大小等。
  4. 启动Hadoop集群:在主节点上启动Hadoop集群,通过执行start-dfs.sh和start-yarn.sh脚本,分别启动HDFS和YARN服务。
  5. 验证Hadoop集群:通过执行jps命令查看Hadoop相关进程是否启动成功,通过访问Hadoop Web UI查看集群状态和数据节点信息。

三、搭建过程中的注意事项

  1. 版本兼容性:在搭建Hadoop集群时,需要确保Linux操作系统、Java版本和Hadoop版本之间的兼容性。
  2. 网络配置:Hadoop集群中的节点之间需要通过网络进行通信,因此需要确保网络配置正确,防火墙和SELinux等安全策略不会干扰Hadoop集群的正常运行。
  3. 数据备份和恢复:Hadoop集群中的数据非常重要,因此需要定期备份数据,并准备好数据恢复方案。
  4. 性能优化:Hadoop集群的性能优化是一个持续的过程,需要根据实际负载和业务需求进行不断调整和优化。
四、一课一得

通过本次Hadoop集群的搭建过程,我们深刻体会到了大数据处理技术的复杂性和挑战性。同时,我们也收获了很多宝贵的经验和知识:

  1. 了解了Hadoop集群的架构和工作原理,对大数据处理有了更深入的理解。
  2. 掌握了Hadoop集群的搭建步骤和注意事项,为后续的大数据项目开发打下了坚实的基础。
  3. 学会了如何配置和优化Hadoop集群的性能,提高了数据处理效率和稳定性。
  4. 增强了团队协作和解决问题的能力,提高了自身的综合素质。
总结

Hadoop集群的搭建是一个复杂而有趣的过程。通过本次课程的学习和实践,我们不仅掌握了Hadoop集群的搭建技能,还深入理解了大数据处理技术的核心思想和应用场景。这将为我们未来的大数据项目开发提供有力的支持和帮助。

如果想进行更深入学习,可以点击一下链接:
https://blog.csdn.net/weixin_46429290/article/details/121853990
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/634337
推荐阅读
相关标签
  

闽ICP备14008679号