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存储信息等。