本页面说明在 Linux 环境中安装 Fess 的步骤。 支持 TAR.GZ、RPM、DEB 各种包格式。
Warning
在生产环境中,不推荐使用内嵌 OpenSearch 运行。 请务必构建外部的 OpenSearch 服务器。
前提条件
满足 系统要求 中描述的系统要求
已安装 Java 21
OpenSearch 3.7.0 可用(或新安装)
选择安装方法
在 Linux 环境中,可以从以下安装方法中选择:
| 方式 | 推荐环境 | 特点 |
|---|---|---|
| TAR.GZ | 开发环境、需要定制化的环境 | 可解压到任意目录 |
| RPM | RHEL、CentOS、Fedora 系 | 可通过 systemd 进行服务管理 |
| DEB | Debian、Ubuntu 系 | 可通过 systemd 进行服务管理 |
运行 OpenSearch 所需的系统设置
为了让 OpenSearch 在 Linux 上稳定运行,需要设置以下内核参数和资源限制。 这些设置主要在 TAR.GZ 版(手动安装 OpenSearch 的情况)中是必需的。 在 RPM / DEB 版中,OpenSearch 和 Fess 的软件包会通过 systemd 设置文件描述符数量等参数,但由于 vm.max_map_count 属于主机侧的内核设置,因此无论采用哪种方式都请进行确认。
虚拟内存最大映射数量
由于 OpenSearch 会使用大量内存映射,需要将 vm.max_map_count 设置为 262144 以上。
临时设置的情况:
永久设置的情况:
文件描述符数量
手动运行 OpenSearch 时(TAR.GZ 版),需要将运行 OpenSearch 的用户的文件描述符数量上限设置为 65535 以上。
在 /etc/security/limits.conf 中添加以下内容(请将 opensearch 替换为运行 OpenSearch 的用户名):
Note
在 RPM / DEB 版中,由于 systemd 的服务定义中已设置文件描述符数量上限,因此不需要进行此设置。
使用 TAR.GZ 版安装
步骤 1: 安装 OpenSearch
下载 OpenSearch
从 Download OpenSearch 下载 TAR.GZ 版。
Note
此示例使用 OpenSearch 3.7.0。 Fess 15.8 支持 OpenSearch 3.7.0。
安装 OpenSearch 插件
安装 Fess 所需的插件。
Important
插件版本必须与 OpenSearch 版本一致。 在上述示例中,所有版本都指定为 3.7.0。
配置 OpenSearch
在
config/opensearch.yml中添加以下配置。Warning
关于安全的重要注意事项
plugins.security.disabled: true仅应在开发环境或测试环境中使用。 在生产环境中,应启用 OpenSearch 的安全插件并进行适当的认证和授权配置。 在 OpenSearch 2.12 及更高版本中启用安全插件时,首次启动需要设置管理员密码(环境变量OPENSEARCH_INITIAL_ADMIN_PASSWORD)。 详情请参阅 安全配置。Tip
请根据环境调整集群名称和网络设置等其他配置。 配置示例:
Tip
OpenSearch 的堆大小通过
config/jvm.options中的-Xms/-Xmx进行设置。 建议将-Xms和-Xmx设置为相同的值,以不超过可用物理内存的一半且低于 32GB 为宜。
步骤 2: 安装 Fess
下载和解压 Fess
从 下载站点 下载 TAR.GZ 版。
配置 Fess
编辑
bin/fess.in.sh,设置到 OpenSearch 的连接信息。 该文件中预先以注释状态提供了用于连接外部 OpenSearch 集群的配置。取消文件开头附近以下 2 行的注释(行首的
#)。修改前(默认状态):
修改后:
Note
FESS_DICTIONARY_PATH请设置与 OpenSearch 的opensearch.yml中指定的configsync.config_path相同的路径。如果 OpenSearch 在其他主机上运行,请将
SEARCH_ENGINE_HTTP_URL更改为适当的主机名或 IP 地址。例:SEARCH_ENGINE_HTTP_URL=http://192.168.1.100:9200请勿新增
SEARCH_ENGINE_HTTP_URL=...行,而应取消注释已有的注释行并进行编辑。
Tip
要更改 Fess 的堆大小,请编辑
bin/fess.in.sh中的FESS_MIN_MEM``(默认:``256m)和FESS_MAX_MEM``(默认:``2g),或设置环境变量FESS_HEAP_SIZE。确认安装
确认配置文件已正确编辑:
步骤 3: 启动
关于启动步骤,请参阅 启动、停止、初始设置。
使用 RPM 版安装
RPM 版用于 Red Hat Enterprise Linux、CentOS、Fedora 等基于 RPM 的 Linux 发行版。
步骤 1: 安装 OpenSearch
下载和安装 OpenSearch RPM
从 Download OpenSearch 下载 RPM 包并安装。
或者,也可以添加仓库后进行安装。 详情请参阅 Installing OpenSearch。
安装 OpenSearch 插件
配置 OpenSearch
在
/etc/opensearch/opensearch.yml中添加以下配置。要添加的配置:
Warning
在生产环境中不要使用
plugins.security.disabled: true。 请参阅 安全配置 进行适当的安全配置。
步骤 2: 安装 Fess
安装 Fess RPM
从 下载站点 下载 RPM 包并安装。
配置 Fess
在 RPM 版中,需要编辑环境变量配置文件
/etc/sysconfig/fess。 该文件在软件包升级时也会被保留(由于/usr/share/fess/bin/fess.in.sh在升级时会被覆盖,因此请勿直接编辑该文件)。设置到 OpenSearch 的连接信息。默认值如下所示,请根据需要进行更改:
Note
FESS_DICTIONARY_PATH请指定与opensearch.yml中的configsync.config_path相同的路径。注册和启用服务
使用 systemd 启用服务(RHEL 8 及更高版本、CentOS 8 及更高版本中 systemd 为标准配置):
Note
由于 Fess 的服务依赖于 OpenSearch 的服务,因此需要先启动 OpenSearch。
Note
在不使用 systemd 的传统环境中,可以使用
chkconfig注册 Fess:
步骤 3: 启动
关于启动步骤,请参阅 启动、停止、初始设置。
使用 DEB 版安装
DEB 版用于 Debian、Ubuntu 等基于 DEB 的 Linux 发行版。
步骤 1: 安装 OpenSearch
下载和安装 OpenSearch DEB
从 Download OpenSearch 下载 DEB 包并安装。
或者,也可以添加仓库后进行安装。 详情请参阅 Installing OpenSearch。
安装 OpenSearch 插件
配置 OpenSearch
在
/etc/opensearch/opensearch.yml中添加以下配置。要添加的配置:
Warning
在生产环境中不要使用
plugins.security.disabled: true。 请参阅 安全配置 进行适当的安全配置。
步骤 2: 安装 Fess
安装 Fess DEB
从 下载站点 下载 DEB 包并安装。
配置 Fess
在 DEB 版中,需要编辑环境变量配置文件
/etc/default/fess。 该文件在软件包升级时也会被保留(由于/usr/share/fess/bin/fess.in.sh在升级时会被覆盖,因此请勿直接编辑该文件)。设置到 OpenSearch 的连接信息。默认值如下所示,请根据需要进行更改:
Note
FESS_DICTIONARY_PATH请指定与opensearch.yml中的configsync.config_path相同的路径。注册和启用服务
使用 systemd 启用服务:
Note
由于 Fess 的服务依赖于 OpenSearch 的服务,因此需要先启动 OpenSearch。
步骤 3: 启动
关于启动步骤,请参阅 启动、停止、初始设置。
安装后的确认
安装完成后,请确认以下内容:
确认配置文件
OpenSearch 的配置文件(opensearch.yml)
Fess 的配置文件
TAR.GZ 版:
bin/fess.in.shRPM 版:
/etc/sysconfig/fessDEB 版:
/etc/default/fess
目录权限
确认配置中指定的目录(
configsync.config_path/FESS_DICTIONARY_PATH)存在,并且已设置适当的权限。TAR.GZ 版的情况:
RPM/DEB 版的情况:
确认内核参数
确认该值为
262144以上。确认 Java 版本
确认已安装 Java 21 或更高版本。
下一步
安装完成后,请参阅以下文档:
启动、停止、初始设置 - Fess 的启动和初始设置
安全配置 - 生产环境的安全配置
故障排除 - 故障排除
常见问题
Q: OpenSearch 的其他版本也能工作吗?
A: Fess 依赖于特定版本的 OpenSearch。 为了确保插件兼容性,强烈建议使用推荐版本(3.7.0)。 如果使用其他版本,需要适当调整插件版本。
Q: 多个 Fess 实例可以共享同一个 OpenSearch 吗?
A: 可以,但不推荐。建议为每个 Fess 实例准备专用的 OpenSearch 集群。 如果多个 Fess 实例共享 OpenSearch,请注意索引名称的冲突。
Q: 如何将 OpenSearch 配置为集群?
A: 请参阅 OpenSearch 官方文档 Cluster formation。 配置为集群时,需要删除 discovery.type: single-node 设置并添加适当的集群配置。