温馨提示×

如何配置Ubuntu上的HDFS

小樊
48
2025-10-08 08:26:46
栏目: 智能运维

1. 环境准备
更新系统软件包并安装基础工具,确保系统处于最新状态:

sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential openssh-server

安装Java(Hadoop依赖Java环境,推荐OpenJDK 8):

sudo apt install -y openjdk-8-jdk
java -version  # 验证安装(需显示Java版本信息)

2. 下载并解压Hadoop
从Apache Hadoop官网下载稳定版本(如3.3.4),解压至指定目录(如/usr/local):

wget https://downloads.apache.org/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环境变量
编辑~/.bashrc(或/etc/profile),添加Hadoop路径配置:

export HADOOP_HOME=/usr/local/hadoop-3.3.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

使配置生效:

source ~/.bashrc

4. 配置HDFS核心文件
进入Hadoop配置目录($HADOOP_HOME/etc/hadoop),修改以下文件:

  • core-site.xml(定义HDFS默认文件系统):
    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://localhost:9000</value>  <!-- 单机模式为localhost -->
        </property>
    </configuration>
    
  • hdfs-site.xml(配置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-3.3.4/data/namenode</value>  <!-- NameNode数据目录 -->
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>/usr/local/hadoop-3.3.4/data/datanode</value>  <!-- DataNode数据目录 -->
        </property>
    </configuration>
    

5. 创建HDFS数据目录
手动创建NameNode和DataNode的存储目录,并设置所有权:

sudo mkdir -p /usr/local/hadoop-3.3.4/data/namenode
sudo mkdir -p /usr/local/hadoop-3.3.4/data/datanode
sudo chown -R $USER:$USER /usr/local/hadoop-3.3.4/data  # 将目录所有者设为当前用户

6. 格式化NameNode
首次启动前需格式化NameNode(初始化HDFS元数据):

hdfs namenode -format

7. 启动HDFS服务
启动HDFS分布式文件系统(包含NameNode、DataNode等组件):

start-dfs.sh

8. 验证HDFS状态

  • 使用jps命令检查进程是否启动(应看到NameNodeDataNode等进程);
  • 访问HDFS Web界面(默认端口50070):http://localhost:50070(显示HDFS状态页面即表示成功)。

9. 可选:配置SSH免密登录(集群模式必需)
若搭建多节点集群,需配置NameNode与其他DataNode之间的SSH免密登录:

ssh-keygen -t rsa -P ''  # 生成密钥对(直接回车)
ssh-copy-id user@datanode_ip  # 复制公钥到DataNode(替换user和IP)

注意事项

  • 单机模式下dfs.replication设为1,集群模式下需调整为≥3(保证数据冗余);
  • 防火墙需开放Hadoop相关端口(如9000、50070),避免网络拦截;
  • 生产环境中建议关闭防火墙或配置更严格的访问规则。

0