由于 ssh 连接被拒绝,macOS 上的 hadoop 启动辅助名称节点失败
hadoop on macOS initiating secondary namenode fails due to ssh connection refused
我已经在 Window 的 wsl2 环境下以 https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html#Pseudo-Distributed_Operation 中描述的伪分布式模式成功启动单节点。
之后,我尝试使用 MacBookPro 重复它。但不知何故 start-dfs.sh
失败了。终端抛出错误:
Stopping namenodes on [localhost]
Stopping datanodes
Stopping secondary namenodes [kakaoui-MacBookPro.local]
kakaoui-MacBookPro.local: ssh: connect to host kakaoui-macbookpro.local port 22: Connection refused
2021-06-26 23:01:23,377 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
好的。有答案说我应该通过系统 属性 启用 ssh 连接,但它已经这样设置并且 ssh localhost
也可以正常工作。
然后事情就变得值得了;有时描述secondary namenode failed as:
Starting secondary namenodes [kakaoui-MacBookPro.local]
kakaoui-MacBookPro.local: ssh: connect to host kakaoui-macbookpro.local port 22: Operation timed out
然后当我离开 Mac 一段时间并再次命令 start-dfs.sh
时,它偶尔会成功。当我做 stop-dfs.sh
和 start-dfs.sh
检查时,它失败了。
即使我能成功start-dfs.sh
,之后还有很多问题,比如无法启动数据节点或资源管理器或节点管理器等。我什至无法 运行 hadoop 环境。
感觉一切都乱七八糟,一点也不稳定。已经尝试重新安装这个和那个好几次了。不幸的是,大多数启动失败甚至都没有记录在 /logs 文件夹中。
目前我正在使用:
macOS:卡特琳娜 10.15.6
java: 1.8.0_291
hadoop: 3.3.1
我花了整整两天时间来尝试。请帮忙!
提供对主机文件中所有工作节点的 ssh-key less 访问,甚至是本地主机以及 kakaoui-macbookpro.local。阅读 Creating a SSH Public Key on OSX.
中的说明最后通过 ssh localhost
和 ssh [yourworkernode]
(也许 ssh kakaoui-macbookpro.local
)测试无密码访问。
好的,我找到了我不明白的解决方案。我在启动过程中关闭了 wifi 连接,所有进程都启动了。虽然无法理解 wifi 连接如何干扰 ssh 本地主机。