在CentOS系统中搭建Hadoop框架是大数据处理环境搭建的基础步骤,本文将详细介绍从环境准备到Hadoop完全分布式安装的全过程,确保每个环节清晰易懂,帮助读者顺利完成部署。

环境准备与基础配置
在开始安装Hadoop之前,需要确保系统满足基本要求并完成初始配置,首先推荐使用CentOS 7或更高版本,建议分配至少4GB内存和20GB硬盘空间,以root用户或具有sudo权限的用户登录系统,更新系统软件包列表并安装必要的开发工具,执行命令sudo yum update -y更新系统,然后通过sudo yum groupinstall "Development Tools" -y安装编译工具,关闭防火墙和SELinux以避免权限问题,使用systemctl stop firewalld和setenforce 0命令实现,同时配置开机不启动防火墙。
创建Hadoop专用用户
为了安全性和权限管理,建议创建独立的Hadoop运行用户,使用useradd -m hadoop创建用户,并通过passwd hadoop设置密码,将新用户加入sudo组以便执行管理命令,执行usermod -aG wheel hadoop,切换至新用户环境su - hadoop,后续操作均在该用户下完成,配置SSH免密登录是Hadoop集群通信的关键,生成SSH密钥对时使用ssh-keygen -t rsa命令,并将公钥添加到授权列表cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys,最后设置权限chmod 600 ~/.ssh/authorized_keys确保安全性。
安装Java环境
Hadoop依赖Java运行环境,推荐安装OpenJDK 1.8版本,使用sudo yum install java-1.8.0-openjdk-devel -y命令完成安装,验证安装结果通过java -version检查,配置JAVA_HOME环境变量至关重要,编辑~/.bashrc文件添加export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk和export PATH=$PATH:$JAVA_HOME/bin,保存后执行source ~/.bashrc使配置生效,确保Java路径正确无误。
下载并解压Hadoop
从Apache官网下载稳定版本的Hadoop压缩包,当前推荐3.3.x系列,使用wget https://archive.apache.org/dist/hadoop/core/hadoop-3.3.6/hadoop-3.3.6.tar.gz下载,通过tar -xzvf hadoop-3.3.6.tar.gz解压至用户主目录,配置HADOOP_HOME环境变量,在~/.bashrc中添加export HADOOP_HOME=/home/hadoop/hadoop-3.3.6和export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin,执行source ~/.bashrc使配置生效,验证安装使用hadoop version命令。
配置Hadoop核心文件
Hadoop的运行依赖于多个XML配置文件的正确设置,首先进入$HADOOP_HOME/etc/hadoop目录,编辑core-site.xml文件添加以下配置:

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
配置hdfs-site.xml设置副本数和名称节点目录:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///home/hadoop/hadoopdata/namenode</value>
</property>
</configuration>
配置mapred-site.xml指定MapReduce框架为YARN:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
最后配置yarn-site.xml设置资源管理器:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
初始化HDFS集群
在首次启动Hadoop前需要格式化文件系统,执行hdfs namenode -format命令,注意该命令会删除现有数据,确保数据已备份,启动Hadoop集群使用start-dfs.sh和start-yarn.sh命令,通过jps检查进程是否启动成功,NameNode、DataNode、ResourceManager和NodeManager进程应全部运行,验证HDFS功能可通过hdfs dfs -mkdir /test创建测试目录,使用hdfs dfs -ls /查看。
常见问题排查
安装过程中可能遇到SSH连接失败或进程无法启动的问题,首先检查SSH免密登录是否正确配置,使用ssh localhost测试连接,若进程启动失败,查看日志文件$HADOOP_HOME/logs/中的错误信息,常见问题包括Java路径配置错误或磁盘空间不足,确保所有配置文件中的路径与实际安装路径一致,特别注意XML文件中的格式缩进问题。

FAQs
Q1: 启动Hadoop时提示"JAVA_HOME is not set"错误如何解决?
A1: 该错误通常是因为Hadoop未正确识别Java路径,检查hadoop-env.sh文件中的export JAVA_HOME配置是否指向正确的JDK安装目录,例如/usr/lib/jvm/java-1.8.0-openjdk,确保路径不存在拼写错误,且该目录确实存在。
Q2: Hadoop集群启动后无法访问Web界面?
A2: 首先确认防火墙已完全关闭,检查$HADOOP_HOME/etc/hadoop/core-site.xml中fs.defaultFS的配置是否正确,默认情况下,NameNode Web界面应通过http://localhost:9870访问,ResourceManager界面通过http://localhost:8088访问,若仍无法访问,检查相关进程是否正常运行,查看日志文件排查具体错误原因。