JMP Live 安装帮助
该帮助将指导您完成安装 JMP Live。必须按以下顺序安装组件:
以下各节提供了有关安装和管理 JMP Live 的信息:
安装 JMP Pro 15.2
注意:安装 JMP Live 前,您必须使用有效的许可文件安装 JMP Pro。
要安装 JMP Pro 15.2,双击相关的 setup.exe 文件,然后按屏幕指导进行操作。
注意:您不能交互式运行为 JMP Live 安装的 JMP Pro 实例。在该模式下操作时,JMP 会隐藏运行。
安装 JMP Live 数据库
JMP Live 数据库安装为 JMP Live 添加 PostgreSQL 数据库以及一个专用数据库,其中包含帐户的所有者登录帐号以及数据库架构。
1.
(可选)若您已安装 PostgreSQL 数据库版本 9.6.3 或更高版本,您可以使用 SQL 代替 JMP Live 数据库安装程序。请跳至使用现有数据库安装
2.
导航至您下载 JMP Live 数据库安装程序 JMPLiveDatabase.msi 的位置。双击文件以运行。
图 1.1 JMP Live 数据库安装向导
3.
点击下一步
图 1.2 指定安装文件夹。
4.
指定安装 JMP Live 数据库和 PostgreSQL 数据库的位置:
点击下一步接受默认位置。
点击浏览更改默认安装文件夹。
注意:确保您在安装 PostgreSQL 数据库的目录中有足够的空间。
图 1.3 指定数据库参数
5.
输入以下参数:
端口:PostgreSQL 用于与其他数据库通信的 TCP 端口。通常为 5432。
数据库名称:JMP Live 使用的默认数据库的名称。建议将该设置保留为 webjmp。不能从 dba_webjmp 更改管理员用户 ID。
管理员密码:管理员密码,默认为 Password1。强烈建议您更改该密码。
图 1.4 启动 JMP Live 数据库安装
6.
点击安装继续,安装程序完成后点击完成
7.
安装 JMP Live 前重新启动您的机器,以确保 PostgreSQL 服务器启动。您可以使用 pgAdmin 工具验证您的数据库已启动。
网络安全考虑
在安装过程中,名为 pg_hba.conf 的网络权限文件添加至您的数据驱动中,位于(默认):C:\Program Files\PostgreSQL\9.6\data。该文件的格式为 PostgreSQL 所需格式。JMP 提供的版本允许网络从安装机器外访问数据库。这允许数据库分布到安装 JMP Live 的机器之外。若您不需要该类型的访问,必须在 pg_hba.conf 中相应更改设置。文件本身包含执行该操作的说明,但您还可以搜索 PostgreSQL 网站获取信息。
使用现有数据库安装
若您已安装了现有兼容版本的 PostgreSQL(9.6.3 或更高),而不是安装了 JMP Live 数据库,您可以添加所需的数据库、架构并用您自己的凭证登录。使用 pgAdmin 工具或允许查询的其他数据库探索工具,使用以下 SQL:
CREATE USER dba_webjmp WITH CREATEDB CREATEROLE LOGIN ENCRYPTED PASSWORD 'Password1';
CREATE DATABASE webjmp WITH OWNER dba_webjmp;
\connect webjmp
CREATE SCHEMA IF NOT EXISTS webjmp AUTHORIZATION dba_webjmp;
若您更改默认名称,还必须为 JMP Live 和 JMPPool 更改环境文件中的名称,数据库访问权限在其中有所说明。请参见配置高级设置
安装 Keycloak
注意:确保您先安装了 JMP Live 数据库,然后安装 Keycloak,并且在安装 Keycloak 之后安装 JMP Live。
JMP Live 使用 KeyCloak 管理身份验证,如身份管理和访问。在后台,当 JMP Live 用户登录时,他们会向 Keycloak 进行身份验证。由于 Keycloak 支持许多不同的身份提供程序,JMP Live 用户可以使用最常见的机制登录,并且可以提供联合单点登录功能。
提示:安装 Keycloak 很简单。对身份提供程序连接的大部分定制是在安装和运行 Keycloak 后通过 Keycloak 完成的。
1.
双击 Keycloak.exe,位于(默认):C:\Program Files\SAS\Keycloak
图 1.5 选择您的安装语言
2.
选择您的安装语言,然后点击下一步
图 1.6 Keycloak 欢迎窗口
3.
点击下一步
图 1.7 指定 Keycloak 安装位置
4.
指定您想放置 Keycloak 安装文件的位置,然后点击下一步
注意:Keycloak 文件安装在名为 keycloak-7.0.1 的子文件夹中。不能移动或更改该子文件夹。
图 1.8 设置 Keycloak 管理员
5.
指定管理员凭证,然后点击下一步
默认情况下,用户名为 keycloakadmin,密码为 password。建议更改密码。
图 1.9 指定 Java 安装位置
在 Keycloak 安装期间,还安装了 Azul Java 分布。若您已安装,则不会更改当前安装。
6.
指定安装 Java 的目录,然后点击下一步
注意:安装程序将 JAVA_HOME 环境变量添加至 Windows 高级系统设置。
图 1.10 配置端口和服务
7.
指定以下 Keycloak 详细信息:
HTTP 端口:输入 HTTP 网络端口。默认端口为 8888。该端口需要向 Keycloak 服务器开放。
HTTP 端口:输入 HTTP 网络端口。默认端口为 8443。该端口需要向 Keycloak 服务器开放。
绑定地址(IPv4 格式):输入 Keycloak 实例为请求监听(使用指定的端口号)的 IP 地址。默认地址为 0.0.0.0,表示 Keycloak 接受为安装 Keycloak 的机器分配的所有 IP 地址上的连接。
作为 Windows 服务安装 Keycloak:选择该选项将 Keycloak 作为 Windows 服务安装。这意味着 Keycloak 将自动启动,若机器重新启动,它将自动重启,因此它总是运行。若您不选择该选项,您需要在首次以及您重启机器时手动启动 Keycloak。该选项默认被选中,建议保持其选中状态。
8.
点击下一步
图 1.11 指定 Keycloak 证书
Keycloak 要求 SSL 证书保证您所在组织的可靠性,并且允许 Keycloak 和身份提供程序间的安全连接。
警告:若您不指定以下证书,则安装失败。
9.
指定您所在组织的 SSL 证书的位置。这些必须从授权的提供程序获得。
10.
点击下一步
图 1.12 配置数据库参数
Keycloak 储存有关数据库中用户和客户端的信息。
11.
指定数据库信息:
注意:以下信息应与您安装 JMP Live 数据库时输入的内容匹配。请参见安装 JMP Live 数据库
数据库主机名:指定 JMP Live 数据库所在机器的别名或 DNS 名称。
数据库端口:指定数据库监听的端口。
数据库名称:指定 JMP Live 数据库的名称。
数据库用户名:指定数据库管理员的用户名。
数据库密码:指定数据库管理员的密码。
12.
点击下一步
图 1.13 安装 Keycloak 就绪
13.
点击安装继续。
图 1.14 完成窗口
14.
点击完成
该过程可能花费几分钟,因为需要为 Java 和 Keycloak 运行单独的过程。您将看到进度指示符和命令提示。
若您选择 Keycloak 作为 Windows 服务运行,Keycloak 应在安装完成时运行。否则,要手动启动 Keycloak,使用以下命令:
<your keycloak directory>\bin\standalone.bat -c standalone-ha.xml
15.
打开浏览器并导航至 http://localhost:8888 或 https://localhost:8443(若您指定默认端口之一)。
图 1.15 Keycloak 欢迎页
16.
点击管理员控制台
图 1.16 KeyCloak 管理控制台常规选项
请参见 Keycloak 手册以设置用户访问权限。
17.
前进到安装 JMP Live
安装 JMP Live
1.
导航至您下载 JMP Live 安装程序 JMPLiveDatabase.msi 的位置。双击文件以运行。
图 1.17 选择您的安装语言
2.
选择您的安装语言,然后点击下一步
图 1.18 JMP Live 必备组件安装向导
3.
点击下一步
图 1.19 选择要安装的必备组件
Node.js 默认情况下被选中,必须安装。
4.
点击下一步
图 1.20 JMP Live 安装向导
5.
点击下一步
图 1.21 指定安装文件夹
6.
指定安装 JMP Live 的位置:
点击下一步接受默认位置(推荐)。
点击浏览更改默认安装文件夹。
若您更改默认位置,请注意:
更改的文件夹包含 JMP Live 安装文件,但 PostgreSQL 始终安装在其默认位置。
由于 JMP Live 可以生成日志信息,确保新位置有足够的磁盘空间。推荐最小值为 1 GB。
图 1.22 组件选择窗口
7.
选择您想在该机器上安装的组件(必须至少选择一个):
若您想安装两个组件,需要将两者都选中。
若您想在不同的机器间分布组件,选择您想在该机器上安装的组件。您需要在其他机器上运行安装程序以安装其他选项。
注意:若您正在为工作节点池架构安装,选择 JMP Pool Manager 组件,并跳至 第 14 步。详细信息,请参见关于 JMP Live 架构和身份验证
8.
(可选)选择您是否想将选定的组件作为 Windows 服务安装。
若选择该选项,请注意以下事项:
不论您是否登录,JMP Live 都会在后台运行。
若机器重启,JMP Live 的服务都会自动重启。
信息会写入日志(文本)文件,而不是 Windows 控制台。确保有足够的空间用于日志文件,且定期删除它们以避免存储问题。日志文件位于(默认):
C:\Program Files\SAS\JMP Live\JMPLive\build\daemon\webjmpsvc.out.log
C:\Program Files\SAS\JMP Live\JMPPool\build\daemon\jmppoolsvc.out.log
图 1.23 指定端口和数据库详细信息
9.
指定以下 JMP Web 服务器设置:
Web 服务器端口:输入从浏览器提取请求的 HTTPS 端口。默认情况下,该端口设置为 3501。您可以指定端口 443(默认 HTTPS 端口),但推荐您使用专用的端口,以便更轻松地进行监控和访问控制。若您在 Web 服务器组件前安装应用程序负载平衡器,请指定该端口。
HTTP 端口:输入 HTTP 端口。默认端口 80 对大部分情况来说都可以满足要求。一些组织使用 8080,以便您需要时可以指定该端口。
数据库主机名: 端口
输入为 JMP Live 运行 PostgreSQL 数据库的机器的 DNS 名称。默认名称为 localhost(安装机器),但通常这会指定一个运行 PostgreSQL 的专用服务器。该机器可以位于公司防火墙内、防火墙外,或云服务中。
输入在安装 PostgreSQL 期间为从外部通信指定的端口。默认 PostgreSQL 端口为 5432。
数据库名称:在 PostgreSQL 中输入分配给 JMP Live 数据库的名称。可以更改该名称,但不推荐,因为数据库安装程序默认为 webjmp。
数据库用户名数据库密码:输入您在安装 JMP Live 数据库时指定的管理员用户 ID 和密码。数据库用户名应为 dba_webjmp,但您可能更改了默认密码(默认密码为 Password1)。在此处输入密码。
图 1.24 创建管理员帐户
注意:强烈建议您创建管理员帐户。不过,若您正在从之前的版本更新 JMP Live,并且在数据库中已有管理员帐户,则您可以安全地跳过该步,方法是取消选中立即创建管理员帐户框。
10.
输入登录 JMP Live 时所要使用的管理员用户名。提供您将内容发布至 JMP Live 时出现的密码(默认为 password)和显示名。请注意以下事项:
管理员用户名不能包含空格且必须为小写。
一旦您创建了管理员帐户,您可以登录该帐户并指定其他用户作为管理员。
您可以使用命令行界面随时创建管理员帐户。请参见为 JMP Live 创建管理员帐户
图 1.25 指定 SSL 证书
11.
导航至或输入您组织的 SSL 证书。
SSL 证书为文本文件,包含允许浏览器和 Web 服务器进行安全通信的密码密钥。这些密钥特定于组织,由第三方供应商(如 DigiCert、Symantec 和 Network Solutions)提供。JMP Live 在没有这些证书的情况下无法运行。
主证书和密钥为购买方进行配置。根 (CA) 证书来自第三方供应商。
JMP Live 安装程序提供的证书集允许对 localhost 进行最小安装测试。不过,当您在本地浏览器中查看网站时,它会生成警告,且网站不可从除安装机器外的其他机器上的浏览器访问。
12.
Cookie 过期:指定 JMP Web 组件要记住您的 JMP Live 登录状态多久。
默认值为 720 分钟(12 小时),但为了提高安全性,您也可以缩短该时长。
Cookie 过期不同于空闲超时。您可能持续使用网站,但 Cookie 过期将强制您在过期后重新登录。
图 1.26 设置 Keycloak
注意:不使用 Keycloak,可以添加与 Microsoft Active Directory 的直接连接。请参见配置高级设置。请注意,在未来版本的 JMP Live 中将不支持该方法。
13.
指定以下 Keycloak 设置:
使用 Keycloak 身份管理:允许 Keycloak 身份验证系统。若取消选中该选项,将使用本地身份验证。在这种情况下,您需要在 Keycloak 中为每个用户创建帐户。这些用户不会针对不同的身份提供程序进行身份验证。有关将 Keycloak 连接至您的身份提供程序的详细信息,请参见 Keycloak 文档。
Keycloak 别名(DNS 名称):指定运行 Keycloak 身份验证服务的服务器机器名。
Keycloak HTTPS 端口:指定 Keycloak 期望接收请求的端口号。默认端口为 8443。
管理员名称:指定 Keycloak 中 JMP Live 领域的管理员名称。该领域将 JMP Live 凭证与可能使用 Keycloak 身份验证的任何其他软件应用程序隔离开来。
管理员密码:指定 JMP Live Keycloak 领域的管理员密码。
JMP Live 别名(DNS 名称):指定将要运行主 JMP Live 网站的机器名。
图 1.27 配置 Pool Manager
14.
若您想在该机器上运行 Pool Manager,选中配置为 Pool Manager 框:
若您正在为所有组件使用一台机器,或为 Pool Manager 和 JMP 会话使用一台机器,则选择该选项。
若您仅在为工作节点池使用该机器,不要选择该选项。
15.
指定 Pool Manager 选项:
Web 主机名:输入 DNS 名称,通常如下所示:machine name.domain name.com/org。请注意以下事项:
除非您正在使用 localhost 选项安装所有组件,否则您需要指定 Web 主机名。
即使您在一台机器上安装了所有组件,您可能想要使用您所在组织的 SSL 证书获得安全连接。在这种情况下,指定机器名作为 Web 主机名,因为证书通常与机器绑定在一起。
Pool Manager 主机名:(若您选择配置为 Pool Manager 则禁用。)若您在其他机器上设置工作线程池,输入正在处理 Pool Managerenter 职责的机器的 DNS 名称。
Web 服务器端口:(若您在同一台机器上安装全部组件则禁用,因为在 JMP Web 组件上已指定端口号。)若您仅在安装 JMP Pool 组件,则输入您在另一台机器上安装 JMP Web 组件时使用的端口。
池监听端口: 输入该池监听来自 JMP Pool Manager 和 JMP Web 组件的通信的端口。
Pool Manager 监听端口:(仅在您配置工作节点池时启用。)输入指定为 JMP Pool Manager 设置的池监听端口的端口。工作节点池需要知道该端口,以便告知 JMP Pool Manager 它是可用的。
图 1.28 配置 JMP 设置
JMP 需要使用自己的安装程序在支持创建 JMP 会话的所有机器上安装,无论它是 JMP Pool Manager 的一部分还是工作节点池的一部分。当修改报告时,这些 JMP 的会话将启动以执行 JMP Live 的工作。
16.
指定以下 JMP 详细信息:
JMP 会话基本端口:输入 JMP 会话使用的基本端口以便与 JMP Pool Manager 会话。JMP 的每个实例都有一个以该基本数字开始的唯一编号。
JMP 可执行文件的路径:输入 JMP Pro 位置的路径。默认安装路径随即出现,因此仅当 JMP Pro 位于别处时您需要更改该路径。
池中初始会话数:输入首次运行池时将启动的 JMP 会话数。
池中最大会话数:输入允许在该机器上作为该池的一部分运行的 JMP 会话数的上限。若初始会话数中指定的数量都在使用中,则添加这些会话。
若您正在安装 Pool Manager,并且只希望它处理对其他工作节点池的资源分配,则您可以将初始值和最大值都设置为零。在这种情况下,只有配置并运行了工作节点池,网站才能正常工作。
图 1.29 配置 JMP 设置
17.
指定以下 JMP 详细信息:
空闲超时(秒):输入 JMP 实例在删除与 JMP Web 组件的连接并等待新请求之前等待额外工作的时长。
等待 Web 服务器的超时(毫秒):输入实例在放弃和丢弃现有工作请求之前,在现有事务中等待进一步通信的时长。
数据库用户名:指定数据库管理员的用户名。
数据库密码:指定数据库管理员的密码。
SSL 根证书:(当您仅安装 JMP Pool Manager 组件时出现)指定您所在组织的证书授权文件的位置。
图 1.30 启动 JMP Live 安装
18.
点击安装启动 JMP Live 安装,安装程序结束后点击完成
JMP Live 应自动连接至 Keycloak。若您在安装后登录到 JMP Live 有问题,可能需要手动连接。请参见手动将 Keycloak 连接至 JMP Live
配置高级设置
在安装期间,可以在 JMP Live 中指定某些设置。要在稍后更改这些设置,或添加至高级设置,请更新环境 (.env) 文件。JMP Web 和 JMP Pool Manager 组件在以下位置各自有其自己的环境文件(默认):
C:\Program Files\SAS\JMP Live\JMPLive
C:\Program Files\SAS\JMP Live\JMPPool
警告:请谨慎对环境文件进行更改,因为即使一个很小的错误也会导致 JMP Live 失败。
一旦更新了环境文件,您需要重启组件以使这些更改生效。有关如何重启组件的详细信息,请参见 手动将 Keycloak 连接至 JMP Live
JMP Live 环境文件设置
PORT
(必需)JMP Live 的该实例正在运行的 HTTPS 端口。
PORT_HTTP
(可选)JMP Live 的该实例监听并且重定向至指定 HTTPS 端口的 HTTP 端口。默认值为 80。
NODE_ENV
(必需)将其设置为生产。这是 JMP 服务器的正确模式。
COOKIE_SECRET
(必需)密钥用于为 JMP Live 的该实例计算会话 cookie 的 hash。
DEBUG
(可选)逗点分隔的字符串值列表,确定代码中的哪些调试语句是活动的,哪些不是。没有默认值。
DEBUG_DEPTH
(可选)在调试语句中确定对象被发送到日志的深度(例如:debug('This is my object: %O', myObject);)。默认值为 10。
LOG_LEVEL
(可选)设置该 JMP 服务器实例中活动的 Bunyan 日志记录器消息的最低级别。这些是写入 Loggly 的消息。可能的值包括 trace、debug、info、warn、error 或 fatal。代码中的日志记录器行格式为“logger.debug(...);”。默认值为 info。
LOG_PRETTY
(可选,布尔)确定控制台流中的 Bunyan 日志记录是显示为原始 JSON (0) 还是优质打印 (1)。这仅会影响控制台流;Loggly 流始终为原始 JSON。默认值为 0(原始 JSON)。
LOG_HTTPHEADERS
(可选,布尔)确定 HTTP 标头是否包含在 HTTP 请求的优质打印日志记录中。默认值为 0(关闭,不包含标头)。
DB_HOST
(必需)正在运行 PostgreSQL 数据库的机器的主机名。格式为 host-name:port。必须包含端口。
DB_DATABASE
(必需)DB_HOST 上要使用的 PostgreSQL 数据库的名称。通常为 webjmp。
DB_USERNAME
(必需)PostgreSQL 用户的用户名。通常为 dba_webjmp。
DB_PASSWORD
(必需)DB_USERNAME 用于连接 PostgreSQL 的密码。
SHOW_GENERATED_SQL
(可选,布尔)在执行之前,将 Sequelize 生成的所有 SQL 语句发送至控制台日志。默认值为 0(关闭)。注意,有大量的日志文件。
SSL_CERT_FILE
(可选).crt 文件的相对路径。
SSL_KEY_FILE
(可选)证书密钥文件的相对路径。
SSL_CA_FILE
(可选)证书授权文件的相对路径。
AUTH_SCHEME
(必需)JMP Web 组件使用的身份验证模式。可能的值包括 keycloak、ldap 和 local。对于给定的 JMP Server 实例,这应设置一次并且从不更改,除非使用空数据库重新开始。
JMP_RELEASE
(限制)允许向该 JMP Live 实例发布内容的 JMP 客户端的主要版本。管理员无法更改该设置,已在 JMP Live 中固定。
APIKEY_ENABLED
(可选,布尔)指定用户是否需要密钥使用 JSL 访问 JMP Live API。用户可以在 JMP Live 中通过其用户个人资料获取 API 密钥。默认值为 1(启用)。
JMPLIVE_BASEURL
(必需)诸如 JMP Pool 和 Keycloak 之类的组件用于与 JMP Live 网站通信的 URL。
ALLOW_SOCIAL_SHARING
(可选,布尔)指定该 JMP Live 实例的用户是否可以使用社交媒体共享帖子。默认值为 0(否)。
SESSION_TICKET_EXPIRE_MINUTES
(可选)删除前在票证表中保留 JMP 会话票证记录的分钟数。用于 JMP 会话,而不是登录会话。默认值为 1440 分钟(24 小时)。
SESSION_TICKET_EXPIRE_HOURS
(可选)票证表中保留 JMP 会话票证的小时数。用于 JMP 会话,而不是登录会话。若同时指定了 _MINUTES 和 _HOURS,则使用指定了较长时间的那个。默认值为 24 小时。
COOKIE_EXPIRE_MINUTES
(可选)会话 cookie 有效的时长(分钟)。若同时指定了 _MINUTES 和 _SECONDS,则使用指定了较长时间的那个。默认值为 720 分钟(12 小时)。
COOKIE_EXPIRE_SECONDS
(可选)会话 cookie 有效的时长(秒)。若同时指定了 _MINUTES 和 _SECONDS,则使用指定了较长时间的那个。若您想使用 COOKIE_EXPIRE_SECONDS,应将 COOKIE_EXPIRE_MINUTES 设置为 0。默认值以及最小允许过期时间为五秒钟。
SESSION_PURGE_INTERVAL_MINUTES
(可选)从数据库中清除过期会话的频率(分钟)。若同时指定了 _MINUTES 和 _SECONDS,则使用指定了较长时间的那个。默认值为 15 分钟。
SESSION_PURGE_INTERVAL_SECONDS
(可选)从数据库中清除过期会话的频率(秒)。若同时指定了 _MINUTES 和 _SECONDS,则使用指定了较长时间的那个。若您想使用 SESSION_PURGE_INTERVAL_SECONDS,应将 SESSION_PURGE_INTERVAL_MINUTES 设置为 0。默认值以及最小允许清除间隔为五分钟。
JMP Pool 环境文件设置
HOST
(可选)该 JMP Pool 的主机名。默认主机名为 os.hostname()。
PORT
(必需)该 JMP Pool 正在监听的端口。
JMP_PATH
(必需)JMP 可执行文件的路径。
JMP_INSTALLDIR
(可选)告知 JMP Live 安装 JMP 桌面应用程序的位置。
JMP_LOGSTART
(可选)创建 JMP 启动的日志,如 JMP 获得许可和首选项信息的位置。
JMP_BASE_PORT
(必需)JMP 会话监听的端口范围的开始。
DB_USERNAME
(必需)登录 PostgreSQL 数据库的用户名。
DB_PASSWORD
(必需)登录 PostgreSQL 数据库的密码。
IS_MASTER
(可选,布尔)指定该池是否为主池。若是,则将其设置为 1。
WEBJMP_RETRY_WAIT
(仅在是主池时使用。)在尝试重新连接到 JMP web 组件之前,JMP 等待的毫秒数。默认值为 5000 毫秒。
MASTER_POOL_HOST
(仅在不是主池时使用,因此它可以找到主池。)运行主池过程的机器的 DNS 名称。默认值为 localhost。
MASTER_POOL_PORT
(仅在不是主池时使用。)主池用于与工作节点池实例通信的端口。默认端口为 PORT。
INITIAL_JMP_PROCESSES
(可选)在网站上探索报表时,将启动用于帮助重新计算报表的 JMP 会话的数量。默认值为 4 个会话。
MAX_JMP_PROCESSES
(可选)根据需要启动的最大 JMP 过程数(弹性 JMPPool)。默认值在 INITIAL_JMP_PROCESSES 中指定。
JMP_SERVER_IDLE_TIMEOUT
(可选)提交的 JMP 服务器在被回收之前可以保持空闲的时长(秒)。默认值为 120 秒。
APPLYPACKAGEPREFS
(可选,布尔)确定与包一起储存的首选项是否应用于服务器。指定 0 代表 False,1 代表 True。默认值为 False (0)。
WIPE_TEMP_FOLDER_AT_STARTUP
(可选,布尔)JMP Pool 初始启动时删除临时文件夹。若您有多个 JMP Pool 共享单台机器,将该值设置为 False (0)。默认值为 True (1)。
WIPE_TEMP_FOLDER_ON_CRASH
(可选,布尔)若您希望清除与崩溃的 JMP 会话相关联的 Temp 文件夹,请将该值设置为 True (1)。默认值为 False (0),以便您可以调查 JMP 可能崩溃的场景。
关于 JMP Live 架构和身份验证
若您是在本地安装 JMP Live 服务器,则应该了解 JMP Live 系统的架构和第三方身份提供程序身份验证的可能配置。
架构概述
JMP Live 由若干可以相互通信的模块组成。该架构使得跨不同计算资源分布工作负载以处理更大的请求负载成为可能。
图 1.31 JMP Live 架构
您可以在单个计算资源上运行 JMP Live,但不推荐使用该设置。推荐的设置为将数据库与 JMP Live 的其他组件分离,并为数据库提供一个专用的计算实例,该实例经常进行备份,以确保 JMP Live 内容的安全性。数据库可以位于托管的服务上,安装的其余部分位于本地资源中。在这种情况下,您不会使用 JMP Live 数据库安装程序,但是需要在托管的服务上设置 PostgreSQL 9.6 兼容实例。请按照 使用现有数据库安装 中的说明执行操作。
确定安装大小
确定安装的大小并不容易,因为在单个安装站点可能存在也许影响性能的未知因素。网络速度是一个重要因素,使用专用机器或虚拟机的决定也会影响性能。SAS 无法保证此处描述的任何配置在每个位置都能良好地执行。
考虑可能的安装大小时,主要准则是用户数量:
小型部署被认为有 100 个用户。
中型部署被认为有 500 个用户。
大型部署被认为有 2000 个用户。
在所有情况下,假定每个用户都偶尔使用站点,并在相当程度上分散使用和查看各种报表。偶尔使用可能是每天 10 次。
若您的用户持续大量使用网站,您将需要一个更稳健的设置。
若用户经常访问几个报表,则专门用于 JMP Web 组件的计算资源的稳健性和数据库的稳健性将非常重要。
小型部署
在小型部署(如 100 个用户)中,可以在单个专用机器上安装除数据库外的所有程序。
图 1.32 小型部署的推荐配置
在该情景中,JMP Web 和 JMP Pool 组件安装在同一台机器上。在安装期间,选择该选项“配置为 Pool Manager”。与该 JMP Pool Manager 关联的 JMP 实例的数量是为站点运行的 JMP 实例的总数。
该计算资源的能力越强越好,这在很大程度上取决于处理器类型、网络速度等等。可考虑的绝对最低配置为 4 核机器,至少有 16GB 的专用 RAM。存储容量对数据库最重要,它取决于储存的报告数量。最低存储空间要求是 1 TB。
中型部署
在一个中型部署(如 500 个用户)中,根据正在检索的报表的类型,您可以考虑两种配置:
若您有大量的报表检索,但报表本身不包含数据过滤器,或者需要重新计算统计量,则主要需要关注 JMP Web 组件。
若需要进行大量的报表计算,则主要需要关注 JMP Pool Manager。
若 JMP Web 组件最重要,或者若您不知道是否将有计算密集型的环境,则推荐的配置如下。
图 1.33 中型部署的推荐配置
在 JMP Web 组件需要最佳性能的标准配置中,JMP Pool Manager 没有自己的 JMP 会话。您可以在 JMP Pool Manager 中将 JMP 会话数设置为零。所有 JMP 会话驻存在第二个计算资源(即 JMP Session Pool)中。
若您需要一个计算更密集的环境,则可以将会话分配给 JMP Pool Manager(可能是五个)。这可能会降低 JMP Web 组件的性能,但为报表提供了额外的计算能力。
大型部署
在大型部署(如 2,000 个用户)中,您可能需要多个 JMP Session Pool,以及一个针对 JMP Pool Manager 单独的专用计算资源。
图 1.34 大型部署的推荐配置
JMP Web 组件、JMP Pool Manager 组件、JMP Session Pool 和 PostgreSQL 数据库都是专用实例。您可以拥有的 JMP 会话数取决于每个实例的计算能力和内存容量。
以下是对每个实例的一些建议:
JMP Web 组件和 JMP Session Pool 实例:建议至少为 4 核机器,但最好是 32 GB RAM 的 8 核机器。
JMP Pool Manager:建议至少为 16 GB RAM 的 4 核机器。
PostgreSQL 数据库:机器应根据组织的发布量预计存储需求。最好是一个可扩展的实例,否则建议最小存储容量为 5 TB。
建议采用以下配置:
负载平衡器,提供单个入口点来处理 HTTP 和 HTTPS 请求的安全性。
对 PostgreSQL 数据库的读取备份,在主数据库出现故障或连接问题时提供快速切换。频繁更新备份。
托管服务的注意事项
对于一些托管服务,如 Amazon Web Service 或 Microsoft Azure,可以为 JMP Session Pool 设置自动扩展。工作方式如下:
1.
触发器(如 Session Pool 节点上的当日时间或 CPU 利用率)可以导致启动额外的计算资源。
2.
当新启动的资源上的 JMP Session Pool 变为活动状态时,它将向 Pool Manager 报告。
要使用自动扩展,在映像(将在扩展期间复制)上安装 Session Pool 期间,您必须选择将组件作为 Windows 服务安装的选项。这会在计算实例初始化时自动启动 Session Pool 组件。Session Pool 向 Pool Manager 报告,并且注册其可用性以提供计算服务。
身份验证注意事项
JMP Live 提供的身份验证工具基于安装的位置。对于本地安装,若您所在组织支持 Active Directory 或 LDAP (轻量级目录访问协议),JMP Live 可以连接到 Microsoft Active Directory 端点。否则,用户需要有现有的 SAS 个人资料。然后可以使用这些凭证对 JMP Live 进行身份验证。
这里介绍的身份验证机制与 JMP Live 如何连接到用户的身份提供程序有关。JMP 和 JMP Live 间的通信不同。
图 1.35 JMP Live 身份验证选项和流程
KeyCloak 应用程序
KeyCloak 应用程序是与各种身份验证机制连接的桥梁。OpenID Connect (OIDC) 在 JMP 客户端、JMP Live 和 KeyCloak 间使用,以确保各项事务的安全。KeyCloak 和各种身份验证机制之间的连接依赖于该机制,但它通常是 TLS。
KeyCloak 向 JMP Live 和 JMP 提供身份验证会话令牌。这些令牌指示是否允许用户使用 JMP Live。令牌还会告知 JMP Live 身份验证会话何时过期。
使用 Active Directory 或 LDAP
要使用 Active Directory 或 LDAP 启用本地身份验证,需要在环境文件中为 JMP Web 组件指定某些参数。
1.
打开 JMP Web 组件的环境文件,位于(默认):C:\Program Files\SAS\JMP Live\JMPLive\.env
2.
若已将 JMP Web 组件作为 Windows 服务安装,请在更新环境文件之前使用任务管理器停止该服务。
3.
.env 文件中指定以下参数:
AUTH_SCHEME=ldap
将身份验证方法指定为 LDAP 或 Active Directory。
LDAP_URL="ldap://site_ldap_endpoint.mycompany.com:port#"
这是 Active Directory 请求的通信端口,其中 port# 为用于 Active Directory 通信的 4 位端口。连接必须指向 Active Directory 或 LDAP 实例。
LDAP_BIND_DN="CN=COMPANY LDAP-Read,OU=Generic and Shared Accounts,OU=Admin,DC=mydepartment,DC=mycompany,DC=com"
这是 Active Directory 绑定的管理员帐户。它特定于站点。若您的站点不允许匿名绑定,它会是一个特定于域的帐户。
LDAP_SEARCH_BASE="DC= mydepartment,DC= mycompany,DC=com"
这是根据用户名搜索用户的基本域。
LDAP_BIND_CRED="abcd1234efgh"
这是管理员帐户密码
LDAP_VALIDATION_GROUP=JMP Web Server
JMP Live 需要指定一个 LDAP 或 Active Directory 组,该组定义允许针对该 JMP Live 安装进行身份验证的所有成员。您不能在 Active Directory 中引用多个组或查询组。不可能有从 Active Directory 组派生的 JMP Live 组。
LDAP_SEARCH_FILTER=(samAccountName={{username}})
用于搜索用户的过滤器。{{}} 中的用户名作为提供的用户名插入。
4.
保存 .env 文件。
5.
若已将 JMP Web 组件作为 Windows 服务安装,请在完成更新环境文件之后使用任务管理器重启服务。
更新 JMP 许可
在 JMP Live 中,JMP 会话在后台运行以重新计算分析。要使这些 JMP 会话工作,您必须具有有效的 JMP 许可。
出于安全原因,JMP Live 与过期许可一同提供。您需要在 90 天内进行更新。
如何知道您的 JMP 许可是否已过期
若您以管理员身份登录 JMP Live,在 JMP Pool 状态页的顶部,您将看到以下消息:“JMP 应用程序正在报告许可证错误。”同时,您可能还注意到报表未重新计算结果。
图 1.36 JMP Live 许可证错误消息
如何更新过期的 JMP 许可
1.
找到新的许可文件。它是一个文本文件,若您已经成功地运行了 JMP Live,并且 JMP 许可已过期,则可以通过电子邮件发送给您。若您将其打开,您将在顶部看到 [_SID_]。
许可文件还可以位于 SAS Software Depot\sid_files 文件夹中。不过,若您在新的 JMP Live 安装中工作,该文件可能已过期。
2.
在您的计算机上,找到 SAS Software Depot 文件夹。
该文件夹在您下载 JMP 和 JMP Live 软件时创建。
3.
导航至 \JMP\JMP_Pro\<version>\Windows\Extra 并找到 JMPExtractPER64.exe 文件。
例如:C:\SAS Software Depot\JMP\JMP_Pro\15_2\Windows\Extra\JMPExtractPER64.exe
4.
在您的计算机上创建临时文件夹。将以下文件复制并粘贴至该文件夹:
JMPExtractPER64.exe
新许可文件
5.
在搜索栏中键入 Command Prompt :确保以管理员身份运行命令提示(右击 Command Prompt 并选择 Run as administrator)。
图 1.37 以管理员身份运行 Windows Command Prompt
6.
找到包含 JMPExtractPER64.exe 文件副本和新许可文件的临时文件夹。
7.
运行该命令,用新许可文件的名称替换 MyLicenseTextFileName_x64.txt
JMPExtractPER64.exe .\MyLicenseTextFileName_x64.txt .\jmp.per
这将在同一目录下创建一个 jmp.per 文件(您创建的临时文件夹)。
或者,您可以通过运行以下命令替换现有 jmp.per 文件:
JMPExtractPER64.exe .\MyLicenseTextFileName_x64.txt "C:\Program Files\SAS\JMPPRO\15_2\jmp.per"
8.
复制 jmp.per 文件,并将其粘贴至包含 JMP 安装的目录。默认情况下,该目录为 C:\Program Files\SAS\JMPPRO\<version>
9.
重新启动 JMP Live。详细信息,请参见第 8 步
更新代码模块
大部分 JMP Live 是使用 JavaScript 开发的。Node.js 为 Web 服务器提供了代码生态系统,以及 JMP Live 需要运行的大多数其他基础结构。该生态系统包含大量独立开发的软件应用程序以实现特定的功能。这些模块偶尔可能需要使用安全修复进行更新。这可能还会在定期执行的自动过程中完成。在发布新的 JMP Live 版本时,JMP 始终更新代码模块,但模块更新可以提供临时安全修复。
要更新代码模块,您必须从 Windows 命令处理器运行 Node Package Manager (npm)。要手动执行,导航至 Windows 启动菜单,并在 Node.js 下查找。用管理员权限启动 Node.js 命令提示。要让 npm 使用安全包更新任意包,运行以下命令:
npm audit fix
您还可以使用以下命令为将应用于上述操作的修复添加前缀:
npm audit -dry-run
若您希望输出为 JSON 格式,将 -json 追加至 -dry-run 命令行。
卸载 Windows 服务
若您决定删除 Windows 服务,但保留安装的 JMP Live,您可以在主应用程序目录中运行 uninstall_services.cmd 文件。同样,您可以运行 install_services.cmd 文件重新安装 Windows 服务。只有在安装过程中选择了作为 Windows 服务安装的选项,这些文件才会存在。
为 JMP Live 创建管理员帐户
若您在 JMP Live 安装期间未创建管理员帐户,可以在稍后使用命令行界面创建一个:
1.
从 Windows 开始菜单中,打开命令提示。
2.
找到 JMPLive 文件夹,位于(默认):C:\Program Files\SAS\JMP Live\JMPLive\
3.
输入以下命令:
.\bin\jmplive-cli createAdminUser -d displayname -p password - u user
选项定义如下:
-d displayname:管理员的显示名。若您使用空格,将名称放在引号内。默认名称为“JMP Live 管理员”。
-p password:管理员密码。若未指定,将提示您输入密码。若您使用空格,将密码放在引号内。
-u user:管理员名称。不允许使用空格。默认名称为 jmpliveadmin。
以管理员身份登录 JMP Live
在 JMP Live 中,点击“帮助” > 以管理员身份登录
使用 JSL 管理 JMP Live 发布
JMP Live 是一个您的公司购买并托管的网站,用于专有共享 JMP 内容。JMP Public 是 JMP Live 的一个公共实例,任何人都可以向其共享 JMP 内容。
您可以使用 jmpStartAdmin.jsl 文件管理发布设置,该文件位于(默认):C:/ProgramData/SAS/JMP/<version>
启用或禁用发布至 JMP Live
jmpStartAdmin.jsl 中,管理员可以使用 Preferences(Enable JMP Live)Preferences(Disable JMP Live) 启用(白名单)或禁用(黑名单)发布至 JMP Live。
Enable JMP Live() 指定用户可以发布至的 URL 的白名单。例如:
Preferences( Enable JMP Live( "\[
	{
		"https://public.jmp.com" // whitelists JMP Public
	}
	]\" )
);
Disable JMP Live() 指定用户不能发布至的 URL 黑名单。例如:
Preferences( Disable JMP Live( "\[
	{
		"https://public.jmp.com" // blacklists JMP Public
	}
	]\" )
);
注意:若一个 URL 在两个列表中同时出现,则它被列入黑名单。
您可以使用星号作为通配符指定 URL:
*(任何 URL)
*.jmp.com(以 jmp.com 结束的 URL)
https://public.*(以 https://public 开头的 URL。)
*public*(包含 public 的 URL)
创建和删除书签
jmpStartAdmin.jsl 中,管理员可以添加当用户在 JMP 中向 JMP Live 和 JMP Public 发布报表时出现的书签。
Add JMP Live Bookmark( "JMP Public 15", URL("https://public.jmp.com" ) );
Add JMP Live Bookmark( "JMP Live 15.2", URL( "myjmpliveinstall.mycompany.com" ) );
Get JMP Live Bookmarks()Delete JMP Live Bookmarks() 也可用。
手动将 Keycloak 连接至 JMP Live
在您安装 JMP Pro、JMP Live 数据库、JMP Live 和 Keycloak 后,JMP Live 和 Keycloak 应自动连接若您在安装后登录到 JMP Live 有问题,可能需要手动连接。
1.
若您正在将 JMP Live 数据库用作 Keycloak 数据库,则运行 JMP Live 一次。
这将用正确的模式和表填充 JMP Live 数据库,以便 Keycloak 进行操作。
2.
若 JMP Live 作为 Windows 服务运行,将其停止:
在 Windows 搜索栏中键入 Task Manager。或者,按下 Ctrl+Alt+Delete 并选择 Task Manager
点击服务选项卡。
提示: 若您未看到“服务”选项卡,可能需要点击更多详细信息
右击 webjmpsvc.exe 和 jmppoolsvc.exe,然后点击停止
3.
在搜索栏中键入 Command Prompt :以管理员身份运行命令提示(右击 Command Prompt 并选择 Run as administrator)。
4.
导航至 JMPLive 组件安装目录。输入:cd C:\Program Files\SAS\JMP Live\JMPLive (假定 JMP Live 位于默认目录中)。
5.
使用记事本编辑 .env 文件。输入:start Notepad .env
6.
在 .env 文件中,添加以下行:
AUTH_SCHEME=keycloak
注意:备用选择包括 ldaplocalldap 是连接至 LDAP/Microsoft Active Directory 的旧选择(不要选择该选项,除非您正在使用 JMP 15.0)。local 允许不连接至身份提供程序的独立身份验证。
KEYCLOAK_SERVER_URL=https://mykeycloakserver.mydomain.com:8443
为您的安装指定正确的 URL 和端口。该行告知 JMP Live 您 Keycloak 服务器的 URL,以及允许 HTTPS 访问的端口。
JMPLIVE_BASEURL=https://myjmpliveinstance.mydomain.com:3501
为您的安装指定正确的 URL 和端口。该行指定您 JMP Live 服务器的 DNS 名称或别名,以及您为 HTTPS 访问正在使用的端口。
7.
保存 .env 文件更新。点击文件 > 保存
8.
启动 JMP Live 组件:
若您将 JMP Live 作为 Windows 服务安装,打开“任务管理器”,“服务”选项卡(参见 第 2 步),然后启动每个 JMP Live 服务。右击 webjmpsvc.exe 和 jmppoolsvc.exe,然后点击开始
若您尚未将 JMP Live 作为 Windows 服务安装,执行 组件不作为 Windows 服务安装 下的步骤。
JMP Live 和 Keycloak 现在应一起工作。
组件不作为 Windows 服务安装
1.
转至安装 JMP Live 的目录。默认情况下,它安装在以下位置:C:\Program Files\SAS\JMP Live
2.
双击 launch.cmd 文件。在该机器上安装的所有组件将启动。
3.
若安装已分布于若干台机器上,在每台机器上重复第 2 步。
每个组件会启动一条命令提示,显示每个组件的操作状态。
提示:要停止组件,按下 Ctrl+Break 或 Ctrl+C。
技术声明
随 JMP Live 软件一起提供的还有一些免费和开源软件,位于客户 JMP Live 页的“帮助” > “声明”部分,或位于以下链接:https://support.sas.com/en/documentation/third-party-software-reference/licenses.html