对于大数据处理场景,如果客户端需要从开源大数据开发平台E-MapReduce(简称EMR)集群外部(如ECS或K8s Pod)提交作业,会因为无法通过内网域名解析导致作业提交失败。您可以启用DNS主机名,启用后集群外部的客户端可以通过DNS主机域名与EMR集群中的任意节点互通,简化作业提交流程。
功能简介
什么是DNS主机名?
域名系统(DNS)是互联网中用于将域名解析为IP地址的标准系统和协议。DNS主机名是一个在网络中唯一且绝对区分网络计算机的名称,它由主机名和域名组成。DNS服务器负责将DNS主机名称解析到对应的IP地址,使用户能够通过域名便捷地访问各种网络资源。
工作原理
在专有网络VPC中,DNS主机名用于标识ECS实例,通过在VPC内启用DNS主机名,可以为该VPC内的ECS实例配置内置权威域名。该域名格式为[regionID].ecs.internal
,关于该域名的基本构成和使用限制,请参见ECS私网域名。
启用DNS主机名后,该VPC会绑定默认DHCP选项集,若该VPC下无默认DHCP选项集,系统会自动创建并绑定至该VPC。
例如在马来西亚(吉隆坡)地域已创建的VPC中启用DNS主机名,此时该VPC中的ECS实例配置的内置权威域名为ap-southeast-3.ecs.internal
,您可以为VPC中的ECS实例配置实例ID格式的主机名,并设置基于实例ID格式的私网域名解析,配置后VPC内的ECS即可通过主机域名i-******.ap-southeast-3.ecs.internal
实现资源互访。具体流程如下图所示。
适用场景
通过DNS主机域名访问业务服务器,主要适用于以下场景:
分布式计算集群:在分布式计算如Hadoop的集群环境,针对EMR集群,通过DNS主机域名可以确保外部客户端访问集群内的服务,从而简化资源调度及作业提交流程。
自动化部署和配置管理:在自动化部署和配置管理场景中,通过在配置文件和脚本中使用DNS主机域名代替直接的IP地址引用,可以实现即使实例IP变化也不影响服务发现和配置的准确性。
场景示例
本文以下图场景为例,某企业在马来西亚(吉隆坡)地域拥有专有网络VPC。在VPC中部署了EMR进行大数据分析,EMR集群通常由Master和Core这两种类型的节点组成。Kerberos作为身份验证协议,部署在Master节点,确保集群中的安全性和所有节点间通信的安全性。目前提交作业仅限于EMR集群内部。
现因业务发展,企业需要通过集群外部的客户端ECS实例(已部署Gateway环境),向EMR集群主机名为i-8ps******5py2u
的Master节点提交作业。该企业可以为VPC启用DNS主机名,启用后,集群外部的客户端可以通过DNS主机域名与EMR集群中的Master节点进行通信。
图 1. 外部客户端访问EMR内的Master节点
注意事项
启用DNS主机名时,请勿删除默认DNS服务器地址,删除该地址会导致ECS实例的主机域名无法解析。
同VPC下集群外部的客户端ECS实例(已部署Gateway环境),必须与EMR集群的Master节点配置的安全组相同。
DNS主机名功能目前处于邀测中,如需使用,请联系客户经理申请。
前提条件
您已在马来西亚(吉隆坡)地域创建专有网络VPC。
您已在EMR on ECS控制台创建EMR集群,该集群使用默认配置即一个Master节点,两个Core节点,并已打开Kerberos身份认证开关。
您已创建用于在外部提交EMR作业的客户端ECS实例,并已在该实例中部署Gateway环境。
操作步骤
步骤一:启用DNS主机名
- 登录专有网络管理控制台。
在顶部菜单栏处,选择目标专有网络VPC的地域。本文选择马来西亚(吉隆坡)。
在专有网络页面,单击目标VPC实例ID,在专有网络基本信息区域,启用DNS主机名。
步骤二:为ECS实例配置私网域名解析
启用DNS主机名后,您需要为集群外部的客户端和Master节点的ECS实例配置私网域名解析。
登录ECS管理控制台。
在左侧导航栏,选择 。
分别为客户端和Master节点的ECS实例配置私网域名解析。
在操作列选择> 实例属性 > 编辑实例属性,在编辑实例属性对话框,配置如下方式域名解析。
步骤三:结果验证
本文用于验证域名解析的客户端以Alibaba Cloud Linux 3.2104 64位操作系统为例。
登录集群外部的客户端ECS,打开命令行窗口。
执行以下ping命令,测试客户端的ECS是否能够通过DNS主机域名访问EMR集群的Master节点。
ping i-8ps******5py2u.ap-southeast-3.ecs.internal
如果能收到如下回复报文,则表示DNS主机域名可以访问EMR集群的Master节点。
更多操作
禁用DNS主机名
禁用DNS主机名后,VPC分配的私网域名失效,通过私网域名无法解析ECS实例对应的IP地址。
在专有网络页面,单击实例ID,然后在专有网络基本信息区域,找到DNS主机名,在右侧单击禁用。