Linux Hadoop安装教程需要根据操作系统版本(如CentOS 7/8或Ubuntu 20.04)选择对应配置,以下以CentOS 7为例,详细说明Hadoop 3.3.6伪分布式安装步骤,涵盖环境准备、软件安装、配置修改及启动验证全流程。

环境准备
基础系统配置
关闭防火墙和SELinux,避免权限干扰:
systemctl stop firewalld && systemctl disable firewalld setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
安装JDK
Hadoop依赖Java环境,推荐安装OpenJDK 1.8:
yum install java-1.8.0-openjdk-devel -y java -version # 验证安装,显示版本为1.8.x即成功
创建Hadoop用户及目录
useradd hadoop
passwd hadoop # 设置密码
mkdir -p /opt/hadoop/{data,tmp,name} # 创建Hadoop工作目录
chown -R hadoop:hadoop /opt/hadoop
配置主机名与hosts解析
hostnamectl set-hostname hadoop-master # 设置主机名 echo "192.168.1.100 hadoop-master" >> /etc/hosts # 根据实际IP修改
Hadoop软件安装
下载并解压Hadoop
从Apache官网下载Hadoop 3.3.6二进制包(https://archive.apache.org/dist/hadoop/common/):
su - hadoop wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz tar -zxvf hadoop-3.3.6.tar.gz -C /opt/hadoop/ ln -s /opt/hadoop/hadoop-3.3.6 /opt/hadoop/current
配置环境变量
编辑~/.bashrc文件,添加Hadoop相关路径:

export HADOOP_HOME=/opt/hadoop/current export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin source ~/.bashrc
Hadoop核心配置文件修改
进入$HADOOP_CONF_DIR目录,修改以下关键配置:
hadoop-env.sh
指定JDK路径:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.x.x.x.el7_9.x86_64 # 通过`echo $JAVA_HOME`获取实际路径
core-site.xml
配置HDFS默认名称节点地址和临时目录:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop-master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:///opt/hadoop/tmp</value>
</property>
</configuration>
hdfs-site.xml
配置HDFS数据存储目录和副本数(伪分布式配置副本数为1):

<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///opt/hadoop/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///opt/hadoop/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
yarn-site.xml
配置YARN资源管理器节点和日志聚合:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop-master</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
</configuration>
mapred-site.xml
配置MapReduce运行框架为YARN:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
格式化并启动Hadoop集群
格式化HDFS(首次安装执行)
hdfs namenode -format # 仅在首次安装或需清空数据时执行,否则会丢失数据
启动HDFS和YARN服务
start-dfs.sh # 启动HDFS start-yarn.sh # 启动YARN
验证服务状态
检查进程是否启动:
jps # 应看到NameNode、DataNode、ResourceManager、NodeManager等进程
Web界面访问
- HDFS管理界面:http://hadoop-master:9870
- YARN资源管理界面:http://hadoop-master:8088
常见问题排查
若服务启动失败,可通过以下方式排查:
- 检查日志文件:
$HADOOP_HOME/logs/目录下各服务日志,如hadoop-namenode-hadoop-master.log。 - 确认端口占用:使用
netstat -tunlp | grep 9000检查HDFS端口是否被占用。 - 权限问题:确保
/opt/hadoop目录属主为hadoop用户。
相关问答FAQs
Q1:启动HDFS时提示“Permission denied”错误如何解决?
A:通常是因为Hadoop用户对工作目录无写权限,执行chown -R hadoop:hadoop /opt/hadoop重新授权,并确保hadoop.tmp.dir和dfs.namenode.name.dir等目录权限正确。
Q2:Hadoop运行时出现“JAVA_HOME is not set”错误怎么办?
A:检查hadoop-env.sh中的JAVA_HOME路径是否正确,需与系统实际安装路径一致(可通过echo $JAVA_HOME确认),并确保路径中无空格或特殊字符。
