hadoop - 无法通过 SSH 连接到 VM,导致使用 bdutil 安装 Hadoop 出现问题

标签 hadoop ssh google-compute-engine google-cloud-platform google-hadoop

我已经解决了这个网站上围绕这个问题的大部分问题,但似乎没有任何帮助。基本上我想做的是通过 Google 提供的 bdutil 脚本在我的 VM 上实例化一个 Hadoop 实例,但是问题似乎与我无法通过 ssh 进入 VM 实例有关。

我已经为此苦苦挣扎了几天,非常感谢您的帮助。

以下是我遵循的步骤:

为了引导您完成这些步骤,我刚刚创建了一个新的 VM

我可以毫无问题地通过开发者控制台进行 SSH

下面是系统信息和操作系统:

uname –a Linux archipelago-vm1 2.6.32-431.20.3.el6.x86_64 #1 SMP Thu Jun 19 21:14:45 UTC 2014

tail/etc/redhat-release tail: inotify 无法使用,恢复到 pollingCentOS release 6.5 (Final)

VM 已设置为允许 http 和 https 连接

在我的 windows 机器上(windows 8.1 专业版) 我删除了所有以前创建的 SSH 文件,以允许创建新文件 我还删除了项目中所有以前创建的 key (那里有很多垃圾,因为我一直在尝试一些方法来让它工作)

然后我使用 gcloud Auth Login 授权给新的 VM

这很好用,我获得了授权并登录了

我可以使用 gcloud compute instances list 查看实例

然后我尝试通过 SSH 连接到实例

它说它正在生成我的 SSH key ,它确实在我的机器和 VM 实例上生成

但是它不能通过 SSH 进入机器 笔记: 我已经尝试过使用密码短语和不使用密码短语,在这种情况下我将其留空

我收到的错误是没有可用的受支持的身份验证方法

当我检查文件时,它们已在两个地方创建 在我的机器上以及元数据/ssh key 部分的项目中

当我比较我机器上的 .pub 文件和虚拟机上的 key 时,这两个 key 是相同的 我还尝试将 key 添加到特定于 vm 实例的 SSH key ,但没有成功

这里有趣的是,当我在我的机器上使用腻子时,我可以毫无问题地登录,使用 C:\Users\cleveen.ssh\google_compute_engine.ppk 文件

所以最初我想,没问题,我将只使用我的 putty,但是当我尝试运行 bdutil 脚本来实例化 Hadoop 时,它给了我错误,我没有通过 gcutil 登录并且不会运行脚本,所以我然后通过开发人员控制台登录,它仍然无法运行(同样的错误)

然后我进入 sshd_config 文件并允许密码登录,为我的帐户设置密码然后 gcloud SSH,允许我通过密码登录没有问题。

然而,当我运行脚本时,它创建了 Hadoop 所需的所有实例和驱动器,但是脚本因 SSH 公钥错误而失败,我永远无法完成它。

不幸的是,我没有这个脚本的日志文件,因为我删除了它们所在的实例;如果查看这些日志对您有帮助,我可以再次执行这些步骤。

然而这一切似乎都与使用 key 文件的SSH进程不起作用有关

如果我可以提供任何其他信息,请告诉我 再次感谢您对此的帮助

最佳答案

所以,听起来这里有几个问题在起作用:

  1. bdutil 仍然使用 gcutil ssh 而不是 gcloud compute ssh(但是升级到使用 gcloud compute ssh 的工作正在进行中),所以即使您可以配置您的本地环境以使 gcloud compute ssh 工作,bdutil 仍然需要 gcutil ssh 才能工作以部署 Hadoop 集群 - 请注意,大多数 情况下,这两个不同的命令功能相同。

  2. 从 cmd.exe 或 Putty 运行没有为“gcutil”设置足够的环境;传统上,说明包括安装“cygwin”以提供运行 Google Cloud SDK 工具的 posix 环境。

您可以看到这篇关于“gcutil ssh”需要 cygwin 的相关 stackoverflow 帖子:Unable to run gcutil from command line

因此,如果您确保安装了 cygwin,然后使用 cygwin shell(不是 cmd.exe 或 Putty),您确保“gcutil ssh”在没有密码的情况下工作,那么 bdutil 应该从那时起从 cygwin 开始工作。

一种替代方法是启动一个运行类似 debian-7 的 n1-standard-1 虚拟机作为您的“bdutil runner”,确保点击“高级设置”并启用云存储和计算引擎“服务”帐”。在那个“bdutil runner”中,您可以通过键入来配置它自己的“gcutil ssh”能力

gcutil ssh `hostname`

并在提示您时将密码短语保留为空,然后使用该 VM 运行您的部署。

关于hadoop - 无法通过 SSH 连接到 VM,导致使用 bdutil 安装 Hadoop 出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25923225/

相关文章:

hadoop - CDH 5.9 dfs.datanode.data.dir配置

hadoop - EC2上关于Cloudera Manager的查询

linux - 将我自己的 Git 服务器与我的 Windows Eclipse IDE 链接起来

git - rsa key 在与 .ssh 不同的文件夹中

google-cloud-platform - 无需管理员权限即可通过 SSH 连接到 VM 的 IAM 角色

kubernetes - GCE Kubernetes : Persistent disk and Persistent Volume claim

hadoop - 如何在hbase中创建表时使用手动预拆分区域号?

hadoop - 挂起MapReduce作业

linux - ssh 退出终端后没有到主机的路由

hadoop - Google Cloud 上的 Hive 无法与 hive 以外的任何用户访问数据