Controller(控制器)
控制器管理服务设置并将工作委派给工作程序。在一个部署中,您只能启用一台计算机作为控制器。
在System Settings(系统设置)中的Controller(控制器)屏幕上配置控制器组件。如果您在Environment(环境) Setup Type(设置类型)屏幕上选择了以下选项之一,则在System Settings(系统设置)中会显示Controller(控制器)屏幕:
Designerand Scheduler Only(仅限 Designer 和计划程序)
Complete Alteryx Server(完整的 Alteryx Server)
Custom(自定义) Enable Controller(启用控制器)
控制器配置
Controller Configuration屏幕包括配置选项,例如要用于存储临时文件和日志文件的位置以及要记录的信息。
令牌
控制器Token是一个自动生成的密钥,控制器使用该密钥与使用 Designer 的工作程序和计算机进行通信。
如果使用 Designer 的计算机不是控制器计算机,并且您希望在这台计算机上计划未来某个日期的工作流,则必须在Schedule Workflow(计划工作流)屏幕上添加控制器令牌,以计划工作流。
如果要让一台计算机充当控制器,另一台计算机充当工作程序,您也需要控制器令牌。设置控制器计算机以获取控制器令牌。然后,在设置工作程序计算机时,在System Settings(系统设置)Controller(控制器) Remote(远程)中添加控制器令牌。
如有必要,您可以重新生成令牌,比方说,在令牌被盗用的情况下。如果您重新生成令牌,则必须也在部署中的 Server UI 和工作程序节点进行更新。如果要重新生成令牌,请单击Regenerate(重新生成)。
Communication(通信)
Enable Controller SSL/TLS(启用控制器 SSL/TLS):选中 Enable Controller SSL/TLS 复选框时,将为控制器启用 SSL/TLS。
默认情况下,此设置对 FIPS 环境启用,对非 FIPS 环境禁用。
选择此设置之前,请确保已安装有效的签名证书和私钥。如需详细了解如何安装和配置证书,请参阅配置 SSL/TLS。
请注意,如果您已经在Environment Configuration(环境配置)页面上为环境启用了 Globally Enable SSL/TLS(全局启用 SSL/TLS)设置,它将在此处自动启用并锁定。
Port(端口):未选中时,端口默认为 80。选中时,端口默认为 443。但是,您仍然可以手动更改端口。
Workspace(工作区)
Workspace(工作区)是控制器存储临时文件或缓存文件的位置。默认情况下,该文件夹位于 System Settings(系统设置)的 Environment(环境)屏幕中定义的全局工作空间文件夹中。请使用可安全存储大量文件的位置。
Logging(日志记录)
控制器为诸如服务已启动和已关闭之类的事件以及执行请求等生成日志。这些日志有助于进行故障排除。如需了解详情,请访问Configure and Use Server Logs(配置和使用 Server 日志)。
Level(级别):您可以设置日志记录级别。对于需要很少日志记录的生产环境,None(无)或 Low(低)级别可能足以满足需求,而 High 级别将记录更多消息,有助于进行故障排除。
File size (MB) (文件大小):此选项允许您在日志轮换之前指定日志文件的最大大小,新的活动日志文件将写入其中,之前的日志将放在存档文件中。这有助于防止创建难以在标准日志阅读器中使用的大型日志文件。
启用日志文件轮换:启用该选项以将超过最大大小的日志文件放在存档文件中。新事件将写入新文件。这可以防止创建难以在标准日志读取器中使用的大型日志文件。
Scheduler(计划程序)
选择Enable Scheduler auto-connect(启用计划程序自动连接),以允许计算机上的用户自动连接至计划程序。如果在连接至计划程序时遇到困难,请启用此选项。
重要
Enable Scheduler auto-connect(启用计划程序自动连接)已禁用,无法为 Server-FIPS 启用。
Engine(引擎)
选中 Enable AMP Engine(启用 AMP Engine),以支持在此环境中运行使用 Alteryx 多线程处理 (AMP) 引擎的工作流。在 Server 环境,这是开/关式设置。如果您为控制器启用 AMP Engine,则还需要在System Settings(系统设置) Engine(引擎)屏幕上设置至少一个工作程序来运行 AMP Engine。如需了解详情,请访问Engine(引擎)和 AMP Engine 最佳实践帮助页面。
了解 AMP Engine 设置
对于 Server 环境,System Settings Controller屏幕上的Enable AMP Engine(启用 AMP Engine) 设置是开/关式设置。此设置在环境级别启用 AMP。System Settings Engine中的设置告诉工作程序可以使用哪些引擎,从而可以运行哪些工作流。如需了解详情,请访问Engine(引擎)和 AMP Engine 最佳实践帮助页面。
例如,让我们以一个 3 节点环境为例。节点 1 已为控制器和 Server UI 进行设置并启用了 AMP。节点 2 是工作程序专用的节点,其引擎设置为仅限原始引擎。节点 3 是工作程序专用的节点,其引擎设置为Both Engines(两类引擎)。在此情景中,启用了在 Server 上运行 AMP 工作流的选项,这些工作流将仅在节点 3 上运行。原始引擎工作流将在节点 2 或节点 3 上运行。如果节点 3 脱机,原始引擎工作流仍将在节点 2 上运行,但 AMP 工作流将卡在队列中,直到节点 3 恢复联机为止。
我们建议在将 AMP Engine 部署到生产环境之前,在开发环境中对其进行测试。如需详细了解 AMP Engine,包括内存要求,请参阅 AMP Engine 文档和 AMP Engine 最佳实践。
持久层
作为工作流执行和各种其他操作的编排器,控制器需要一个可以维护可用工作流、执行请求队列和其他信息的位置。在持久层屏幕上定义对服务运行至关重要的信息的存储位置。
Database Type(数据库类型)
控制器通过 SQLite(仅限 Designer 使用)、MongoDB 或 SQL DB 维护信息。Server 提供嵌入式 MongoDB 以及 User-managed MongoDB(用户管理的 MongoDB) 或 User-managed SQL DB(用户管理的 SQL DB) 选项。如果要为 Server UI 配置计算机,则必须使用 MongoDB、User-Managed Mongo DB(用户管理的 Mongo DB) 或User-managed SQL DB(用户管理的 SQL DB)。
重要
MongoDB 社区版不能在 FIPS 环境运行,因此未嵌入到 Server-FIPS 中。您需要用户管理的 MSSQL、用户管理的 Mongo DB Atlas 或 MongoDB 企业高级版。
SQLite:创建 SQLite 数据库的实例。建议用于使用计划程序的轻量级和本地部署。
MongoDB:创建 MongoDB 数据库的实例。如使用量很大建议此选项。
User-Managed MongoDB:允许连接至您的 MongoDB 实现。
User-managed SQL DB(用户管理的 SQL DB):允许您连接到 SQL DB。目前,SQL Server DB 仅接受 Advanced(高级)选项。
重要
对于用户管理的 MongoDB,我们仅支持使用 SCRAM 身份验证的 MongoDB。不支持使用 Kerberos 身份验证的 MongoDB。
我们强烈建议您为持久层数据库建立自动备份系统。如需了解如何备份 MongoDB,请转至 MongoDB 备份。要备份 SQLite,您可以压缩或复制
\ProgramData\Alteryx\Service\
中的 Persistence 文件夹。如果在 SQLite 和 MongoDB 数据库类型之间切换,则不会迁移计划作业。必须手动重新计划这些作业。
Data Folder(数据文件夹)
Data Folder(数据文件夹)是 SQLite 或嵌入式 MongoDB 数据库文件的存储位置。如果您选择User-Managed MongoDB,则Data Folder将被禁用,因为它是在您的 MongoDB 实例中配置的。
高级数据库连接
高级用户管理的 MongoDB
如果您需要相关支持,请选择 Advanced User-Managed MongoDB(高级用户管理的 MongoDB)。
TLS/SSL
Replica Sets(副本集)
Sharding(分片)
MongoDB Atlas
重要
如果您在连接字符串(connection string)选项推出之前(2020.1 版或以前的版本)使用了副本集,则必须更改为连接字符串。
选择此选项后,Database(数据库)部分将显示一个 MongoDB Connection字段,供您指定 MongoDB 连接字符串。访问高级连接字符串帮助页面,获取有关指定连接字符串的提示和示例。
高级用户管理的 SQL
如果选择了User-Managed SQL DB 作为Database Type(数据库类型),则 Advanced Database Connection(高级数据库连接)部分将自动预填充Advanced User-Managed SQL(高级用户管理的 SQL) 选项。
Database(数据库)
如果您选择了User-Managed MongoDB,并且不用Advanced Database Connection,那么您将在Database(数据库)部分指定 MongoDB 实例的Host(主机)位置以及Database Name(数据库名称)。如果 MongoDB 实例需要身份验证,请在Username(用户名)和Admin Password(管理员密码)字段中输入这些信息。
对于嵌入式 MongoDB,系统会自动填充Host(主机)、Username(用户名)、Admin Password(管理员密码)和Password(密码)字段。该Admin Password(管理员密码)供 MongoDB 管理员用于设置备份和副本集。所有组件都使用该Password(密码)与 MongoDB 进行通信。您还可以使用该Password(密码)来创建与数据库相关联的使用情况报告。
Special characters in usernames, passwords, or parameter values have to be URL encoded.
如果选择了用户管理的 SQL DB,则必须在数据库 > SQL 连接中指定 SQL Server 实例的连接字符串。
Persistence 部分显示 SQL Connection 字段,供您指定 SQL DB 连接字符串。转至 SQL DB 高级连接字符串,获取有关指定连接字符串的提示和示例。
在确认 SQL 连接字符串后,系统设置会屏蔽该字符串。如果再次选择 SQL 连接字符串,则会出现一个弹出窗口。确认是否应清除或保留该值。有关 SQL 连接字符串的详细信息,请转至 SQL DB 高级连接字符串。
Persistence Options(持久层选项)
数据库维护工作流结果、计划和上传文件的历史记录。您可以将各种项目和文件标记为在指定天数后删除。这些设置会减少 Server 使用的硬盘驱动器空间。
重要
持久层选项具有追溯性。如果将所有持久层选项设置为10天后删除,则工作流结果、计划和文件的历史记录将仅显示最近10天的数据。
这些设置还将应用于 Server Usage Report (Server 使用情况报告)的可用历史记录。
对于所有持久层选项,处于错误状态的记录不会予以删除。
Delete queue and results after (days)(天数)【(天数)后删除队列和结果】:在指定天数后从数据库和工作流结果中删除已完成的作业。
Delete completed schedules after (days)【(天数)后删除已完成的计划】:删除在指定天数后State(状态)为Completed(已完成)的计划。
Delete uploaded files after (days)【(天数)后删除上传的文件】:在指定天数后删除通过分析应用程序上传到 Server UI 的文件。
重要
我们建议您采用定期备份节奏,并启用在 180 天(或您选择的非零值)后删除队列和结果、完成的计划和上传的文件。如果将值设置为 0,项目将无限期保留。
优点:这减少了硬盘空间的使用。
测绘配置
在Mapping Configuration(测绘配置)屏幕上,将计算机配置为地图控制器并定义图块和图层缓存的阈值。缓存地图图块和渲染它们所需的参考地图可提高性能。更大的缓存体积和更长的生存时间会导致对先前请求的图块的响应更快,但会占用更多的内存和磁盘空间。较小的缓存会产生相反的效果。
Enable map tile controller(启用地图图块控制器):选择“启用地图图块控制器”以允许计算机处理工作程序渲染的地图图块。“地图问题”和“地图输入”工具使用这些图块来渲染地图。
Memory cache (no.of tiles) 图块数:这是存储在内存中的最大地图图块数。1,000 个图块需要大约 450 MB 内存。内存缓存越高,存储的图块越多,性能越高,但需要的系统资源也越多。
Disk cache (MB)【磁盘缓存 (MB)】:这是为在硬盘上缓存地图图块图像分配的最大空间量。磁盘缓存越高,硬盘空间消耗越大,但可能会提高地图图块请求的性能。
Reference layer time to live (seconds)【引用图层生存时间(秒)】:“地图问题”和“地图输入”工具创建参考图层并由 YXDB 文件驱动。控制器可以维护对此 YXDB 文件的引用,以帮助加速渲染。此设置将定义用于保留引用图层信息的时间量。增加该数量可以优化频繁请求的图层的性能。下次请求时会重新生成过期的引用图层。
Remote Controller(远程控制器)
如果您已将计算机配置为工作程序,则Remote Controller(远程控制器)屏幕是Controller(控制器)下唯一的屏幕。这是将计算机连接至控制器计算机的位置。输入主机位置和控制器令牌以连接至控制器计算机。
Host(主机):输入控制器计算机的主机位置。
Use SSL/TLS(使用 SSL/TLS):选中 Use SSL/TLS 时,将为远程控制器启用 SSL/TLS。默认情况下,此设置对 FIPS 环境启用,对非 FIPS 环境禁用。
Port(端口):选中 Use SSL/TLS 设置时,端口默认为 443。如果未选中,则端口默认为 443。但是,您仍然可以手动更改端口。
令牌:输入控制器计算机令牌。您可以在控制器计算机的“系统设置”中 Controller > General 屏幕上找到 Controller Token。转至本文中的General 配置部分。
选择View(查看)或Hide(隐藏)以显示或隐藏控制器令牌字符。
如何限制 Server 上的临时文件大小
默认情况下,Server 上的临时目录为 C:\ProgramData\Alteryx\Service\Staging\<UUID>\__StageTemp\
当工作流或分析应用程序在 Server 上运行时,将创建一个新文件夹:C:\ProgramData\Alteryx\Service\Staging\<UUID>\__StageTemp\Engine_<UUID>
要更改或添加负责限制引擎在 Server 上用于写入临时文件的 TempFolder 大小的设置:
前往 %PROGRAMDATA%\Alteryx。
打开 RuntimeSettings.xml。
查找 TempFileMaxSize 控制器设置。如果它不存在,您可以使用以下示例添加。
示例(TempFileMaxSize 以兆字节为单位设置):
<Controller>
<TempFileMaxSize>20000</TempFileMaxSize>
<Controller/>
AlteryxService 每秒检查一次文件夹大小。如果当前大小超过 TempFileMaxSize,则 AlteryxService 会停止执行,并将日志错误消息(“AlteryxService:超出临时文件大小限制”)输出至 C:\ProgramData\Alteryx\Service\AlteryxServiceLog.log。
执行后,系统将移除所有临时文件。如果 TempFileMaxSize 的设置为空,则 AlteryxService 不检查文件夹的大小。
重要
为每个同时运行的工作流设置 TempFileMaxSize,因此如果可以同时运行 2 个工作流,并且 TempFileMaxSize 设置为 20 GB,则可能使用的总磁盘空间为 40 GB。
引擎记录交换文件分配在工作流临时文件夹中,并在 RAM 不足时用于内存交换。每个交换文件各分配了 1 GB,因此我们建议在磁盘上保留额外的可用空间。考虑到其他程序也可以在同一磁盘上写入临时文件,如果您有大约 50 GB 的可用磁盘空间,我们建议为临时文件分配总共约 40 GB 的空间,并保留 5 -10 GB 未使用的空间。
如何应用更改
转至 C:\ProgramData\Alteryx 并打开 RuntimeSettings.xml 文件。
将 <Controller><TempFileMaxSize> 添加到文件中。
示例:
<Controller>
<TempFileMaxSize>20000</TempFileMaxSize>
</Controller>
重新启动 AlteryxService。
您可以使用命令行:
在管理员模式下打开 PowerShell。
转至 Alteryx\bin 文件夹
cd C:\Program Files\Alteryx\bin\
停止服务
.\AlteryxService.exe stop
启动服务
.\AlteryxService.exe start
或者,您可以使用 Alteryx 配置:
打开 Designer。
依次单击选项 > 高级选项 > 系统设置。
完成所有步骤后,选择Finish,然后等待服务重新启动。
选择Done。