本文为您介绍如何使用SSH方式(SSH密钥对或SSH密码方式)在Windows和Linux环境中登录集群。
前提条件
背景信息
在本地计算机的终端与集群主节点创建SSH连接之后,您可以通过Linux命令监控集群并与集群交互,也可以在SSH连接中创建隧道以查看开源组件的Web页面,详情请参见通过SSH隧道方式访问开源组件Web UI。
获取主节点公网IP地址
SSH密钥方式
说明 主节点公网IP地址请参见获取主节点公网IP地址。
您可以通过以下三种方式登录集群,详细信息如下:
- 本地使用Linux操作系统
下面步骤以私钥文件ecs.pem为例进行介绍:
- 执行以下命令,修改私钥文件的属性。
chmod 400 ~/.ssh/ecs.pem
~/.ssh/ecs.pem
为ecs.pem私钥文件在本地服务器上的存储路径。 - 执行以下命令,连接主节点。
ssh -i ~/.ssh/ecs.pem root@<主节点公网IP地址>
- 执行以下命令,修改私钥文件的属性。
- 本地使用Windows操作系统(通过PuTTY配置信息)
您可以按照以下方式登录主节点。
- 下载PuTTY和PuTTYgen。
- 将.pem私钥文件转换为.ppk私钥文件。
- 运行PuTTYgen。本示例中PuTTYgen版本为0.73。
- 在Actions区域,单击Load,导入创建集群时保存的私钥文件。
导入时注意确保导入的格式要求为All files (*.*)。
- 选择待转换的.pem私钥文件,单击打开。
- 单击Save private key。
- 在弹出的对话框中,单击是,指定.ppk私钥文件的名称,然后单击保存。
保存转化后的私钥到本地。例如:kp-123.ppk。
- 运行PuTTY。
- 选择Private key file for authentication中,单击Browse,选择转化后的密钥文件。 ,在最下面一个配置项
- 单击Session,在Host Name (or IP address)下的输入框中,输入登录账号和主节点公网IP地址。
格式为root@[主节点公网IP地址],例如root@10.10.xx.xx。
- 单击Open。
当出现以下提示信息时,说明您已经成功登录实例。
- 本地使用Windows操作系统(通过命令配置信息)
打开CMD,输入以下命令登录集群。
ssh -i <.pem私钥文件在本地机上的存储路径> root@<主节点公网IP地址>
SSH密码方式
说明 以下步骤中涉及的用户名,密码分别是root用户和创建集群时设置的密码。主节点公网IP地址请参见获取主节点公网IP地址。
针对不同操作系统,详细的操作步骤如下:
- 本地使用Linux操作系统
您可以在本地终端的命令行中运行如下命令连接主节点。
ssh root@[主节点公网IP地址]
- 本地使用Windows操作系统
- 下载并安装PuTTY。
下载链接:PuTTY。
- 启动PuTTY。
- 配置连接Linux实例所需的信息。
- Host Name (or IP address):输入实例的固定公网IP或EIP。
- Port:输入22。
- Connection Type:选择SSH。
- (可选)Saved Sessions:输入一个便于识别的名称,然后单击Save即可保存会话,下次登录时无需输入公网IP等信息。
- 单击Open。
- 输入用户名(默认为root),然后按回车键。
输入完成后按回车键即可,登录Linux实例时界面不会显示密码的输入过程。
- 下载并安装PuTTY。
常见问题
- Q:如何在本地以免密方式登录集群?
A:您可以通过以下步骤在本地以免密方式登录集群。
- 打开CMD,输入以下命令生成公钥。
ssh-keygen
本地服务器目录下会生成相应的公钥文件。 - 将生成的公钥加入至待访问集群的主节点上。
- 进入待访问集群的/.ssh目录。
cd ~/.ssh
- 配置主节点的密钥。
vim authorized_keys
- 添加本地公钥id_rsa.pub中的内容至authorized_keys中。
- 进入待访问集群的/.ssh目录。
- 加入本地机器的IP地址至安全组。
- 在CMD中,输入以下命令免密登录集群。
ssh root@<主节点公网IP地址>
- 打开CMD,输入以下命令生成公钥。
- Q:如何登录Core节点?
A:您可以通过以下步骤登录Core节点。
- 在Master节点上切换到hadoop账号。
su hadoop
- 免密码登录到对应的Core节点。
ssh emr-worker-1
- 通过sudo获得root权限。
sudo su - root
- 在Master节点上切换到hadoop账号。