1. 准备工作
在Debian系统上安装Hadoop前,需完成基础环境准备:
sudo apt update && sudo apt upgrade -y确保系统为最新版本;ping命令测试;2. 安装Java环境
Hadoop依赖Java运行环境,需安装OpenJDK(推荐11及以上版本):
sudo apt update sudo apt install openjdk-11-jdk -y 验证Java安装是否成功:
java -version 输出应包含Java版本信息(如openjdk version "11.0.xx")。
3. 下载并解压Hadoop
访问Apache Hadoop官网(https://hadoop.apache.org/releases.html)下载最新稳定版(如3.3.6),使用wget命令下载:
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz 解压至/usr/local目录(系统级安装路径):
sudo tar -xzvf hadoop-3.3.6.tar.gz -C /usr/local/ 重命名解压后的目录以便管理:
sudo mv /usr/local/hadoop-3.3.6 /usr/local/hadoop 修改Hadoop目录权限,确保当前用户(如hadoop)拥有读写权限:
sudo chown -R hadoop:hadoop /usr/local/hadoop 4. 配置Hadoop环境变量
编辑系统全局环境变量文件/etc/profile(或用户级文件~/.bashrc),添加Hadoop相关变量:
sudo nano /etc/profile 在文件末尾添加以下内容(根据实际安装路径调整):
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # Java安装路径 export HADOOP_HOME=/usr/local/hadoop # Hadoop安装路径 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin # 添加Hadoop命令到PATH 保存并退出(Ctrl+O→Enter→Ctrl+X),使配置生效:
source /etc/profile 验证环境变量是否配置成功:
echo $HADOOP_HOME # 应输出Hadoop安装路径 hadoop version # 应显示Hadoop版本信息 5. 配置Hadoop核心文件
进入Hadoop配置目录($HADOOP_HOME/etc/hadoop),编辑以下关键文件:
core-site.xml(HDFS核心配置):
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://namenode:9000</value> <!-- NameNode的RPC地址 --> </property> </configuration> hdfs-site.xml(HDFS存储配置):
<configuration> <property> <name>dfs.replication</name> <value>1</value> <!-- 数据副本数(单节点设为1,集群设为3+) --> </property> <property> <name>dfs.namenode.name.dir</name> <value>/usr/local/hadoop/dfs/name</value> <!-- NameNode元数据存储路径 --> </property> <property> <name>dfs.datanode.data.dir</name> <value>/usr/local/hadoop/dfs/data</value> <!-- DataNode数据存储路径 --> </property> </configuration> mapred-site.xml(MapReduce框架配置):
若文件不存在,需复制模板生成:
cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml 编辑内容:
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> <!-- 使用YARN作为资源管理框架 --> </property> </configuration> yarn-site.xml(YARN资源管理配置):
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> <!-- Shuffle服务名称 --> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> <!-- Shuffle处理器类 --> </property> </configuration> 6. 配置SSH免密登录
Hadoop节点间需通过SSH无密码通信,以下以hadoop用户为例:
ssh-keygen -t rsa -P "" # 按回车键接受默认路径和空密码 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys # 设置文件权限 ssh localhost 若无需输入密码即可登录,则配置成功。7. 格式化HDFS
HDFS首次启动前需格式化NameNode(仅第一次需要,会清除原有数据):
hdfs namenode -format 格式化完成后,会在dfs.name.dir指定的路径下生成元数据目录。
8. 启动Hadoop服务
$HADOOP_HOME/sbin/start-dfs.sh $HADOOP_HOME/sbin/start-yarn.sh jps 正常输出应包含NameNode、DataNode、ResourceManager、NodeManager等进程。9. 验证安装
命令行验证:
运行Hadoop自带的wordcount示例,检查MapReduce功能是否正常:
echo "hello world hello hadoop" > input.txt hdfs dfs -mkdir -p /input hdfs dfs -put input.txt /input hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /input /output hdfs dfs -cat /output/part-r-00000 输出应显示单词计数结果(如hello 2、world 1、hadoop 1)。
Web界面验证:
打开浏览器访问NameNode Web界面(默认端口9870):
http://<namenode-ip>:9870 查看集群状态、HDFS存储信息等。