温馨提示×

HDFS在Debian上怎么设置

小樊
43
2025-11-09 16:01:50
栏目: 智能运维

HDFS在Debian上的配置步骤

1. 安装Java环境

HDFS依赖Java运行环境,需先安装OpenJDK(推荐Java 8及以上版本):

sudo apt update
sudo apt install openjdk-11-jdk  # 或openjdk-8-jdk(根据Hadoop版本选择)

验证安装:

java -version

确保输出显示Java版本信息,否则需检查安装是否成功。

2. 下载并解压Hadoop

从Apache官网下载稳定版本的Hadoop(如3.3.1),解压至/usr/local目录:

wget https://downloads.apache.org/hadoop/core/hadoop-3.3.1/hadoop-3.3.1.tar.gz
sudo tar -xzvf hadoop-3.3.1.tar.gz -C /usr/local/
sudo mv /usr/local/hadoop-3.3.1 /usr/local/hadoop  # 重命名为hadoop方便管理

赋予Hadoop目录执行权限:

sudo chown -R $USER:$USER /usr/local/hadoop

3. 配置环境变量

编辑~/.bashrc(当前用户)或/etc/profile(全局),添加Hadoop环境变量:

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64  # 根据实际Java安装路径调整
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

使配置生效:

source ~/.bashrc  # 或source /etc/profile

验证环境变量:

echo $HADOOP_HOME  # 应输出Hadoop安装路径

4. 配置HDFS核心文件

Hadoop配置文件位于$HADOOP_HOME/etc/hadoop目录,需修改以下关键文件:

(1)core-site.xml

配置HDFS默认文件系统和临时目录:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://namenode:9000</value>  <!-- NameNode主机名及端口 -->
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/hadoop/tmp</value>  <!-- 临时文件目录 -->
    </property>
</configuration>

(2)hdfs-site.xml

配置HDFS副本数、NameNode和DataNode数据目录:

<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>

(3)mapred-site.xml(若未生成,复制模板)

配置MapReduce运行框架为YARN:

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管理MapReduce任务 -->
    </property>
</configuration>

(4)yarn-site.xml

配置YARN资源管理器及Shuffle服务:

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>  <!-- 启用MapReduce Shuffle服务 -->
    </property>
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>  <!-- Shuffle处理器类 -->
    </property>
</configuration>

5. 格式化NameNode

NameNode是HDFS的核心元数据节点,首次启动前需格式化(仅第一次启动时执行):

hdfs namenode -format

格式化会清除HDFS所有数据,请谨慎操作!

6. 启动HDFS服务

进入Hadoop的sbin目录,启动HDFS服务:

cd $HADOOP_HOME/sbin
./start-dfs.sh

启动后,可通过以下命令查看进程状态:

jps  # 应显示NameNode、DataNode进程

7. 验证HDFS功能

(1)命令行验证

创建测试目录并上传文件:

hdfs dfs -mkdir -p /test  # 创建/test目录
hdfs dfs -put /etc/hosts /test  # 上传本地文件至HDFS
hdfs dfs -ls /test  # 列出/test目录内容

(2)Web UI验证

访问NameNode的Web界面(默认端口9000):

http://<namenode-ip>:9000

输入NameNode主机名或IP即可查看HDFS状态。

注意事项

  • 单节点部署时,dfs.replication设为1;集群部署需设为3及以上。
  • 确保/usr/local/hadoop/tmp/usr/local/hadoop/dfs/name/usr/local/hadoop/dfs/data目录存在且具备读写权限。
  • 若无法访问Web UI,需检查防火墙是否放行对应端口(如9000)。

0