温馨提示×

Debian上Hadoop安装步骤解析

小樊
50
2025-09-01 12:15:59
栏目: 智能运维

1. 准备工作
在Debian系统上安装Hadoop前,需完成基础环境准备:

  • 系统更新:运行sudo apt update && sudo apt upgrade -y确保系统为最新版本;
  • 硬件要求:NameNode建议配置4核CPU、16GB以上内存、500GB以上SSD(用于存储元数据);DataNode建议4核CPU、8GB以上内存、2TB以上HDD/SSD(用于存储数据);
  • 网络配置:确保所有节点(NameNode、DataNode、ResourceManager、NodeManager)之间网络互通,可通过ping命令测试;
  • 软件依赖:需安装Java(JDK 8及以上)和SSH服务(用于节点间通信)。

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+OEnterCtrl+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密钥
    ssh-keygen -t rsa -P "" # 按回车键接受默认路径和空密码 
  • 分发公钥到本地主机(实现本地免密登录):
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys # 设置文件权限 
  • 测试SSH连接
    ssh localhost 
    若无需输入密码即可登录,则配置成功。

7. 格式化HDFS
HDFS首次启动前需格式化NameNode(仅第一次需要,会清除原有数据):

hdfs namenode -format 

格式化完成后,会在dfs.name.dir指定的路径下生成元数据目录。

8. 启动Hadoop服务

  • 启动HDFS(NameNode和DataNode):
    $HADOOP_HOME/sbin/start-dfs.sh 
  • 启动YARN(ResourceManager和NodeManager):
    $HADOOP_HOME/sbin/start-yarn.sh 
  • 验证服务状态
    查看Hadoop进程是否启动:
    jps 
    正常输出应包含NameNodeDataNodeResourceManagerNodeManager等进程。

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 2world 1hadoop 1)。

  • Web界面验证
    打开浏览器访问NameNode Web界面(默认端口9870):

    http://<namenode-ip>:9870 

    查看集群状态、HDFS存储信息等。

0