温馨提示×

HDFS在CentOS上怎么设置

小樊
52
2025-04-21 01:59:30
栏目: 智能运维

在CentOS上设置HDFS(Hadoop分布式文件系统)涉及多个步骤,包括安装必要的软件、配置环境变量、修改Hadoop配置文件、格式化NameNode以及启动和验证HDFS服务。以下是一个基本的步骤指南:

1. 环境准备

  • 安装Java:HDFS需要Java环境,首先确保Java已安装。可以通过以下命令安装OpenJDK:
    sudo yum install java-1.8.0-openjdk-devel -y
    
  • 安装SSH:配置SSH免密登录,以便在节点之间进行无密码访问。
    ssh-keygen -t rsa
    ssh-copy-id localhost
    

2. 下载并解压Hadoop

从Apache Hadoop官网下载对应版本的Hadoop安装包,例如Hadoop 3.3.4。

wget https://archive.apache.org/dist/hadoop/core/hadoop-3.3.4/hadoop-3.3.4.tar.gz
tar -xzvf hadoop-3.3.4.tar.gz -C /opt/

3. 配置环境变量

编辑 /etc/profile 文件,添加Hadoop的路径和库路径。

echo "export HADOOP_HOME=/opt/hadoop-3.3.4" >> /etc/profile
echo "export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin" >> /etc/profile
source /etc/profile

4. 配置Hadoop配置文件

  • core-site.xml:配置HDFS的默认文件系统和临时目录。
    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://localhost:9000</value>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/usr/local/hadoop/tmp</value>
        </property>
    </configuration>
    
  • hdfs-site.xml:配置HDFS的数据节点目录、副本数等。
    <configuration>
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>/usr/local/hadoop/hdfs/namenode</value>
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>/usr/local/hadoop/hdfs/datanode</value>
        </property>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
    </configuration>
    
  • mapred-site.xml:配置MapReduce框架。
    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>
    
  • yarn-site.xml:配置YARN资源管理器。
    <configuration>
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>localhost</value>
        </property>
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
    </configuration>
    

5. 格式化NameNode

在NameNode节点上执行以下命令,初始化文件系统。

hdfs namenode -format

6. 启动HDFS

启动NameNode和DataNode服务。

/opt/hadoop-3.3.4/sbin/start-dfs.sh

7. 验证配置

使用以下命令检查HDFS状态。

hdfs dfsadmin -report

访问NameNode的Web界面:http://localhost:50070

8. 安全设置(可选)

  • 禁用非必要的超级用户:使用 cat /etc/passwd 查看口令文件,检查是否有多个 user_id0 的账户。
  • 强化用户口令:设置复杂的口令,包含大写字母、小写字母、数字和特殊字符,并且长度大于10位。
  • 保护口令文件:使用 chattr +i 命令给 /etc/passwd/etc/shadow/etc/group/etc/gshadow 文件加上不可更改属性。
  • HDFS安全模式:在HDFS中,NameNode为保证数据一致性、可靠性,而进入的一种状态,称之为安全模式(SafeMode)。

0