JMP Live 安装帮助
必须按以下顺序安装 JMP Live 组件:
|
3.
|
|
4.
|
JMP Live 安装后,您可以使用命令行界面 (CLI) 创建用户、组和空间:
了解如何管理 JMP Live 安装:
|
•
|
安装 JMP Pro 17.2
注意:安装 JMP Live 前,您必须安装 JMP Pro 17.2。
要安装 JMP Pro 17.2,双击 jmppro_1720_win.exe 文件,然后按屏幕指令进行操作。该文件位于您从 JMP 下载的 zip 文件中。
注意:您不能交互式运行为 JMP Live 安装的 JMP Pro 实例。JMP Pro 作为 JMP Live 部署的一部分时隐密地运行着。
安装或升级 JMP Live 数据库
JMP Live 数据库安装为 JMP Live 添加 PostgreSQL 13 数据库以及一个专用数据库,其中包含所有者登录帐户以及数据库架构。
注意:继续执行之前,确保 Windows 端口权限允许访问任何您打算用于 JMP Live 数据库的监听端口。
处理方式
|
•
|
若您已安装 PostgreSQL 数据库版本 11 或更高版本,您可以使用 SQL 代替 JMP Live 数据库安装程序。请参见使用现有数据库安装 JMP Live。
|
|
•
|
若您具有现有版本的 JMP Live,则升级 JMP Live 数据库。通过允许存在两种不同版本的 PostgreSQL 数据库(11 和 13)升级可用来维护任何现有的 JMP Live 数据。请参见升级 JMP Live 数据库。
|
|
•
|
若这是您第一次安装 JMP Live,则按照安装 JMP Live 数据库处的正常安装过程执行。
|
安装 JMP Live 数据库
|
1.
|
双击 JMPLiveDatabase.msi。
|
该文件位于您从 JMP 下载的 zip 文件中。
图 1.1 JMP Live 数据库安装向导

|
2.
|
点击下一步。
|
图 1.2 指定安装文件夹

|
3.
|
指定安装 JMP Live 数据库和 PostgreSQL 数据库的位置:
|
|
‒
|
点击下一步接受默认位置。
|
|
‒
|
点击浏览更改默认安装文件夹。
|
注意:确保您在安装 PostgreSQL 数据库的目录中有足够的空间。
图 1.3 指定数据库参数

|
4.
|
输入以下参数:
|
注意:若您正在升级,请确保这些参数与您的 JMP Live 环境文件中的内容一致。详细信息,请参见配置高级设置。
|
‒
|
端口:PostgreSQL 用于与其他数据库通信的 TCP 端口。通常为 5432。若您从 PostgreSQL 11 升级,该端口必须与以前的数据库端口号不同。在这种情况下,推荐 5433。
|
|
‒
|
数据库名称:JMP Live 使用的默认数据库的名称。建议将该设置保留为 webjmp。不能从 dba_webjmp 更改管理员用户 ID。
|
|
‒
|
管理员密码:管理员密码,默认为 Password1。强烈建议您更改该密码。
|
注意:允许的字符为 A-Z、a-z、0-9 和 ;,/?:@&=+$#-_.!~*'()。
图 1.4 启动 JMP Live 数据库安装

|
5.
|
点击安装。
|
|
6.
|
安装程序完成后点击完成。
|
|
7.
|
安装 JMP Live 前重新启动您的机器,以确保 PostgreSQL 服务器启动。您可以使用 pgAdmin 工具验证您的数据库已启动。
|
升级 JMP Live 数据库
|
1.
|
双击 JMPLiveDatabaseUpgrade.msi。
|
该文件位于您从 JMP 下载的 zip 文件中。
图 1.5 JMP Live 数据库安装向导

|
2.
|
点击下一步。
|
图 1.6 指定安装文件夹

|
3.
|
指定安装 JMP Live 数据库和 PostgreSQL 数据库的位置:
|
|
‒
|
点击下一步接受默认位置。
|
|
‒
|
点击浏览更改默认安装文件夹。
|
注意:确保您在安装 PostgreSQL 数据库的目录中有足够的空间。
图 1.7 指定数据库参数

|
4.
|
输入以下参数:
|
注意:若您正在升级,请确保这些参数与您的 JMP Live 环境文件中的内容一致。详细信息,请参见配置高级设置。
|
‒
|
端口:PostgreSQL 用于与其他数据库通信的 TCP 端口。通常为 5432。若您从 PostgreSQL 11 升级,该端口必须与以前的数据库端口号不同。在这种情况下,推荐 5433。
|
|
‒
|
数据库名称:JMP Live 使用的默认数据库的名称。建议将该设置保留为 webjmp。不能从 dba_webjmp 更改管理员用户 ID。
|
|
‒
|
管理员密码:管理员密码,默认为 Password1。强烈建议您更改该密码。
|
注意:允许的字符为 A-Z、a-z、0-9 和 ;,/?:@&=+$#-_.!~*'()。
图 1.8 选择迁移过程

|
5.
|
选择迁移过程:
|
|
‒
|
若您不熟悉迁移数据库,建议您保留选中迁移数据库。
|
|
‒
|
若您熟悉迁移过程,建议您取消选中迁移数据库并执行手动迁移,因为这样可以进行更多定制。建议按照 PostgreSQL 文档的说明进行数据库备份和恢复。
|
图 1.9 启动 JMP Live 数据库安装

|
6.
|
点击安装。
|
图 1.10 JMP Live 数据库迁移设置向导

|
7.
|
点击下一步。
|
图 1.11 指定安装文件夹

|
8.
|
指定安装 JMP Live 数据库更新安装程序的位置:
|
|
‒
|
点击下一步接受默认位置。
|
|
‒
|
点击浏览更改默认安装文件夹。
|
图 1.12 指定数据库参数

|
9.
|
输入以下参数:
|
|
‒
|
旧数据库的监听端口:PostgreSQL 11 用于与旧版本的 JMP Live 数据库通信的 TCP 端口。
|
|
‒
|
旧数据库名称:旧版本的 JMP Live 使用的默认数据库的名称。不能从 dba_webjmp 更改旧数据库的“管理员用户 ID”。
|
|
‒
|
新数据库的监听端口:PostgreSQL 13 用于与新版本的 JMP Live 数据库通信的 TCP 端口。该端口必须与旧数据库的监听端口不同。
|
|
‒
|
新数据库名称:新版本的 JMP Live 使用的默认数据库的名称。建议将该设置保留为 webjmp。不能从 dba_webjmp 更改新数据库的“管理员用户 ID”。
|
图 1.13 开始 JMP Live 数据库升级安装

|
10.
|
点击安装继续。
|
|
11.
|
安装程序完成后点击完成。
|
网络安全考虑
在 JMP Live 安装过程中,名为 pg_hba.conf 的网络权限文件添加至您的数据驱动中,位于(默认):C:\Program Files\PostgreSQL\13\data。该文件的格式为 PostgreSQL 所需格式。JMP 提供的版本允许网络从安装机器外访问数据库。这允许数据库分布到安装 JMP Live 的机器之外。若您不需要该类型的访问,必须在 pg_hba.conf 中相应更改设置。文件本身包含执行该操作的说明,但您还可以搜索 PostgreSQL 网站获取信息。
使用现有数据库安装 JMP Live
若您已安装了现有兼容版本的 PostgreSQL(11 或更高),而不是安装了 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 完成的。
更新 Keycloak
若您要从 JMP Live 16 升级为 17,则必须执行以下步骤:
|
1.
|
确保您具有 JMP Live 16 版本的 Keycloak 的管理员和数据库设置。您需要将这些相同的详细信息用于 JMP Live 17 版本的 Keycloak。
|
|
2.
|
卸载 JMP Live 16 版本的 Keycloak。
|
|
3.
|
(可选,推荐)重命名旧的 Keycloak 目录(例如,Keycloak.old)。
|
默认情况下,该目录位于:C:\Program Files\SAS\Keycloak。
|
4.
|
继续安装 JMP Live 17 版本的 Keycloak。
|
安装 Keycloak
|
1.
|
双击 Keycloak.exe。
|
该文件位于您从 JMP 下载的 zip 文件中。
图 1.14 选择您的安装语言

|
2.
|
选择您的安装语言,然后点击下一步。
|
图 1.15 Keycloak 欢迎窗口

|
3.
|
点击下一步。
|
图 1.16 指定 Keycloak 安装位置

|
4.
|
指定您想放置 Keycloak 安装文件的位置,然后点击下一步。
|
注意:Keycloak 文件放置在安装目录的子文件夹中。不能移动或更改该子文件夹。
图 1.17 设置 Keycloak 管理员

|
5.
|
指定管理员凭证,然后点击下一步。
|
默认情况下,用户名为 keycloakadmin,密码为 password。建议更改密码。
图 1.18 指定 Java 安装位置

在 Keycloak 安装期间,还安装了 Azul Java 分布。若您已安装,则不会更改当前安装。
|
6.
|
指定安装 Java 的目录,然后点击下一步。
|
注意:安装程序将 JAVA_HOME 环境变量添加至 Windows 高级系统设置。
图 1.19 配置端口和服务

|
7.
|
指定以下 Keycloak 详细信息:
|
|
‒
|
HTTP 端口:输入 HTTP 网络端口。默认端口为 8888。该端口需要向 Keycloak 服务器开放。
|
|
‒
|
HTTP 端口:输入 HTTP 网络端口。默认端口为 8443。该端口需要向 Keycloak 服务器开放。
|
|
‒
|
作为 Windows 服务安装 Keycloak:选择该选项将 Keycloak 作为 Windows 服务安装。这表示 Keycloak 会自动启动,若机器重启则它会自动重启,因此 Keycloak 始终运行。若您不选择该选项,您需要在首次以及您重启机器时手动启动 Keycloak。该选项默认被选中,建议保持其选中状态。
|
|
8.
|
点击下一步。
|
图 1.20 指定 Keycloak 证书

Keycloak 要求 SSL 证书保证您所在组织的真实性,并且允许 Keycloak 和身份提供程序间的安全连接。
警告:若您不指定以下证书,则安装失败。
|
9.
|
指定您所在组织的 SSL 证书的位置。这些必须从授权的提供程序获得。
|
|
‒
|
SSL 证书为文本文件,包含允许浏览器和 Web 服务器进行安全通信的密码密钥。这些密钥特定于组织,由第三方供应商(如 DigiCert、Symantec 和 Network Solutions)提供。JMP Live 在没有这些证书的情况下无法运行。
|
|
‒
|
主证书和密钥为购买方进行配置。根 (CA) 证书来自第三方供应商。
|
|
10.
|
点击下一步。
|
图 1.21 配置数据库参数

Keycloak 储存有关数据库中用户和客户端的信息。
|
11.
|
指定数据库信息:
|
注意:以下信息应与您安装 JMP Live 数据库时输入的内容匹配。请参见安装或升级 JMP Live 数据库。
|
‒
|
数据库主机名:指定 JMP Live 数据库所在机器的别名或 DNS 名称。
|
|
‒
|
数据库端口:指定数据库监听的端口。
|
|
‒
|
数据库名称:指定 JMP Live 数据库的名称。
|
|
‒
|
数据库用户名:指定数据库管理员的用户名。
|
|
‒
|
数据库密码:指定数据库管理员的密码。
|
|
12.
|
点击下一步。
|
图 1.22 安装 Keycloak 就绪

|
13.
|
点击安装继续。
|
图 1.23 完成窗口

|
14.
|
点击完成。
|
该过程可能花费几分钟,因为需要为 Java 和 Keycloak 运行单独的过程。您会看到进度指示符和命令提示。
若您选择 Keycloak 作为 Windows 服务运行,Keycloak 应在安装完成时运行。否则,要手动启动 Keycloak,使用以下命令:
<您的 keycloak 目录>\bin\standalone.bat -c standalone-ha.xml
|
15.
|
打开浏览器,使用您在 图 1.19 中指定的 HTTP 或 HTTPS 端口导航至“Keycloak 欢迎页”。若您选择默认端口,则为 http://localhost:8888 or https://localhost:8443。
|
图 1.24 Keycloak 欢迎页

|
16.
|
点击管理控制台。
|
图 1.25 KeyCloak 管理控制台常规选项

请参见 Keycloak 手册以设置用户访问权限。
|
17.
|
前进到安装 JMP Live。
|
安装 JMP Live
|
1.
|
(只有在您使用 Windows 远程桌面安装 JMP Live 时才需要,否则跳至第 2 步。)确保选项不对每个会话使用临时文件夹已启用:
|
|
a.
|
在您的 Windows 机器上,打开命令提示符。
|
|
b.
|
输入 cd %temp%。
|
若您浏览至 C:\Users\<用户 ID>\AppData\Local\Temp\2>,则不对每个会话使用临时文件夹已被禁用。您需要启用该选项才能继续 JMP Live 安装。
若您浏览至 C:\Users\<用户 ID>\AppData\Local\Temp>,则不对每个会话使用临时文件夹已启用并且您可以继续 JMP Live 安装。
|
2.
|
双击 JMPLive.exe。
|
该文件位于您从 JMP 下载的 zip 文件中。
图 1.26 选择您的安装语言

|
3.
|
选择您的安装语言,然后点击下一步。
|
图 1.27 JMP Live 必备组件安装向导

|
4.
|
点击下一步。
|
图 1.28 选择 Node.js 的安装路径

|
5.
|
指定 Node.js 的安装位置:
|
|
‒
|
点击下一步接受默认位置(推荐)。
|
|
‒
|
点击浏览更改默认安装文件夹。
|
图 1.29 选择要安装的必备组件

Node.js 默认情况下被选中,必须安装。
|
6.
|
点击下一步。
|
图 1.30 JMP Live 安装向导

|
7.
|
点击下一步。
|
图 1.31 指定安装文件夹

|
8.
|
指定安装 JMP Live 的位置:
|
|
‒
|
点击下一步接受默认位置(推荐)。
|
|
‒
|
点击浏览更改默认安装文件夹。
|
若您更改默认位置,请注意:
|
‒
|
更改的文件夹包含 JMP Live 安装文件,但 PostgreSQL 始终安装在其默认位置。
|
|
‒
|
由于 JMP Live 可以生成日志信息,确保新位置有足够的磁盘空间。推荐最小值为 1 GB。
|
图 1.32 组件选择窗口

|
9.
|
选择您想在该机器上安装的组件(必须至少选择一个):
|
|
‒
|
若您想安装两个组件,需要将两者都选中。
|
|
‒
|
若您想在不同的机器间分布组件,选择您想在该机器上安装的组件。您需要在其他机器上运行安装程序以安装其他选项。
|
|
10.
|
(可选)选择您是否想将选定的组件作为 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.33 指定端口和数据库详细信息

|
11.
|
指定以下 JMP Web 服务器设置:
|
|
‒
|
Web 服务器端口:输入从浏览器提取请求的 HTTPS 端口。默认情况下,该端口设置为 3501。您可以指定端口 443(默认 HTTPS 端口),但推荐您使用专用的端口,以便更轻松地进行监控和访问控制。若您在 Web 服务器组件前安装应用程序负载平衡器,请指定该端口。
|
|
‒
|
数据库主机名: 端口:
|
输入为 JMP Live 运行 PostgreSQL 数据库的机器的 DNS 名称。默认名称为 localhost(安装机器),但通常这会指定一个运行 PostgreSQL 的专用服务器。该机器可以位于公司防火墙内、防火墙外,或云服务中。
输入在安装 PostgreSQL 期间为从外部通信指定的端口。默认 PostgreSQL 端口为 5432。请参见图 1.3。
|
‒
|
数据库名称:在 PostgreSQL 中输入分配给 JMP Live 数据库的名称。可以更改该名称,但不推荐,因为数据库安装程序默认为 webjmp。
|
|
‒
|
数据库用户名和数据库密码:输入您在安装 JMP Live 数据库时指定的管理员用户 ID 和密码。数据库用户名应为 dba_webjmp,但您可能更改了默认密码(默认密码为 Password1)。在此处输入密码。
|
|
‒
|
使用 SSL 进行数据库连接:若您的 PostgreSQL 数据库需要 SSL 加密通信,则选择该选项。
|
图 1.34 创建管理员帐户

注意:强烈建议您创建管理员帐户。不过,若您正在从之前的版本更新 JMP Live,并且在数据库中已有管理员帐户,则您可以安全地跳过该步,方法是取消选中立即创建管理员帐户框。
|
12.
|
输入登录 JMP Live 时所要使用的管理员用户名。提供您将内容发布至 JMP Live 时出现的密码(默认为 password)和显示名。请注意以下事项:
|
|
‒
|
管理员用户名不能包含空格且必须为小写。
|
|
‒
|
一旦您创建了管理员帐户,您可以登录该帐户并指定其他用户作为管理员。
|
|
‒
|
您可以使用命令行界面随时创建管理员帐户。请参见维护 JMP Live 数据库。
|
图 1.35 指定 SSL 证书

|
13.
|
导航至或输入您组织的 SSL 证书。
|
|
‒
|
SSL 证书为文本文件,包含允许浏览器和 Web 服务器进行安全通信的密码密钥。这些密钥特定于组织,由第三方供应商(如 DigiCert、Symantec 和 Network Solutions)提供。JMP Live 在没有这些证书的情况下无法运行。
|
|
‒
|
主证书和密钥为购买方进行配置。根 (CA) 证书来自第三方供应商。
|
|
‒
|
JMP Live 安装程序提供的证书集允许对 localhost 进行最小安装测试。不过,当您在本地浏览器中查看网站时,它会生成警告,且网站不可从除安装机器外的其他机器上的浏览器访问。
|
提示:JMP Live 安装完成后,您可以验证 SSL 证书。请参见验证 JMP Live 的 SSL 证书。要运行 SSL 证书验证实用工具,从 node.js 命令行,输入以下目录和命令:C:\Program Files\SAS\JMP Live\JMPLive>npm run check-ssl。
|
14.
|
Cookie 过期:指定 JMP Web 组件要记住您的 JMP Live 登录状态多久。
|
|
‒
|
默认值为 720 分钟(12 小时),但为了提高安全性,您也可以缩短该时长。
|
|
‒
|
Cookie 过期不同于空闲超时。您可能持续使用网站,但 Cookie 过期将强制您在过期后重新登录。
|
图 1.36 设置 Keycloak

注意:不使用 Keycloak,可以添加与 Microsoft Active Directory 的直接连接。请参见配置高级设置。请注意,在未来版本的 JMP Live 中将不支持该方法。
|
15.
|
指定以下 Keycloak 设置:
|
|
‒
|
使用 Keycloak 身份管理:允许 Keycloak 身份验证系统。若取消选中该选项,将使用本地身份验证。在这种情况下,用户需要在 JMP Live 中创建帐户。这些用户不会针对不同的身份提供程序进行身份验证。有关将 Keycloak 连接至您的身份提供程序的详细信息,请参见 Keycloak 文档。
|
|
‒
|
Keycloak 别名(DNS 名称):指定运行 Keycloak 身份验证服务的服务器机器名。
|
|
‒
|
Keycloak HTTPS 端口:指定 Keycloak 期望接收请求的端口号。默认端口为 8443。
|
|
‒
|
管理员名称:指定 Keycloak 中 JMP Live 领域的管理员名称。该领域将 JMP Live 凭证与可能使用 Keycloak 身份验证的任何其他软件应用程序隔离开来。
|
|
‒
|
管理员密码:指定 JMP Live Keycloak 领域的管理员密码。
|
|
‒
|
JMP Live 别名(DNS 名称):指定将要运行主 JMP Live 网站的机器名。
|
图 1.37 配置 Pool 管理器

|
16.
|
若您想在该机器上运行 Pool 管理器,选中配置为 Pool 管理器框:
|
|
‒
|
若您正在为所有组件使用一台机器,或为 Pool 管理器和 JMP 会话使用一台机器,则选择该选项。
|
|
‒
|
若您仅在为工作节点池使用该机器,不要选择该选项。
|
|
17.
|
指定 Pool 管理器选项:
|
|
‒
|
JMP Live 别名(DNS 名称):输入 DNS 名称,通常如下所示:machine name.domain name.com/org。请注意以下事项:
|
除非您正在使用 localhost 选项安装所有组件,否则您需要指定 Web 主机名。
即使您在一台机器上安装了所有组件,您可能想要使用您所在组织的 SSL 证书获得安全连接。在这种情况下,指定机器名作为 Web 主机名,因为证书通常与机器绑定在一起。
|
‒
|
Pool 管理器主机名:(若您选择配置为 Pool 管理器则禁用。)若您在其他机器上设置工作线程池,输入正在处理 Pool 管理器职责的机器的 DNS 名称。
|
|
‒
|
Web 服务器端口:(若您在同一台机器上安装全部组件则禁用,因为在 JMP Web 组件上已指定端口号。)若您仅在安装 JMP Pool 组件,则输入您在另一台机器上安装 JMP Web 组件时使用的端口。
|
|
‒
|
池监听端口: 输入该池监听来自 JMP Pool 管理器和 JMP Web 组件的通信的端口。
|
|
‒
|
Pool 管理器监听端口:(仅在您配置工作节点池时启用。)输入指定为 JMP Pool 管理器设置的池监听端口的端口。工作节点池需要知道该端口,以便告知 JMP Pool 管理器它是可用的。
|
图 1.38 配置 JMP 设置

JMP 需要使用自己的安装程序在支持创建 JMP 会话的所有机器上安装,无论它是 JMP Pool 管理器的一部分还是工作节点池的一部分。当修改报告时,这些 JMP 的会话将启动以执行 JMP Live 的工作。
|
18.
|
指定以下 JMP 详细信息:
|
|
‒
|
JMP 会话基本端口:输入 JMP 会话使用的基本端口以便与 JMP Pool 管理器会话。JMP 的每个实例都有一个以该基本数字开始的唯一编号。
|
|
‒
|
JMP 可执行文件的路径:输入 JMP Pro 位置的路径。默认安装路径随即出现,因此仅当 JMP Pro 位于别处时您需要更改该路径。
|
|
‒
|
池中初始会话数:输入首次运行池时将启动的 JMP 会话数。
|
|
‒
|
池中最大会话数:输入允许在该机器上作为该池的一部分运行的 JMP 会话数的上限。若初始会话数中指定的数量都在使用中,则添加这些会话。
|
注意:若您正在安装 Pool 管理器,并且只希望它处理对其他工作节点池的资源分配,则您可以将初始值和最大值都设置为零。在这种情况下,只有配置并运行了工作节点池,网站才能正常工作。
图 1.39 配置 JMP 设置

|
19.
|
指定以下 JMP 详细信息:
|
|
‒
|
空闲超时(秒):输入 JMP 实例在删除与 JMP Web 组件的连接并等待新请求之前等待额外工作的时长。
|
|
‒
|
等待 Web 服务器的超时(毫秒):输入实例在放弃和丢弃现有工作请求之前,在现有事务中等待进一步通信的时长。
|
|
‒
|
数据库用户名:指定数据库管理员的用户名。
|
|
‒
|
数据库密码:指定数据库管理员的密码。
|
|
‒
|
SSL 根证书:(当您仅安装 JMP Pool 管理器组件时出现)指定您所在组织的证书授权文件的位置。
|
图 1.40 启动 JMP Live 安装

|
20.
|
点击安装启动 JMP Live 安装,安装程序结束后点击完成。
|
JMP Live 应自动连接至 Keycloak,并且您应该能够使用您在step 15中提供的 JMP Live 别名登录 JMP Live。若您登录到 JMP Live 有问题,可能需要手动连接。请参见手动连接 Keycloak 并启动 JMP Live。
配置高级设置
JMP Live 安装过程中,您会指定一些设置。要在稍后更改这些设置,或添加至高级设置,请更新环境 (.env) 文件。JMP Live 和 JMP Pool 管理器组件在以下位置各自有其自己的环境文件(默认):
|
•
|
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 端口。
NODE_ENV
(必需)将其设置为生产。这是 JMP 服务器的正确模式。
COOKIE_SECRET
(必需)密钥用于为 JMP Live 的该实例计算会话 cookie 的 hash。
DEBUG_DEV
(可选)逗点分隔的字符串值列表,确定代码中的哪些调试语句是活动的,哪些不是。没有默认值。
DEBUG_DEPTH
(可选)在调试语句中确定对象被发送到日志的深度(例如:debug('This is my object: %O', myObject);)。默认值为 10。
LOG_LEVEL
(可选)设置该 JMP 服务器实例中活动的 Bunyan 日志记录器消息的最低级别。这些是写入 Loggly 的消息。可能的值包括 trace、debug、info、warn、error 或 fatal。代码中的日志记录器行格式为“logger.debug(...);”。默认值为 info。
LOGGLY_SUBDOMAIN
(可选)设置将日志记录发送给 Loggly 的子域。
LOGGLY_TOKEN
(可选)设置将日志记录发送给 Loggly 时使用的标记。
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
(可选)证书文件的相对路径。
SSL_KEY_FILE
(可选)证书密钥文件的相对路径。
SSL_CA_FILE
(可选)证书授权文件的相对路径。
AUTH_SCHEME
(必需)JMP Web 组件使用的身份验证模式。可能的值包括 keycloak、ldap 和 local。这应针对给定的 JMP Server 实例设置一次并且从不更改,除非使用空数据库重新开始。
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。默认值以及最小允许清除间隔为五分钟。
ADMIN_LANG
设置使用 CLI 工具时显示的语言。选项包括 de(德语)、en(英语)、es(西班牙语)、fr(法语)、it(意大利语)、ja(日语)、ko(韩语)和 zh-CN(简体中文)。
DB_MAX_CONN_JMP_LIVE
JMP Live 的任意一个实例尝试维持的并发数据库连接的最大数目。默认值为 25。确定该设置的值时,请记住:
|
‒
|
数据库本身具有的 max_connections 预算(在 postgresql.conf 中定义)不应超过。
|
|
‒
|
集群中运行的 JMP Live 实例可以超过一个。
|
|
‒
|
JMP Live 和 JMP Pool 之间需要共享 max_connections 预算(建议拆分为 80% 和 20%)。
|
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_MANAGER
(可选,布尔)指定该池是否为 Pool 管理器。若是,则将其设置为 1。
WEBJMP_RETRY_WAIT
(仅在是 Pool 管理器时使用。)在尝试重新连接到 JMP web 组件之前,JMP 等待的毫秒数。默认值为 5000 毫秒。
POOL_MANAGER_HOST
(仅在不是 Pool 管理器时使用,因此它可以找到 Pool 管理器。)运行 Pool 管理器进程的机器的 DNS 名称。默认值为 localhost。
POOL_MANAGER_PORT
(仅在不是 Pool 管理器时使用。)Pool 管理器用于与工作节点池实例通信的端口。默认端口为 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 可能崩溃的场景。
SSL_CA_FILE
(可选)证书授权文件的相对路径。
DB_MAX_CONN_JMP_POOL
该 JMP Pool 尝试维持的并发数据库连接的最大数目。默认值为 10。确定该设置的值时,请记住:
|
‒
|
数据库本身具有的 max_connections 预算(在 postgresql.conf 中定义)不应超过。
|
|
‒
|
JMP Pool 可以超过 1 个。
|
|
‒
|
JMP Live 和 JMP Pool 之间需要共享 max_connections 预算(建议拆分为 80% 和 20%)。
|
创建 JMP Live 管理员用户
若您在 JMP Live 安装期间未创建管理员帐户,可以在稍后使用命令行界面创建一个:
|
1.
|
从 Windows 开始菜单中,打开命令提示。
|
|
2.
|
找到 JMPLive 文件夹,位于(默认):C:\Program Files\SAS\JMP Live\JMPLive\。
|
|
3.
|
输入以下命令:
|
node bin/jmplive-cli createAdminUser -d displayname -p password -u user
选项定义如下:
|
‒
|
-d displayname:管理员的显示名。若您使用空格,将名称放在引号内。默认名称为“JMP Live 管理员”。
|
|
‒
|
-p password:管理员密码。若未指定,将提示您输入密码。若您使用空格,将密码放在引号内。
|
|
‒
|
-u user:管理员名称。不允许使用空格。默认名称为 jmpliveadmin。
|
示例
C:\Users\userid>cd “C:\Program Files\SAS\JMP Live\JMPLive”
C:\Program Files\SAS\JMP Live\JMPLive>node bin/jmplive-cli createAdminUser -d "JMP Live Administrator" -p Password123 -u jmpliveadmin
Checking if admin user jmpliveadmin already exists.... no
Creating admin user jmpliveadmin.... done
C:\Program Files\SAS\JMP Live\JMPLive>
以管理员身份登录 JMP Live
在 JMP Live 中,点击“帮助”
> 以管理员身份登录。
创建 JMP Live 用户
JMP Live 中的用户可以按如下方式创建:
|
•
|
对于身份验证服务器中定义的用户,他们首次登录 JMP Live 时会自动添加。
|
创建单个用户
|
1.
|
从 Windows 开始菜单中,打开命令提示。
|
|
2.
|
找到 JMPLive 文件夹,位于(默认):C:\Program Files\SAS\JMP Live\JMPLive\。
|
|
3.
|
输入以下命令:
|
node bin/jmplive-cli createUser -d displayname -e email -l loginname
提示:或者可以输入 node bin/jmplive-cli createUser,会提示您输入登录名称、显示名称和电子邮件。
其中:
|
‒
|
-d displayname:用户的显示名称。若您使用空格,将名称放在引号内。
|
|
‒
|
-e email:用户的电子邮件地址。
|
|
‒
|
-l loginname:用户的登录名称。不允许使用空格。
|
示例
C:\Users\userid>cd “C:\Program Files\SAS\JMP Live\JMPLive”
C:\Program Files\SAS\JMP Live\JMPLive>node bin/jmplive-cli createUser -d "John Doe" -e johndoe@email.com -l johndoe
Creating a new user... done
C:\Program Files\SAS\JMP Live\JMPLive>
创建多个用户
|
1.
|
在 CSV 文件中,为您想要添加至 JMP Live 的每个用户输入以下信息:登录名称、显示名称和电子邮件地址。
|
图 1.41 包含用户的 CSV 文件的示例

|
2.
|
从 Windows 开始菜单中,打开命令提示。
|
|
3.
|
找到 JMPLive 文件夹,位于(默认):C:\Program Files\SAS\JMP Live\JMPLive\。
|
|
4.
|
输入以下命令:
|
node bin/jmplive-cli importUsers FILE
其中:
|
‒
|
FILE 是包含您想要导入的用户的 CSV 文件的路径。
|
|
‒
|
-h header:(可选)指示 CSV 文件中是否显示标题。该选项默认设置为 true,因此若您的 CSV 文件不包括标题,则输入 --[no-]header。
|
|
‒
|
-p partial:(可选)指示批量操作是否可以部分成功。该选项默认设置为 true,因此若您不想批量操作部分成功,则输入 --[no-]partial。
|
示例
C:\Users\userid>cd “C:\Program Files\SAS\JMP Live\JMPLive”
C:\Program Files\SAS\JMP Live\JMPLive>node bin/jmplive-cli importUsers filepath.csv
Reading file... done
Creating users | 1/1 Users
C:\Program Files\SAS\JMP Live\JMPLive>
创建 JMP Live 组
JMP Live 中的组可以按如下方式创建:
|
•
|
JMP Live 自动创建称为“所有用户”和“匿名访问者”的组(和空间)。当您希望任何人都能访问 JMP Live 帖子时,这些公共组非常有用。
|
|
‒
|
与“所有用户”组共享的帖子对登录到 JMP Live 的所有用户均可见。
|
|
‒
|
与“匿名访问者”组共享的帖子将访问权限扩展到未登录到 JMP Live 但有访问权限的任何人。只有管理员启用允许匿名访问的选项时才会显示该组(和空间)。
|
|
•
|
您可以在 JMP Live 中创建组。详细信息,请参见 JMP Live 帮助。
|
创建单个组
|
1.
|
从 Windows 开始菜单中,打开命令提示。
|
|
2.
|
找到 JMPLive 文件夹,位于(默认):C:\Program Files\SAS\JMP Live\JMPLive\。
|
|
3.
|
输入以下命令:
|
node bin/jmplive-cli createGroup NAME
其中:
|
‒
|
NAME 会替换为要创建的组的名称。若您使用空格,将名称放在引号内。
|
|
‒
|
-d description:(可选)将说明添加到该组。若您使用空格,将说明放在引号内。在 JMP Live 中,查看组详细信息时会显示说明。
|
|
‒
|
-u users:(可选)添加要包含在组中的用户登录名称的逗点分隔列表。逗点之间不要包括空格。
|
示例
C:\Users\userid>cd “C:\Program Files\SAS\JMP Live\JMPLive”
C:\Program Files\SAS\JMP Live\JMPLive>node bin/jmplive-cli createGroup “Test Group” -d “This is a description of Test Group.” -u johndoe
Checking if group "Test Group" already exists... no
Creating group "Test Group"... done
Adding Members | 1/1 Members
Checking if group “Test Group” already exists...
C:\Program Files\SAS\JMP Live\JMPLive>
创建多个组
|
1.
|
在 CSV 文件中,为您想添加至 JMP Live 的每个组输入以下信息:名称、说明和用户。
|
图 1.42 包含组的 CSV 文件的示例

|
2.
|
从 Windows 开始菜单中,打开命令提示。
|
|
3.
|
找到 JMPLive 文件夹,位于(默认):C:\Program Files\SAS\JMP Live\JMPLive\。
|
|
4.
|
输入以下命令:
|
node bin/jmplive-cli importGroups FILE
其中:
|
‒
|
FILE 是包含您想要导入的组的 CSV 文件的路径。
|
|
‒
|
-h header:(可选)指示 CSV 文件中是否显示标题。该选项默认设置为 true,因此若您的 CSV 文件不包括标题,则输入 --[no-]header。
|
|
‒
|
-p partial:(可选)指示批量操作是否可以部分成功。该选项默认设置为 true,因此若您不想批量操作部分成功,则输入 --[no-]partial。
|
示例
C:\Users\userid>cd “C:\Program Files\SAS\JMP Live\JMPLive”
C:\Program Files\SAS\JMP Live\JMPLive>node bin/jmplive-cli importGroups filepath.csv
Reading file... done
Creating groups | 1/1 Groups
C:\Program Files\SAS\JMP Live\JMPLive>
将多个用户添加至组
|
1.
|
从 Windows 开始菜单中,打开命令提示。
|
|
2.
|
找到 JMPLive 文件夹,位于(默认):C:\Program Files\SAS\JMP Live\JMPLive\。
|
|
3.
|
输入以下命令:
|
node bin/jmplive-cli addUsersToGroup GROUP
其中:
|
‒
|
GROUP 替换为要将用户添加至的组 ID。要查找组 ID,点击管理员 > 组 > 选择一个组。ID 位于 URL 的结尾处。
|
|
‒
|
-u users:(可选)添加要包含在组中的用户登录名称的逗点分隔列表。逗点之间不要包括空格。
|
示例
C:\Users\userid>cd “C:\Program Files\SAS\JMP Live\JMPLive”
C:\Program Files\SAS\JMP Live\JMPLive>node bin/jmplive-cli addUsersToGroup GROUPID -u johndoe
C:\Program Files\SAS\JMP Live\JMPLive>
创建 JMP Live 空间
JMP Live 中的空间可以按如下方式创建:
|
•
|
JMP Live 自动为每个 JMP Live 用户创建个人空间。
|
|
•
|
您可以在 JMP Live 中创建空间。详细信息,请参见 JMP Live 帮助。
|
|
•
|
您可以使用 JMP Live CLI 创建空间。请参见创建空间。
|
创建空间
|
1.
|
从 Windows 开始菜单中,打开命令提示。
|
|
2.
|
找到 JMPLive 文件夹,位于(默认):C:\Program Files\SAS\JMP Live\JMPLive\。
|
|
3.
|
输入以下命令:
|
node bin/jmplive-cli createSpace -d displayName, -k key -s spaceDescription
提示:或者可以输入 node bin/jmplive-cli createSpace,会提示您输入显示名称、键和空间说明。
其中:
|
‒
|
-d displayName:输入空间的名称。
|
|
‒
|
-k key:输入空间的唯一键。该键显示在 URL 中,编写脚本时可以使用。接受字母和数值。
|
|
‒
|
-s description:输入空间的说明。若您在说明中使用空格,将说明放在引号内。在 JMP Live 中,查看空间详细信息时会显示说明。
|
|
‒
|
-v discoverable:(可选)指出空间是否可发现。该选项默认设置为 false,因此若您不想空间被其他人发现,则输入 --[yes-]discoverable。
|
示例
C:\Users\userid>cd “C:\Program Files\SAS\JMP Live\JMPLive”
C:\Program Files\SAS\JMP Live\JMPLive>node bin/jmplive-cli createSpace -d “Test Space” -k testspace -s “This is a test space.”
Creating a new space... done
C:\Program Files\SAS\JMP Live\JMPLive>
JMP Live 17 的迁移注意事项
若您从以前版本的 JMP Live 迁移至 17,请注意 JMP Live 在实现某些功能方面的以下差异:
|
场景
|
以前的行为
|
JMP Live 17 行为
|
|---|---|---|
|
用户将报表发布至组。他们离开组或从组中删除。
|
用户仍可以查看报表。
|
除非用户请求访问包含报表的空间,否则他们可能不再能查看该报表。
|
|
文件夹中有使用完全相同名称的数据表或报表。
您具有与一个或多个组共享的名称完全相同的数据表、报表或文件夹。
|
不是问题。
|
在文件夹内,每个名称必须唯一。在迁移至 17 的过程中,将在标题后面追加一个数字使其唯一。例如,若您有两个名为 Big Class 的报表,其中一个会重命名为 Big Class (2)。
|
|
您具有与所有人共享的帖子(公共)。
|
公共帖子使用图标
|
公共帖子放置在“所有用户”空间中,对所有用户可见。
|
|
您具有仅与我共享的帖子(私有)。
|
私有帖子使用图标
|
私有帖子放置在用户的个人空间中,仅对该用户或与他们选择共享其个人空间的任何人可见。
|
|
您具有与组共享的帖子。
|
与组共享的帖子使用图标
|
与组共享的帖子放置在组有权访问的空间中。
|
关于 JMP Live 架构和身份验证
若您是在本地安装 JMP Live 服务器,则应该了解 JMP Live 系统的架构和第三方身份提供程序身份验证的可能配置。
架构概述
JMP Live 由若干可以相互通信的模块组成。该架构使得跨不同计算资源分布工作负载以处理更大的请求负载成为可能。
图 1.43 JMP Live 架构

您可以在单个计算资源上运行 JMP Live,但不推荐使用该设置。推荐的设置为将数据库与 JMP Live 的其他组件分离,并为数据库提供一个专用的计算实例,该实例经常进行备份,以确保 JMP Live 内容的安全性。数据库可以位于托管的服务上,其余组件可以托管在本地资源中。在这种情况下,您不会使用 JMP Live 数据库安装程序,但是需要在托管的服务上设置 PostgreSQL 13 兼容实例。请按照 使用现有数据库安装 JMP Live 中的说明执行操作。
确定安装大小
确定安装的大小并不容易,因为在单个安装站点可能存在也许影响性能的未知因素。网络速度是一个重要因素,使用专用机器或虚拟机的决定也会影响性能。SAS 无法保证此处描述的任何配置在每个位置都能良好地执行。
考虑可能的安装大小时,主要准则是用户数量:
|
•
|
小型部署被认为有 100 个用户。
|
|
•
|
中型部署被认为有 500 个用户。
|
|
•
|
大型部署被认为有 2000 个用户。
|
在所有情况下,假定每个用户都偶尔使用站点,并在相当程度上分散使用和查看各种报表。偶尔使用可能是每天 10 次。
|
•
|
若您的用户持续大量使用网站,您将需要一个更稳健的设置。
|
|
•
|
若用户经常访问几个报表,则专门用于 JMP Web 组件的计算资源的稳健性和数据库的稳健性将非常重要。
|
小型部署
在小型 JMP Live 部署(如 100 个用户)中,可以在单个专用机器上安装除数据库外的所有程序。
图 1.44 小型部署的推荐配置

在该情景中,JMP Web 和 JMP Pool 组件安装在同一台机器上。在安装期间,选择该选项“配置为 Pool 管理器”。与该 JMP Pool 管理器关联的 JMP 实例的数量是为站点运行的 JMP 实例的总数。
该计算资源的能力越强越好,这在很大程度上取决于处理器类型、网络速度等等。可考虑的绝对最低配置为 4 核机器,至少有 16GB 的专用 RAM。存储容量对数据库最重要,它取决于储存的报告数量。最低存储空间要求是 1 TB。
中型部署
在中型 JMP Live 部署(如 500 个用户)中,根据正在检索的报表的类型,您可以考虑两种配置:
|
•
|
若您有大量的报表检索,但报表本身不包含数据过滤器,或者需要重新计算统计量,则主要需要关注 JMP Web 组件。
|
|
•
|
若需要进行大量的报表计算,则主要需要关注 JMP Pool 管理器。
|
若 JMP Web 组件最重要,或者若您不知道是否将有计算密集型的环境,则推荐的配置如下。
图 1.45 中型部署的推荐配置

在 JMP Web 组件需要最佳性能的标准配置中,JMP Pool 管理器没有自己的 JMP 会话。您可以在 JMP Pool 管理器中将 JMP 会话数设置为零。所有 JMP 会话驻存在第二个计算资源(即 JMP Session Pool)中。
若您需要一个计算更密集的环境,则可以将会话分配给 JMP Pool 管理器(可能是五个)。这可能会降低 JMP Web 组件的性能,但为报表提供了额外的计算能力。
大型部署
在大型 JMP Live 部署(如 2,000 个用户)中,您可能需要多个 JMP Session Pool,以及一个针对 JMP Pool 管理器单独的专用计算资源。
图 1.46 大型部署的推荐配置

JMP Web 组件、JMP Pool 管理器组件、JMP Session Pool 和 PostgreSQL 数据库都是专用实例。您可以拥有的 JMP 会话数取决于每个实例的计算能力和内存容量。
以下是对每个实例的一些建议:
|
•
|
JMP Web 组件和 JMP Session Pool 实例:建议至少为 4 核机器,但最好是 32 GB RAM 的 8 核机器。
|
|
•
|
JMP Pool 管理器:建议至少为 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 管理器报告。
|
要使用自动扩展,在映像(将在扩展期间复制)上安装 Session Pool 期间,您必须选择将组件作为 Windows 服务安装的选项。这会在计算实例初始化时自动启动 Session Pool 组件。Session Pool 向 Pool 管理器报告,并且注册其可用性以提供计算服务。
身份验证注意事项
JMP Live 提供的身份验证工具基于安装的位置。对于本地安装,若您所在组织支持 Active Directory 或 LDAP (轻量级目录访问协议),JMP Live 可以连接到 Microsoft Active Directory 端点。否则,用户需要有现有的 SAS 个人资料。然后可以使用这些凭证对 JMP Live 进行身份验证。
这里介绍的身份验证机制与 JMP Live 如何连接到用户的身份提供程序有关。JMP 和 JMP Live 间的通信不同。
图 1.47 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_SEARCH_FILTER=(samAccountName={{username}})(memberOF=CN=JMP Live User Group,OU=Groups,DC=mydepartment,DC=mycompany,DC=com))
用于搜索用户的过滤器。{{}} 中的用户名作为提供的用户名插入。您可以使用 memberOF 选项验证用户位于组中。
|
4.
|
保存 .env 文件。
|
|
5.
|
若已将 JMP Web 组件作为 Windows 服务安装,请在完成更新环境文件之后使用任务管理器重启服务。
|
验证 JMP Live 的 SSL 证书
JMP Live 安装完成后,您可以验证 SSL 证书。使用安装默认设置的示例如下所示:
|
1.
|
转至 Windows“开始”菜单,打开 Node.js 命令提示。
|
|
2.
|
找到 JMPLive 文件夹,位于(默认):C:\Program Files\SAS\JMP Live\JMPLive\。
|
|
3.
|
输入以下命令:
|
npm run check-ssl
示例
C:\Users\userid>cd C:\Program Files\SAS\JMP Live\JMPLive
C:\Program Files\SAS\JMP Live\JMPLive>npm run check-ssl
> jmplive@17.2.0 check-ssl
> node ./config/checkSSL.js
正确读取了证书。
正确读取了私钥。
正确读取了证书颁发机构。
证书开始日期:03/02/2022
证书到期日期:17/03/2023
公用证书和私钥正确匹配。
提供的证书颁发机构已颁发证书。
C:\Program Files\SAS\JMP Live\JMPLive>
为 Keycloak 更新 SSL 证书
您可以在 Keycloak 服务器上使用命令行界面 (CLI) 执行以下任何操作:
|
•
|
更新 SSL 证书
|
|
•
|
验证新证书文件
|
|
•
|
更改数据库连接选项
|
|
•
|
显示数据库连接信息
|
|
•
|
测试数据库连接
|
默认情况下,CLI 安装在此处:C:\Program Files\SAS\Keycloak\keycloak\keycloak-cli.bat
您打开 CLI 之后,可以通过运行该命令:help 获取如何使用 CLI 的帮助。
手动连接 Keycloak 并启动 JMP Live
在您安装 JMP Pro、JMP Live 数据库、Keycloak 和 JMP Live 后,JMP Live 和 Keycloak 应自动连接。若您在安装后登录到 JMP Live 有问题,可能需要连接 Keycloak 并手动启动 JMP Live。
|
1.
|
若您正在将 JMP Live 数据库用作 Keycloak 数据库,则运行 JMP Live 一次。
|
这将用正确的模式和表填充 JMP Live 数据库,以便 Keycloak 进行操作。
|
2.
|
若 JMP Live 作为 Windows 服务运行,将其停止:
|
|
a.
|
在 Windows 搜索栏中键入 Task Manager。或者,按下 Ctrl+Alt+Delete 并选择 Task Manager。
|
|
b.
|
点击服务选项卡。
|
提示:若您未看到“服务”选项卡,可能需要点击更多详细信息。
|
c.
|
右击 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
注意:备用选择包括 ldap 和 local。ldap 是连接至 LDAP 或 Microsoft Active Directory 的旧选择(不要选择该选项,除非您正在使用 JMP 15.0 或更高版本)。local 允许不连接至身份提供程序的独立身份验证。
KEYCLOAK_SERVER_URL=https://mykeycloakserver.mydomain.com:8443
其中 mykeycloakserver.mydomain.com:8443 是您的 Keycloak 服务器的 URL 和允许 HTTPS 访问的端口。
KEYCLOAK_ADMIN=keycloakadmin
其中 keycloakadmin 是 Keycloak 中 JMP Live 领域的管理员名称。
KEYCLOAK_ADMIN_CREDENTIALS=Password1
其中 Password1 是 JMP Live Keycloak 领域的管理员密码。
JMPLIVE_BASEURL=https://myjmpliveinstance.mydomain.com:3501
其中 myjmpliveinstance.mydomain.com:3501 是您 JMP Live 服务器的 DNS 名称或别名,以及您为 HTTPS 访问正在使用的端口。
|
7.
|
保存 .env 文件更新。点击文件 > 保存。
|
|
8.
|
启动 JMP Live 组件:
|
|
‒
|
若您将 JMP Live 作为 Windows 服务安装,打开“任务管理器”,“服务”选项卡(参见 step 2),然后启动每个 JMP Live 服务。右击 webjmpsvc.exe 和 jmppoolsvc.exe,然后点击开始。
|
|
‒
|
若您尚未将 JMP Live 作为 Windows 服务安装,执行 组件不作为 Windows 服务安装 下的步骤。
|
JMP Live 和 Keycloak 现在应一起工作。
组件不作为 Windows 服务安装
|
1.
|
转至安装 JMP Live 的目录。默认情况下,JMP Live 安装在此处:C:\Program Files\SAS\JMP Live。
|
|
2.
|
双击 launch.cmd 文件。在该机器上安装的所有组件将启动。
|
|
3.
|
若安装已分布于若干台机器上,在每台机器上重复第 2 步。
|
每个组件会启动一条命令提示,显示每个组件的操作状态。
提示:要停止组件,按下 Ctrl+Break 或 Ctrl+C。
启用或禁用发布至 JMP Live
JMP Live 是一个您的公司购买并托管的网站,用于专有共享 JMP 内容。JMP Public 是 JMP Live 的一个公共实例,任何人都可以向其共享 JMP 内容。
您可以通过创建 jmpStartAdmin.jsl 文件管理发布设置。
启用或禁用发布至 JMP Live
管理员可以为特定的 URL 启用或禁用发布至 JMP Live。在用户的 PC 上,管理员可以在 jmpStartAdmin.jsl 文件中指定 URL。
Enable JMP Live URL() 指定用户可以发布至的 URL。例如:
Enable JMP Live URL( "https://public.jmp.com" ) // 允许发布至 JMP Public URL
Disable JMP Live URL() 指定用户不能发布至的 URL。例如:
Disable JMP Live URL( "https://public.jmp.com" ) // 禁用发布至 JMP Public URL
注意:若 URL 同时显示在两个列表中,则禁用发布至 URL。
您可以使用星号作为通配符指定 URL:
|
•
|
*(任何 URL)
|
|
•
|
*.jmp.com(以 jmp.com 结束的 URL)
|
|
•
|
http://public.*(以 http://public 开头的 URL。)
|
|
•
|
*public*(包含 public 的 URL)
|
更新 JMP 许可
在 JMP Live 中,JMP 会话在后台运行以重新计算分析。要使这些 JMP 会话工作,您必须具有有效的 JMP 许可。
出于安全原因,JMP Live 与过期许可一同提供。您需要在 90 天内更新该许可。
如何知道您的 JMP 许可是否已过期
若您以管理员身份登录 JMP Live,在 JMP Pool 状态页的顶部,您将看到以下消息:“JMP 应用程序正在报告许可证错误。”同时,您可能还注意到报表未重新计算结果。
如何更新过期的 JMP 许可
|
1.
|
找到新的许可文件。它是一个文本文件,若您已经成功地运行了 JMP Live,并且 JMP 许可已过期,则可以通过电子邮件发送给您。若您将其打开,您将在顶部看到 [_SID_]。
|
|
2.
|
导航至 C:\Program Files\SAS\JMPPRO\17 并查找 JMPExtractPER64.exe 文件。
|
|
3.
|
在您的计算机上创建临时文件夹。将以下文件复制并粘贴至该文件夹:
|
|
‒
|
JMPExtractPER64.exe
|
|
‒
|
新许可文件
|
|
4.
|
在搜索栏中键入 Command Prompt。确保以管理员身份运行命令提示(右击 Command Prompt 并选择 Run as administrator)。
|
图 1.48 以管理员身份运行 Windows Command Prompt

|
5.
|
找到包含 JMPExtractPER64.exe 文件副本和新许可文件的临时文件夹。
|
|
6.
|
运行该命令,用新许可文件的名称替换 MyLicenseTextFileName_x64.txt:
|
JMPExtractPER64.exe .\MyLicenseTextFileName_x64.txt .\jmp.per
这将在同一目录下创建一个 jmp.per 文件(您创建的临时文件夹)。
或者,您可以通过运行以下命令替换现有 jmp.per 文件:
JMPExtractPER64.exe .\MyLicenseTextFileName_x64.txt "C:\Program Files\SAS\JMPPRO\17\jmp.per"
|
7.
|
复制 jmp.per 文件,并将其粘贴至包含 JMP 安装的目录。默认情况下,该目录为 C:\Program Files\SAS\JMPPRO\<版本>。
|
|
8.
|
重新启动 JMP Live。详细信息,请参见step 8。
|
更新代码模块
大部分 JMP Live 是使用 JavaScript 开发的。Node.js 为 Web 服务器提供了代码生态系统,以及 JMP Live 需要运行的大多数其他基础结构。该生态系统包含大量独立开发的软件应用程序以实现特定的功能。这些模块偶尔可能需要使用安全修复进行更新。这可能还会在定期执行的自动过程中完成。在发布新的 JMP Live 版本时,JMP 始终更新代码模块,但模块更新可以提供临时安全修复。
要更新代码模块,您必须从 Windows 命令提示符运行 Node Package Manager (npm)。要手动执行该操作,
|
1.
|
导航至 Windows 启动菜单,并在 Node.js 下查找。
|
|
2.
|
用管理员权限启动 Node.js 命令提示。
|
|
3.
|
要让 npm 使用安全包更新任意包,运行 JMPLive 和 JMPPool 目录中的以下命令:
|
npm audit fix
您还可以使用以下命令为将应用于上述操作的修复添加前缀:
npm audit fix --dry-run
若您希望输出为 JSON 格式,将 --json 追加至 --dry-run 命令行。
卸载 Windows 服务
若您决定删除 Windows 服务,但保留安装的 JMP Live,您可以在主应用程序目录中运行 uninstall_services.cmd 文件。同样,您可以运行 install_services.cmd 文件重新安装 Windows 服务。只有在安装过程中选择了作为 Windows 服务安装的选项,这些文件才会存在。
维护 JMP Live 数据库
作为 JMP Live 管理员,为了维护 JMP Live 数据库,您应熟悉 PostgreSQL 数据库的以下方面:
|
•
|
备份和还原
强烈建议 JMP Live 管理员熟悉 PostgreSQL 中的备份和还原功能,并且计划和实施备份和还原策略。
例程数据库维护任务
建议 JMP Live 管理员熟悉 PostgreSQL 中的数据库维护功能,并且计划和实施维护例程。
警告:若您的 JMP Live 版本低于 15.2,请勿执行 vacuumlo.exe。对于低于 15.2 的版本,这会是不安全的操作。
JMP Live 数据库连接池
JMP Live 数据库无法接受无数的连接,即它无法同时满足无数的请求。数据库本身具有的最大连接数由 postgresql.conf 文件中的 max_connections 值定义。若您使用 JMP Live 安装程序安装您的 PostgreSQL 数据库,则该值默认设置为 500。您可以将该值当作数据库连接的总预算。您可以控制预算的大小以及如何支出。
更改预算的大小
预算的大小由 postgresql.conf 文件中的 max_connections 值定义。要进行更改,只需更改 max_connections 值并重新启动 PostgreSQL 服务。请记住,这些连接不免费;它们会造成内存使用的成本。如需指导,请参阅 PostgreSQL 文档和其他可信来源。
更改如何支出预算
您可以控制两个值:
|
•
|
C:\Program Files\SAS\JMP Live\JMPLive\.env 中 DB_MAX_CONN_JMP_LIVE 的值。
|
|
‒
|
该值表示单个 JMP Live 实例尝试维持的并发数据库连接的最大数目。
|
|
‒
|
有关更改该值的基本提示位于 C:\Program Files\SAS\JMP Live\JMPLive\.env.example 中。
|
|
‒
|
若您预计大部分流量将用于读取和评论帖子,您可能想增加预算中 JMP Live 的部分。
|
|
•
|
C:\Program Files\SAS\JMP Live\JMPPool\.env 中 DB_MAX_CONN_JMP_POOL 的值。
|
|
‒
|
该值表示 JMP Pool 的单个实例尝试维持的并发数据库连接的最大数目。
|
|
‒
|
有关更改该值的基本提示位于 C:\Program Files\SAS\JMP Live\JMPPool\.env.example 中。
|
|
‒
|
若您预计大部分流量将用于重新发布报表以及与报表交互(例如使用“列切换器”或“本地数据过滤器”),则您可能想增加预算中 JMP Pool 的部分。
|
JMP Live 集群
安装之后,若 JMP Live 使用 npm start 命令启动,则仅 JMP Live 服务器代码的一个实例启动。但是,若 JMP Live 使用 npm run cluster 命令启动,则 JMP Live 服务器代码的多个实例启动。使用集群模式,若一个实例忙碌,则客户端仍能从另一个实例获取响应。操作的正常方式是使用集群模式。集群中 JMP Live 服务器实例数大约等于服务器中存在的核心数。
标准预算
下面是一个简单示例,显示总预算有 500 个连接,JMP Live 集群中有 4 个 JMP Live 服务器,有 2 个 JMP Pool。在该示例中,DB_MAX_CONN_JMP_LIVE 设置为 100,DB_MAX_CONN_JMP_POOL 设置为 50。
图 1.49 标准预算示例

技术声明
随 JMP Live 软件一起提供的还有一些免费和开源软件,位于客户 JMP Live 页的“帮助” > “声明”部分,或位于以下链接:https://support.sas.com/en/documentation/third-party-software-reference/licenses.html。