登录集群

通过与集群主节点建立SSH连接,您可以使用终端上的Linux命令来管理和与集群进行交互操作。此外,您还可以使用SSH连接创建隧道,以便通过Web浏览器查看开源组件的Web页面。本文为您介绍如何在Windows和Linux环境中使用SSH方式(SSH密钥对或SSH密码方式)登录集群。

前提条件

  • 已在EMR on ECS创建集群,详情请参见创建集群

  • 确保本地服务器与集群主节点网络连通。您可以在创建集群时打开挂载公网开关,或者在集群创建好之后在ECS控制台上为主节点挂载公网,为主节点ECS实例分配固定公网IP或EIP,详情请参见绑定辅助弹性网卡

  • 集群安全组已开放22端口。

登录集群主节点

SSH密钥方式

说明

如需获取主节点的公网IP地址,请参见如何获取主节点公网IP地址和节点名称?

您可以通过以下三种方式登录集群,详细信息如下:

  • 本地使用Linux操作系统

    下面步骤以私钥文件ecs.pem为例进行介绍:

    1. 执行以下命令,修改私钥文件的属性。

      chmod 400 ~/.ssh/ecs.pem

      ~/.ssh/ecs.pemecs.pem私钥文件在本地服务器上的存储路径。

    2. 执行以下命令,连接主节点。

      ssh -i ~/.ssh/ecs.pem emr-user@<主节点公网IP地址>
  • 本地使用Windows操作系统(通过PuTTY配置信息)

    您可以按照以下方式登录主节点。

    1. 下载PuTTY和PuTTYgen

    2. .pem私钥文件转换为.ppk私钥文件。

      1. 运行PuTTYgen。本示例中PuTTYgen版本为0.73。

      2. Actions区域,单击Load,导入创建集群时保存的私钥文件。

        导入时注意确保导入的格式要求为All files (*.*)

      3. 选择待转换的.pem私钥文件,单击打开

      4. 单击Save private key

      5. 在弹出的对话框中,单击,指定.ppk私钥文件的名称,然后单击保存

        保存转化后的私钥到本地。例如:kp-123.ppk

    3. 运行PuTTY。

    4. 选择Connection > SSH > Auth,在最下面一个配置项Private key file for authentication中,单击Browse,选择转化后的密钥文件。

    5. 单击Session,在Host Name (or IP address)下的输入框中,输入登录账号和主节点公网IP地址。

      格式为emr-user@[主节点公网IP地址],例如emr-user@10.10.**.**session

    6. 单击Open

  • 本地使用Windows操作系统(通过命令配置信息)

    打开CMD,输入以下命令登录集群。

    ssh -i <.pem私钥文件在本地机上的存储路径> emr-user@<主节点公网IP地址>

SSH密码方式

说明

以下步骤中涉及的用户名,密码分别是root用户和创建集群时设置的密码。主节点公网IP地址请参见如何获取主节点公网IP地址和节点名称?

针对不同操作系统,详细的操作步骤如下:

  • 本地使用Linux操作系统

    您可以在本地终端的命令行中运行如下命令连接主节点。

    ssh root@[主节点公网IP地址]
  • 本地使用Windows操作系统

    1. 下载并安装PuTTY。

      下载链接:PuTTY

    2. 启动PuTTY。

    3. 配置连接Linux实例所需的信息。

      • Host Name (or IP address):输入实例的固定公网IP或EIP。

      • Port:输入22

      • Connection Type:选择SSH

      • (可选)Saved Sessions:输入一个便于识别的名称,然后单击Save即可保存会话,下次登录时无需输入公网IP等信息。

    4. 单击Open

    5. 输入用户名(默认为root),然后按回车键。

      输入完成后按回车键即可,登录Linux实例时界面不会显示密码的输入过程。

登录集群其他节点

方法一:免密登录

您可以通过以下步骤登录Core节点或Task节点。

  • 数据湖(DataLake)、实时数据流(DataFlow)、数据分析(OLAP)、数据服务(DataServing)和自定义场景的集群

    1. 登录集群主节点,详情请参见登录集群主节点

    2. 在Master节点上切换到emr-user账号。

      su emr-user
    3. 免密码登录到对应的Core节点或Task节点。

      ssh core-1-1
  • 其余集群

    1. 登录集群主节点,详情请参见登录集群主节点

    2. 在Master节点上切换到hadoop账号。

      su hadoop
    3. 免密码登录到对应的Core节点或Task节点。

      ssh emr-worker-1

方法二:直接连接ECS实例

  1. 进入节点管理页面。

    1. 登录E-MapReduce控制台

    2. 在顶部菜单栏处,根据实际情况选择地域和资源组

    3. 单击目标集群操作列的节点管理

  2. 节点管理页面,单击目标节点名称下的ECS ID,即可进入ECS控制台。

  3. 在实例页面,单击重置实例密码,详情请参见重置实例登录密码

    重要

    默认情况下,Core和Task类型节点未设置ECS登录密码。如果需要使用密码登录,请在ECS控制台中修改实例登录密码。

  4. 重置密码后,请选择合适的工具连接节点ECS实例,详情请参见连接方式概述

常见问题

如何获取主节点公网IP地址和节点名称?

  1. 进入节点管理页面。

    1. 登录E-MapReduce控制台

    2. 在顶部菜单栏处,根据实际情况选择地域和资源组

    3. 单击目标集群操作列的节点管理

  2. 节点管理页面,单击主实例组所在行的open图标。

    Master IP

    • 公网IP:可以获取主节点的公网IP地址。

    • 节点名称:可以获取主节点的节点名称。

      集群类型不同,对应的节点名称不同:

      • 数据湖(DataLake)、实时数据流(DataFlow)、数据分析(OLAP)、数据服务(DataServing)和自定义场景的集群:master-1-1。

      • 其余集群类型:emr-header-1。

如何在本地以免密方式登录集群?

您可以通过以下步骤在本地以免密方式登录集群。

  1. 打开CMD,输入以下命令生成公钥。

    ssh-keygen

    本地服务器目录下会生成相应的公钥文件。ssh-key

  2. 将生成的公钥加入至待访问集群的主节点上。

    1. 进入待访问集群的/.ssh目录。

      cd ~/.ssh
    2. 配置主节点的密钥。

      vim authorized_keys
    3. 添加本地公钥中id_rsa的内容至authorized_keys中。

  3. 加入本地机器的IP地址至安全组。

    1. 获取机器的公网访问IP地址。

      为了安全地访问集群组件,在设置安全组策略时,推荐您只针对当前的公网访问IP地址开放。获取您当前公网访问IP地址的方法是,访问IP地址,即可查看您当前的公网访问IP地址。

    2. 添加安全组规则,以开启22端口。

      添加安全组规则,详情请参见添加安全组规则Security group

  4. 在CMD中,输入以下命令免密登录集群。

    ssh root@<主节点公网IP地址>

创建集群时的密码可以用来登录集群的节点吗?

E-MapReduce集群创建后,Master节点可以使用创建集群时设置的密码登录,其余节点的登录方式,请查看登录集群其他节点

如何重置密码?

重置密码需要前往ECS控制台操作。具体操作如下:

  1. 在E-Mapreduce控制台的节点管理页面,找到待修改的节点。

  2. 单击实例ID,跳转至ECS控制台。image.png

  3. 在实例页面,单击重置实例密码

    更多信息,请参见重置实例登录密码

相关文档

您可以在SSH连接中创建隧道以查看开源组件的Web页面,详情请参见通过SSH隧道方式访问开源组件Web UI