类别

版本

您正在查看9.7 -版本的RapidMiner Radoop文档点击这里查看最新版本

Hadoop集群组网概述

存储在Hadoop集群中的数据通常是保密的,因此确保您的数据不受未经授权的访问是很重要的。许多公司决定将Hadoop集群部署到防火墙后面的单独网络中。下面的小节提供了一些建议的方法来确保RapidMiner Radoop可以连接到这些集群。

注意:在实现RapidMiner Radoop之前,您必须有一个功能齐全的Hadoop集群。Hadoop集群管理员可以使用以下提示和技巧,这些提示和技巧仅作为有用的建议提供,并不打算作为受支持的特性。

为了正常运行,RapidMiner Radoop客户端需要访问集群上的以下端口。为了避免打开所有这些端口,我们建议使用Radoop代理, RapidMiner服务器附带的安全代理解决方案,或作为独立Docker容器请参阅Radoop Proxy的详细信息在下面。

组件 默认端口 笔记
HDFS NameNode 8020或9000 NameNode主节点必需。
ResourceManager 8032或8050和8030 8031 8033 ResourceManager主节点上的资源管理平台。
JobHistory服务器端口 10020 MapReduce任务终止后,用于访问任务信息的端口。
DataNode港口 50010和50020或1004 需要访问这些端口每一个奴隶节点。
Hive服务器端口 10000 Hive主节点上的Hive server端口;使用这个或Impala端口(如下)。
黑斑羚守护港 21050 运行Impala守护进程的节点上的Impala守护进程端口;使用这个或Hive端口(上面)。
应用程序主 所有可能的端口 应用程序主机在绑定时使用随机端口。指定允许的端口范围
yarn.app.mapreduce.am.job.client.port-range物业连接设置对话框。
时间轴服务 8190 这是Hadoop 3所需要的。详细信息可以在hadoop参数中找到yarn.timeline-service.webapp.address
Kerberos 88 可选:如果集群启用了Kerberos,则需要客户机可以访问它。(TCP和UDP都被使用)
密钥管理服务 16000 可选:如果集群使用密钥管理服务(KMS),则需要客户端可以访问它,连接uri信息在hadoop参数中dfs.encryption.key.provider.uri

RapidMiner当您选择a时,Radoop会自动设置版本特定的默认端口Hadoop版本管理Radoop连接窗口。这些默认值总是可以更改的。如果可以从RapidMiner Radoop客户端访问集群上的端口,则可以跳过本节。

以下选项描述了一些保护这些端口的方法,并确保只有RapidMiner Radoop客户端可以访问它们。

保护Hadoop集群最常见的方法是将其组织到一个专用网络中,并关闭网络外所有实体的端口。要使用该模型,必须确保RapidMiner Radoop客户端可以通过a . . a .连接到私有集群/网络网关节点它为用户提供SSH隧道和可选的SOCKS代理。为Hadoop设置SOCKS代理和为Hive(或Impala)设置SSH隧道分为两步:

  1. 建立SSH隧道
  2. 配置RapidMiner Radoop

为Hive启动SOCKS代理和SSH隧道

下面的步骤在客户端上建立一个隧道并创建一个SOCKS代理——SOCKS代理用于Hadoop api,隧道用于Hive/Impala JDBC连接。

  1. 在本地客户端计算机上选择两个大于1024的空闲端口。此处以1234和1235端口为空闲端口,10000端口为Hive Server端口为例。可选地,您可以为Impala添加第二个隧道。

  2. 从SSH客户端连接到网关节点,设置SSH隧道并创建SOCKS代理。例如:

    • 在端口1234上创建一个SOCKS代理。
    • 从本地端口(1235)到Hive Server节点端口(10000)建立SSH隧道。
    • 如果您还打算使用Impala,请从本地端口1236添加第三条隧道到Impala节点端口(默认为21050)。

打开SSH应用程序。本例使用免费SSH客户机PuTTY和上面的样例端口号。

  1. 在用户界面上配置端口转发。例如:
    • 添加1234作为一个动态转发端口。
    • 添加1235作为源端口
    • 添加hive-internal-address: 10000作为目的地。
  2. 只要您在远程集群上使用RapidMiner Radoop, SSH隧道就必须保持运行。为了保持隧道畅通,设置keep - alive间隔秒物业连接面板的值必须大于零(例如60秒)。

  3. 如果您还想使用Impala,请添加一个额外的隧道:

    • 添加1236作为源端口
    • 添加impala-internal-address: 21050作为目的地。

要在基于linux的系统上设置SSH,请从终端运行以下命令。这些示例使用了上面的示例端口号(1234和1235)。

  1. 如果使用私钥进行身份验证,请添加我/路径/ / private.key

    ssh -N -D 1234 -L 127.0.0.1:1235:hive-internal-address:10000 user@gateway-public-address
  2. 只要您在远程集群上使用RapidMiner Radoop, SSH隧道就必须保持运行。为了保持隧道畅通,设置ServerAliveInterval~ / . ssh / config.通常,keepalive请求之间的间隔为60秒就足够了。注意,您可以设置ServerAliveInterval在系统范围的配置文件、用户配置文件中,或者在SSH命令行上(使用- o选项)。

  3. 如果您还想使用Impala,请添加一个额外的隧道。

    - l 127.0.0.1:1236: impala-internal-address: 21050

为SOCKS和SSH配置RapidMiner Radoop高级设置

当使用SOCKS代理和SSH隧道时,RapidMiner Radoop连接需要额外的配置设置。

  1. 连接菜单中,选择管理Radoop连接

  2. 单击配置图标配置按钮管理Radoop连接窗口打开连接设置对话框。

  3. 完成如下设置:

    设置
    NameNode地址 输入HDFS主节点的私有主机名/IP地址。
    资源管理器地址 输入YARN主节点的私有主机名/IP地址。
    Hive Server地址 输入本地主机.(仅适用于蜂巢版没有设置为Impala。)
    黑斑羚地址 输入本地主机.(仅适用于蜂巢版设置为Impala。)
    NameNode港口 默认为Hadoop值;不需要改变。
    资源管理器端口 默认为Hadoop值;不需要改变。
    Hive Server端口 1235(默认)或配置的端口号。(仅适用于蜂巢版没有设置为Impala。)
    Impala Daemon港口 1236(默认)或配置的端口号。(仅适用于蜂巢版设置为Impala。)
    Hadoop高级参数 关键:hadoop.rpc.socket.factory.class.default
    值:org.apache.hadoop.net.SocksSocketFactory
    启用:是的
    Hadoop高级参数 关键:hadoop.socks.server
    值:localhost: 1234
    启用:是的
    高级Hadoop参数(避免bug)hdfs - 3068当使用代理时) 关键:dfs.client.use.legacy.blockreader
    值:真正的
    启用:是的
  4. 点击测试图标好吧Save图标保存保存此连接。
  5. 单击快速测试图标快速测试按钮以测试连接。如果测试成功,您就正确地建立了到Hadoop集群的安全连接。

将客户端节点引入专用网络的另一种方法是定义虚拟专用网络(VPN)。要做到这一点,请参考OpenVPN文档或咨询您的网络管理员了解更多详细信息。在定义VPN并将您的客户端计算机连接到它之后,您可以从客户端访问所有必要的Hadoop端口;不需要进一步配置。

如果您的Hadoop节点没有在专用网络中受到保护,并且没有与Internet隔离,则必须使用适当的防火墙设置来保护您的数据。由于Hadoop集群通常由许多节点组成,并且一个节点上的服务与其他节点上的其他服务进行通信,因此如果有防火墙,那么所有这些服务端口都必须是开放的。一种常见的做法是打开集群内Hadoop节点之间的所有端口。

此外,您必须打开所需的港口用于所有RapidMiner Radoop客户端。请注意,随着向集群添加更多节点,这些设置可能变得复杂且难以维护。最好是将所有Hadoop节点组织到一个专用网络中,如第1节所述袜子代理

使用Radoop代理进行网络连接

Radoop Proxy大大简化了网络设置:只需要在防火墙上打开几个端口,Radoop客户机就可以访问Hadoop集群。详见下表。

默认端口号# 笔记
1081 该端口由Radoop Proxy使用,在安装Radoop Proxy时配置
88 可选:如果集群启用了Kerberos,则需要客户机可以访问它。如果使用Radoop Proxy, Kerberos令牌提供程序/身份验证器仍然必须向客户机公开。(TCP和UDP都被使用)
16000 可选:如果集群使用密钥管理服务(Key Management Services, KMS),则需要客户端可以访问它。连接URI信息在Hadoop参数中dfs.encryption.key.provider.uri
8190 可选:对于基于Hadoop 3的集群,需要公开Timeline服务提供程序,并且Radoop客户端可以访问该服务提供程序,以获取作业状态信息。Hadoop参数yarn.timeline-service.webapp.address可以提供连接信息。

控件可以保护Radoop代理RapidMiner服务器身份验证设置和/或它自己的静态定义的用户名/密码。在使用RapidMiner服务器身份验证的情况下SAML当Radoop代理连接设置为使用SAML时,所使用的令牌将来自与Radoop代理连接相关联的远程存储库。

要在Studio中为Radoop连接配置Radoop代理,请查看指南配置Radoop代理连接.有关自定义Server中的安装或部署独立Radoop Proxy的信息,请参见自定义Radoop Proxy安装部分。