首页 / 资讯中心 / 文章详情

Hadoop完全分布式集群搭建实战指南

Hadoop完全分布式集群搭建实战指南 ★ FEATURED ARTICLE
1. Hadoop完全分布式环境搭建概述Hadoop作为Apache基金会旗下的开源分布式计算框架已经成为大数据处理领域的事实标准。完全分布式模式是Hadoop在生产环境中的标准部署方式它能够充分发挥分布式计算的威力实现真正的水平扩展。对于零基础的学习者来说搭建一个完全分布式的Hadoop集群是掌握大数据技术的重要第一步。2. 环境准备与规划2.1 硬件需求建议至少准备3台物理机或虚拟机作为集群节点1台作为NameNode和JobTracker主节点2台作为DataNode和TaskTracker从节点 每台机器建议配置4核CPU8GB内存100GB存储空间2.2 软件需求所有节点需要安装Linux操作系统推荐CentOS 7或Ubuntu 18.04 LTSJava JDK 1.8必须使用Oracle JDK或OpenJDKSSH服务用于节点间通信3. 系统配置3.1 基础环境设置在所有节点上执行以下操作配置主机名和hosts文件sudo hostnamectl set-hostname node1 # 主节点 sudo hostnamectl set-hostname node2 # 从节点1 sudo hostnamectl set-hostname node3 # 从节点2 # 编辑/etc/hosts文件添加所有节点的IP和主机名映射 192.168.1.101 node1 192.168.1.102 node2 192.168.1.103 node3配置SSH免密登录# 在主节点生成密钥 ssh-keygen -t rsa -P -f ~/.ssh/id_rsa # 将公钥复制到所有节点包括自己 cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys ssh-copy-id -i ~/.ssh/id_rsa.pub node1 ssh-copy-id -i ~/.ssh/id_rsa.pub node2 ssh-copy-id -i ~/.ssh/id_rsa.pub node33.2 Java环境安装在所有节点上安装Java# 对于CentOS sudo yum install java-1.8.0-openjdk-devel # 对于Ubuntu sudo apt-get install openjdk-8-jdk # 设置JAVA_HOME环境变量 echo export JAVA_HOME/usr/lib/jvm/java-1.8.0-openjdk ~/.bashrc source ~/.bashrc4. Hadoop安装与配置4.1 下载与解压在主节点下载并解压Hadoopwget https://archive.apache.org/dist/hadoop/core/hadoop-2.10.1/hadoop-2.10.1.tar.gz tar -xzvf hadoop-2.10.1.tar.gz -C /opt/ mv /opt/hadoop-2.10.1 /opt/hadoop4.2 配置环境变量在所有节点上配置Hadoop环境变量echo export HADOOP_HOME/opt/hadoop ~/.bashrc echo export PATH$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ~/.bashrc source ~/.bashrc4.3 核心配置文件修改编辑$HADOOP_HOME/etc/hadoop/目录下的配置文件core-site.xmlconfiguration property namefs.defaultFS/name valuehdfs://node1:9000/value /property property namehadoop.tmp.dir/name value/opt/hadoop/tmp/value /property /configurationhdfs-site.xmlconfiguration property namedfs.replication/name value2/value /property property namedfs.namenode.name.dir/name value/opt/hadoop/hdfs/namenode/value /property property namedfs.datanode.data.dir/name value/opt/hadoop/hdfs/datanode/value /property /configurationmapred-site.xmlconfiguration property namemapreduce.framework.name/name valueyarn/value /property /configurationyarn-site.xmlconfiguration property nameyarn.nodemanager.aux-services/name valuemapreduce_shuffle/value /property property nameyarn.resourcemanager.hostname/name valuenode1/value /property /configurationslaves文件列出所有从节点node2 node35. 集群启动与验证5.1 格式化HDFS在主节点执行hdfs namenode -format5.2 启动Hadoop集群在主节点执行start-dfs.sh start-yarn.sh5.3 验证集群状态检查进程jps # 主节点应显示NameNode, ResourceManager # 从节点应显示DataNode, NodeManager访问Web UINameNode: http://node1:50070ResourceManager: http://node1:80886. 运行测试作业6.1 创建HDFS目录hdfs dfs -mkdir /input hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /input6.2 运行MapReduce示例hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep /input /output dfs[a-z.]6.3 查看结果hdfs dfs -cat /output/*7. 常见问题与解决方案7.1 SSH连接问题如果遇到SSH连接问题检查以下几点确保sshd服务正在运行sudo systemctl status sshd检查防火墙设置sudo systemctl stop firewalld测试环境验证密钥权限chmod 600 ~/.ssh/authorized_keys7.2 节点无法加入集群检查slaves文件配置是否正确查看DataNode日志tail -f $HADOOP_HOME/logs/hadoop-*-datanode-*.log确保所有节点时间同步sudo ntpdate pool.ntp.org7.3 Web UI无法访问检查相关进程是否运行jps查看端口监听状态netstat -tulnp | grep java检查防火墙设置8. 集群管理与维护8.1 安全关闭集群stop-yarn.sh stop-dfs.sh8.2 添加新节点在新节点上重复环境配置步骤将新节点主机名加入slaves文件在新增节点上单独启动DataNode和NodeManagerhadoop-daemon.sh start datanode yarn-daemon.sh start nodemanager8.3 监控与优化定期检查HDFS使用情况hdfs dfsadmin -report监控YARN资源使用yarn node -list调整配置参数根据硬件配置调整mapreduce.map.memory.mb和mapreduce.reduce.memory.mb根据数据量调整dfs.replication9. 实际应用建议生产环境建议使用专用硬件而非虚拟机配置RAID提高数据可靠性设置监控告警系统性能优化技巧合理设置HDFS块大小默认为128MB根据数据特点选择合适压缩格式优化Mapper和Reducer数量数据安全考虑定期备份NameNode元数据启用HDFS权限控制考虑使用Kerberos认证10. 学习资源推荐官方文档Hadoop官网https://hadoop.apache.orgHDFS架构指南MapReduce教程进阶学习YARN资源管理HBase、Hive等生态系统组件Spark与Hadoop集成实践建议尝试不同规模的数据集模拟节点故障恢复测试不同配置下的性能表现
阅读完成 · 觉得有帮助?
咨询建站