配置 Bridge 客户端池
本主题介绍站点管理员如何配置和管理 Bridge 客户端的池化。池化允许站点中的客户端对连接到私有网络数据的数据源或虚拟连接的数据新鲜度任务进行负载平衡。
配置池化
池的目的是在池中的可用客户端之间分摊(或平衡)数据新鲜度任务的负载,该池的访问范围限于您私有网络中的域。池映射到域,使您能够通过限制对私有网络中受保护域的访问,将池专用于使特定数据保持最新和维护安全。
尽管池中用于执行数据新鲜度任务的客户端是随机选择的,但如果出于任何原因客户端无法再执行任务,则系统会自动该任务重新路由到池中的另一个可用客户端来处理该任务。客户端池的支持或和管理无需您或用户进行额外干预。
池优化用于使连接到一个或多个私有网络上的数据的数据源或虚拟连接保持最新。池化支持不会扩展到使用 Bridge(旧版)计划的数据源。
通常会针对以下情况对池化进行优化。
Bridge 被用作关键服务。您的组织要求实时查询和计划刷新支持必须可用(即使在客户端变得不可用的情况下也是如此)。
客户端满负荷运行。您的现有站点流量超出客户端的当前容量。
Tableau Cloud 管理的基于文件的数据源的计划。从 Bridge 客户端版本 2021.4.3开始,Bridge 池为基于文件的数据源启用 Bridge 刷新计划。
在多个私有网络上使数据保持最新。
- 虚拟连接。(需要 Data Management)需要 Bridge 来刷新连接到私有网络数据的虚拟连接中的数据。有关虚拟连接的详细信息,请参见关于虚拟连接和数据策略。
在配置池化之前
在为站点配置客户端池之前,请查看以下内容:
- 客户端必须已安装并正在运行。有关软件和硬件的详细信息,请参见Bridge 可用于纵向和横向扩展。配置 Bridge 部署时,请考虑以下事项:。
- 客户端配置为以服务方式运行。有关详细信息,请参见应用程序模式与服务模式。
- 在客户端中经过身份验证的用户是 Tableau Cloud 站点管理员。有关部署 Bridge 的详细信息,请参见计划 Bridge 部署。
- 为了使虚拟连接保持最新,请确保池中的所有客户端都运行 Bridge 2021.4(或更高版本)。
- 若要对基于文件的数据源进行负载平衡,请确保以下各项:
- 池中的所有客户端都运行 Bridge 2021.4.3(或更高版本)。
- 对文件数据的引用必须使用包含服务器名称或主机名的完整 UNC 路径。有关详细信息,请参见关于 Bridge 客户端。
- 基于文件的数据源仅限数据提取。
有关用户角色的注释
只有站点管理员或者具有“站点管理员”或“站点管理员 Creator”角色的用户才能配置和维护池化客户端。无论在客户端中进行身份验证的用户类型如何,只有站点管理员才能添加新池、将客户端添加到池、从池中移除客户端,并监视池中的客户端。
关于刷新作业的注意事项
“作业”页面可以显示使用 Bridge 刷新计划的已完成、正在进行、待定、已取消和挂起的所有 Bridge 刷新作业。这包括基于文件和非基于文件的数据源的刷新。有关详细信息,请参见关于 Bridge 刷新作业。有关监控 Bridge 活动的各种方法的详细信息,请参见监视数据新鲜度任务。
步骤 1:确保客户端可以连接到站点
为了使 Bridge 能够处理您的站点,您必须允许客户端向站点进行身份验证。
使用站点管理员凭据登录到 Tableau Cloud,并转到“设置”页面。
单击“身份验证”选项卡,并验证“连接的客户端”标题下的“允许客户端自动连接到此 Tableau Cloud 站点”复选框是否处于选中状态。有关此复选框的详细信息,请参见从连接的客户端中访问站点。
注意:如果启用,则必须启用连接的客户端选项以支持包含 Tableau 身份验证的多重身份验证。如果为站点禁用了已连接客户端,则 Bridge 只能支持 Tableau 用户名和密码身份验证。
步骤 2:配置池
需要 Bridge 2021.4(或更高版本)客户端的池有助于将实时查询和数据提取刷新作业路由到适当的私有网络。使用池访问分布在多个私有网络中的数据,为基于文件的数据源启用数据提取刷新,并支持虚拟连接的数据新鲜度任务。
- 在“Bridge”选项卡上的“池化”下,单击“添加新池”按钮。
- 在对话框的“池”文本框中输入新池名称,然后单击“保存”。
在您至少配置了一个池后,Tableau Cloud 会在发布过程中自动将某些数据源或虚拟连接与 Bridge 和客户端池相关联。
步骤 3:为池指定域
每个新池都需要通过私有网络允许列表指定一个域。Bridge 需要此信息才能代表 Tableau Cloud 访问专用网络中的数据。
您的组织中的允许列表和池中的域总数不得超过 100 个。
使用私有网络允许列表,您必须指定要启用客户端访问权限的私有网络域。这些域应对应于您希望让 Bridge 代表 Tableau Cloud 访问的数据库和文件共享的私有网络位置。
域名
您在允许列表中指定的域名是数据源连接或虚拟连接中使用的服务器名称。在某些情况下,您可以在 Tableau Cloud 的数据源页面的“连接”选项卡中找到列出的服务器名称。
注意:访问连接到已发布数据源的工作簿时,请不要在私有网络允许列表中使用 *.tableau.com。域 *.online.tableau.com 用于出站连接的代理筛选。请参见可选的转发代理筛选。
例如,为了使“Starbucks”等数据源保持最新,您可以在允许列表中指定“mssql.myco.lan”和“oracle.myco.lan”或“*.myco.lan”。
若要使“Fitness Challenge”等数据源保持最新状态,请在允许列表中指定“fitness-challenge”。
在其他情况下,“连接”选项卡可能不会列出服务器名称。如果未列出服务器名称,请考虑与内容所有者合作确定数据的托管位置,并在获得该信息后在允许列表中指定服务器名称。作为临时替代方案,您可以跳到步骤 4:将客户端添加到池以指定客户端改为使用默认池。
IP 地址
您可以在允许列表中指定 IPv4 地址,而不是域名。如果在数据源连接或虚拟连接中使用 IPv4 地址,我们建议您在允许列表中指定 IPv4 地址。考虑与您的内容所有者合作以获取此信息。如果您没有该信息,作为临时替代方案,您可以跳到步骤 4:将客户端添加到池以指定客户端改为使用默认池。
注意:
- 出于安全考虑,允许列表默认为空以防止 Tableau 访问。这可确保站点管理员指定可以使用 Bridge 将哪些数据发送到 Tableau Cloud。
- 您可以将 Fiddler 与 Tableau Desktop 结合使用来捕获连接到数据源时使用的 URI。有关详细信息,请参见 Fiddler。
- 可以将一个或多个域分配给池。
- 如果您的站点在 Tableau 2021.4 之前设置为使用池化,则出于向后兼容性目的“默认池”会保留,但无法配置为访问特定私有网络。为减少此池的访问范围并启用更高级的调度功能,我们建议您创建新池并将其映射到特定域。
若要将域映射到池,请执行以下操作:
在“Bridge”选项卡上的“私有网络允许列表”下,单击“添加新域”按钮。
在“域”文本框中,使用允许列表注册表规则中描述的信息输入域的 URI。
在“域权限”下,确保选中“允许”单选按钮。
在“池”下选择池,该池的访问范围应限制为您在步骤 2 中指定的 URI。
- 为每个其他域重复步骤 1-4。
完成后,单击“保存”。
允许列表注册表规则
指定要启用 Bridge 访问的域时,请使用以下规则。这允许 Bridge 代表 Tableau Cloud 访问您私有网络上的数据以执行数据新鲜度任务。域使 Bridge 能够连接到托管在该域中的数据库和文件数据。
注意:
- 允许列表注册表中的池数加域数的总数不得超过 100。如果这些组合对象的数量超过 100 个,则无法添加新池。
- 在添加到允许列表、发布数据源或虚拟连接,或在配置刷新计划当时不会验证域。
- 由于未验证域名及其 IP 地址,因此将同一域添加到允许列表中导致重复。在这种情况下,如果一个池映射到域名,另一个池映射到 IP 地址,则数据源连接或虚拟连接中指定的格式决定了哪个池保持数据最新。
- 域必须可由 Bridge 访问。这意味着,池中的所有客户端都必须有权访问指定的域。
- 如果未指定域,Bridge 无法为针对 Bridge 刷新计划配置的数据源或虚拟连接运行数据新鲜度任务。注意:针对 Bridge 旧版计划配置的数据源将继续以相同方式运行。
方案 | 描述 | 示例 |
数据提取域名 | 可以是 FQDN 或 PQDN。不允许使用端口号。 | myco.com |
域名范围 | 使用可选的前导通配符 (*) 以包含所有子域。* 后面必须直接跟一个句点 (.)。 | *.myco.com |
确切的 IPv4 地址 | 使用 IPv4 文字(不允许使用缩写)。不允许使用 IPv6 地址。 | 255.255.0.1 |
IPv4 地址范围 | 使用子网掩码包括 IPv4 地址范围。 | 255.255.0.1/16 |
阻止域 | (仅限指定池)阻止 Bridge 与此域中主机连接。 | 在私有网络允许列表中添加或编辑域时,选择“阻止”单选按钮选项。 |
允许列表注册表示例
示例 1 - 数据库数据
假设您希望 Bridge 执行以下操作:
- 对位于 data.lan 和 sqlserver.myco.lan 中的数据执行数据新鲜度任务。
- 阻止位于 oracle.myco.lan 中的数据的数据新鲜度任务。
为了使 Bridge 能够支持这些方案,您可以将域映射到两个池(A 和 B)并阻止第三个域。
如果指定... | 并映射到池... | ...数据在位置中刷新 |
*.lan | 池 A | data.lan |
sqlserver.myco.lan | 池 B | sqlserver.myco.lan |
*.myco.lan 注意:尽管此域范围会阻止 oracle.myco.lan 上的数据新鲜度任务,但如果明确允许该域(例如 sqlserver.myco.lan),则被阻止的域范围可以解除对其中的特定域的阻止。 | (已阻止) | - |
示例 2 - 文件数据
假设您有位于 fileserv.myco.lan上的文件数据 C:\Shared\employees.csv。若要启用 Bridge 对此数据的访问,请将计算机的域映射到池。您可以为池指定以下域之一:
- 选项 #1:*.lan
- 选项 #2:*.myco.lan
- 选项 #3:fileserv.myco.lan
注意:主机计算机必须允许对“共享”文件夹的网络访问。
步骤 4:将客户端添加到池
按照以下步骤分配尚未分配到池的客户端。
注意:若要支持所有数据的数据新鲜度任务,请确保池中的客户端运行 Bridge 2021.4(或更高版本)。
- 在 “取消分配客户端”表的“Bridge”选项卡上,导航到要分配给池的客户端,然后单击“分配”。
- 在“池”下拉菜单中,选择要与客户端关联的池。
- 为要分配给池的每个未分配客户端重复步骤 2。
池化疑难解答
Bridge 刷新作业失败,并出现下列错误之一。
可能会在“作业”页面和“非数据提取后台任务”管理视图上看到以下错误。
“errorID=NO_POOLED_AGENTS_ASSIGNED”
此问题是默认池特有的,可能由于以下两种原因之一而发生:
当数据源的服务器地址或 IP 地址与专用网络允许列表中指定的域不匹配时。这会导致将刷新作业发送到没有分配客户端的默认池。
若要解决此问题,请确保 1) 允许列表包含数据源使用的域(服务器地址或 IP 地址),以及 2) 至少一个池与这些域(服务器地址或 IP 地址)相关联。有关详细信息,请参见步骤 3:为池指定域。
- 当默认池中没有客户端时。若要解决此问题,请至少向默认池中添加一个 Bridge 2020.2 (或更高版本)客户端。有关详细信息,请参见步骤 4:将客户端添加到池。
"errorID=NO_POOLED_AGENTS_ASSIGNED_NAMED_POOL"
如果指定池中没有客户端,则可能会出现此问题。若要解决此问题,请至少向指定池中添加一个 Bridge 2021.4 (或更高版本)客户端。有关详细信息,请参见步骤 4:将客户端添加到池。
“errorID=NO_AGENT_IN_POOL_SUPPORTS_REMOTE_EXTRACT_REFRESH”
当刷新作业尝试在池中没有至少一个 Bridge 2020.2(或更高版本)客户端的情况下运行时,可能会出现此问题。若要解决此问题,请至少向池中添加一个 Bridge 2020.2 (或更高版本)客户端。有关详细信息,请参见步骤 3:为池指定域。
“errorID=NO_POOLED_AGENTS_CONNECTED”
当池中的任何客户端都无法运行数据新鲜度任务时,可能会出现此问题。有关详细信息,请参见上面的配置 Bridge 客户端池部分。
客户端中的“errorID=REMOTE_EXTRACT_REFRESH_ALL_AGENTS_BUSY”或“errorMessage: Maximum concurrency reached”
如果在给定时间运行的刷新作业数超过客户端池的容量,则可能会出现这些问题。为了帮助解决此问题,您可以执行以下操作:
- 将其他客户端添加到池中。有关详细信息,请参见步骤 4:将客户端添加到池。
- 增加每个客户端上的 connectionPool 设置的大小。有关详细信息,请参见更改 Bridge 客户端设置。
“errorID= AGENTS_IN_POOL_REQUIRE_UPGRADE”
从 Tableau 2021.4 开始,当池中的客户端需要升级到 Bridge 2021.4(或更高版本)以运行数据新鲜度任务时,可能会出现此问题。有关升级客户端的详细信息,请参见安装 Bridge。
Bridge 客户端被注销
如果在同一 Windows 服务帐户下部署大量客户端,则可能发生此问题。当一个 Windows 服务帐户下运行的客户端超过 10 个时,帐户安全措施可能会导致客户端注销。有关详细信息,请参见Windows 服务帐户。
其他潜在的池化问题
尝试诊断与池化相关的问题时,请考虑查看 Bridge 客户端计算机上客户端的以下日志文件:tabbridgeclijob_<进程 id>、jprotocolserver_<进程 id>、stdout_jprotocolserver_<进程 id>。有关详细信息,请参见更改 Bridge 客户端设置。
添加新池导致错误,发生内部系统错误
如果您组织中的池总数与允许列表注册表中的域数量总和超过 100,则可能会出现此错误。