You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Hadoop集群避免主节点存储数据,关闭主节点DataNode角色?

Hadoop集群排除主节点作为DataNode的配置方案

配置未生效原因说明

修改slaves(Hadoop 3.x更名为workers)文件仅会影响start-dfs.sh、start-all.sh等批量启动脚本的执行逻辑,不会自动停止主节点上已经运行的DataNode进程,也无法阻止手动启动、自启等其他方式拉起的DataNode进程,这是之前修改未生效的核心原因。


完整操作步骤

1. 停止主节点已运行的DataNode进程

  • 登录主节点,执行jps命令,确认当前运行的DataNode进程ID
  • 执行命令hdfs --daemon stop datanode停止DataNode进程,也可以直接kill对应进程ID
  • 再次执行jps,确认DataNode进程已被终止

2. 更新批量启动的节点列表

  • Hadoop 2.x版本:修改$HADOOP_CONF_DIR/slaves文件,删除主节点的主机名/IP,仅保留25台从节点的地址
  • Hadoop 3.x版本:修改$HADOOP_CONF_DIR/workers文件,操作同上
  • 将修改后的配置文件同步到所有从节点的相同配置目录下,避免后续批量操作出现配置不一致问题

3. 配置DataNode白名单(推荐,彻底屏蔽主节点)

为避免后续误操作在主节点拉起DataNode并加入集群,建议通过白名单配置做硬限制:

  • 修改$HADOOP_CONF_DIR/hdfs-site.xml,新增如下配置项:
<property>
  <name>dfs.hosts</name>
  <value>$HADOOP_CONF_DIR/dfs.include</value>
</property>
  • 在$HADOOP_CONF_DIR目录下新建dfs.include文件,逐行写入25台允许作为DataNode的从节点的主机名/IP,不要写入主节点的地址
  • 将修改后的hdfs-site.xml、dfs.include同步到集群所有节点的对应配置目录
  • 登录主节点执行hdfs dfsadmin -refreshNodes刷新节点列表,配置无需重启集群即可生效

4. 验证配置结果

执行hdfs dfsadmin -report查看当前集群活跃的DataNode列表,确认主节点不在列表中,且总DataNode数量为25台,即配置生效。


内容的提问来源于stack exchange,提问作者mash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 19:06:03