温馨提示×

怎样在CentOS上搭建HDFS

小樊
53
2025-07-31 19:27:53
栏目: 智能运维

在CentOS上搭建HDFS(Hadoop分布式文件系统)需要遵循以下步骤:

1. 安装Java

Hadoop需要Java环境,首先确保你的CentOS系统上安装了Java。

sudo yum install java-1.8.0-openjdk-devel

2. 下载并解压Hadoop

从Apache Hadoop官方网站下载最新版本的Hadoop,并解压到你的CentOS系统上。

wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
tar -xzvf hadoop-3.3.4.tar.gz -C /usr/local/

3. 配置Hadoop环境变量

编辑/etc/profile.d/hadoop.sh文件,添加以下内容:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export HADOOP_HOME=/usr/local/hadoop-3.3.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

然后使环境变量生效:

source /etc/profile.d/hadoop.sh

4. 配置Hadoop

编辑Hadoop的配置文件,主要涉及core-site.xmlhdfs-site.xmlyarn-site.xml

core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/usr/local/hadoop-3.3.4/data/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/usr/local/hadoop-3.3.4/data/datanode</value>
    </property>
</configuration>

yarn-site.xml

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
</configuration>

5. 格式化HDFS

在第一次启动HDFS之前,需要对NameNode进行格式化。

hdfs namenode -format

6. 启动Hadoop集群

启动HDFS和YARN服务。

start-dfs.sh
start-yarn.sh

7. 验证HDFS

检查HDFS是否正常运行。

jps

你应该能看到NameNodeSecondaryNameNodeDataNodeResourceManagerNodeManager等进程。

访问HDFS Web界面:

http://<your_node_ip>:50070/

8. 停止Hadoop集群

停止HDFS和YARN服务。

stop-dfs.sh
stop-yarn.sh

注意事项

  • 确保所有节点的时间同步。
  • 配置防火墙允许Hadoop所需的端口通信。
  • 根据实际需求调整配置文件中的参数。

通过以上步骤,你应该能够在CentOS上成功搭建一个基本的HDFS集群。

0