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

MacBook M1执行start-dfs命令启动Hadoop失败求助

解决MacBook M1上Hadoop start-dfs.sh启动问题
  • 修复日志目录权限
    日志提示/opt/homebrew/Cellar/hadoop/3.3.4/libexec/logs不存在,虽然显示自动创建,但M1环境下可能因权限问题导致创建失败或无法写入,执行以下命令手动创建并赋权:
sudo mkdir -p /opt/homebrew/Cellar/hadoop/3.3.4/libexec/logs
sudo chown -R $USER:staff /opt/homebrew/Cellar/hadoop/3.3.4/libexec/logs
  • 配置本地SSH免密登录
    Hadoop通过SSH启动节点,必须确保本地免密登录可用:
  1. 生成密钥:
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
  1. 将公钥添加到授权列表:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
  1. 测试ssh localhost,确认无需输入密码即可登录。
  • 检查并修正Hadoop核心配置
    修改/opt/homebrew/Cellar/hadoop/3.3.4/libexec/etc/hadoop下的配置文件:
  1. core-site.xml:
<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/homebrew/Cellar/hadoop/3.3.4/libexec/tmp</value>
        <description>临时文件根目录</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>
  1. hdfs-site.xml:
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/opt/homebrew/Cellar/hadoop/3.3.4/libexec/hadoop_data/hdfs/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/opt/homebrew/Cellar/hadoop/3.3.4/libexec/hadoop_data/hdfs/datanode</value>
    </property>
</configuration>
  1. 创建配置中指定的目录并赋权:
sudo mkdir -p /opt/homebrew/Cellar/hadoop/3.3.4/libexec/tmp
sudo mkdir -p /opt/homebrew/Cellar/hadoop/3.3.4/libexec/hadoop_data/hdfs/namenode
sudo mkdir -p /opt/homebrew/Cellar/hadoop/3.3.4/libexec/hadoop_data/hdfs/datanode
sudo chown -R $USER:staff /opt/homebrew/Cellar/hadoop/3.3.4/libexec/tmp /opt/homebrew/Cellar/hadoop/3.3.4/libexec/hadoop_data
  • 重新格式化NameNode并启动
    执行格式化命令:
hdfs namenode -format

之后再运行:

start-dfs.sh
  • 关于Native-Hadoop库加载警告
    M1的ARM架构与Hadoop官方原生库不兼容,这个警告不影响核心功能启动。若要彻底解决,需下载Hadoop源码,安装Xcode Command Line Tools、CMake等依赖后,编译适配ARM架构的原生库替换原有文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 01:45:19