如何在 Rocky Linux 上安装 Apache Solr
在此页
- 先决条件
- 安装 Java OpenJDK
- 在 Rocky Linux 上安装 Solr
- 设置 Solr 用户的打开文件和最大进程限制
- 验证 Solr 安装
- 使用基本身份验证保护 Solr
- 首先创建一个 Solr 核心
- 结论
Apache Solr 或 Solr 是一个基于 Apache Lucene 库的免费开源搜索平台。 Solr 代表 Searching On Lucene with Replication,它是一个用 Java 编写的企业级搜索平台。
Solr 是一个高度可扩展且可靠的搜索平台,具有容错和分布式索引。此外,它还带有复制和自动故障转移和恢复功能。
在大多数情况下,Solr 用于构建提供高性能的企业级应用程序。 Solr 被一些互联网大型网站使用,如 Adobe、Bloomberg、AT&T、Magento、Netflix、Instagram 等。
在本指南中,您将学习如何在 Rocky Linux 系统上安装 Apache Solr,启用 Solr 基本身份验证,为 Solr 部署设置最大打开文件限制和最大进程限制,以及如何从命令行创建第一个 Solr 核心。
先决条件
在开始之前,请确保您满足以下要求:
- 操作系统:Rocky Linux 8.5(绿黑曜石)
- 内存:2 GB 用于测试
- CPU:2
- 根权限
现在让我们开始吧。
安装 Java OpenJDK
要在 Linux 系统上安装 Solr,您至少需要 Java OpenJDK 1.8 或更高版本。 Rocky Linux 提供多个版本的 Java OpenJDK,在本示例中,您将为 Solr 安装安装 Java OpenJDK 1.11。
1、执行下面的DNF命令,在Rocky Linux系统上安装Java OpenJDK 1.11。
sudo dnf install java-11-openjdk java-11-openjdk-devel
输入 y 确认安装,然后按 Enter 继续。
2. 如果 java 安装完成,请使用以下命令验证您的安装。
java --version
以下是您将获得的类似输出。
openjdk 11.0.13 2021-10-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing)
您已经在 Rocky Linux 系统上完成了 Java OpenJDK 1.11 安装,您可以下载 Solr 并将其安装到您的系统中。
在 Rocky Linux 上安装 Solr
在这一步中,您将安装最新版本的 Solr(当前版本为 8.11)到 Rocky Linux 系统。您将使用 Solr 包中包含的安装程序脚本安装 Solr。
1. 将当前工作目录更改为 /opt 并使用以下命令下载 Solr 二进制代码。
cd /opt/
wget https://downloads.apache.org/lucene/solr/8.11.0/solr-8.11.0.tgz
2. 下载过程完成后,从 Solr 包中提取安装程序脚本。
tar xzf solr-8.11.0.tgz solr-8.11.0/bin/install_solr_service.sh --strip-components=2
现在您将看到 Solr 安装程序脚本 install_solr_service.sh。
3. 执行如下安装程序脚本来安装 Solr。
sudo bash ./install_solr_service.sh solr-8.11.0.tgz -i /opt -d /var/solr -u solr -s solr -p 8983
现在安装程序脚本将在以下详细信息中安装 Solr:
- 安装目录是/opt/solr。
- Solr 数据目录将在 /var/solr 目录中可用。
- Solr 将作为系统用户 solr 运行。
- 使用脚本 solr 为 Solr 定义 systemd 脚本。
- Solr 现在在默认端口 8083 上运行。
当 Solr 安装完成时,您将看到类似如下的输出。

您将看到有关 Solr 的文件限制和进程限制的警告消息,您将在下一步中修复它。 Solr 现在已在端口 8983 上启动并运行。
4. 使用以下命令验证系统上的 LISTEN 端口。
ss -aplnt | grep java
如果 Solr 安装正确,您将看到 Java 应用程序现在正在使用端口 8983。
LISTEN 0 50 [::ffff:127.0.0.1]:7983 *:* users:(("java",pid=4512,fd=48))
LISTEN 0 50 *:8983 *:* users:(("java",pid=4512,fd=157))
现在使用以下命令终止 Solr 进程。
pkill java
kill -9 PID
PID 是 Solr 应用程序的进程 ID。您可以从顶部的 ss 命令查看 Solr 应用程序的 PID。
5.接下来,重新加载系统管理器以应用新的systemd服务文件。
sudo systemctl daemon-reload
6. 之后,使用以下命令启动并启用服务 solr。
sudo systemctl enable --now solr
使用以下命令验证 solr 服务。
sudo systemctl status solr
现在您将看到 solr 服务处于活动状态(已退出)。 solr 服务正在运行,但 systemd 找不到任何要监控的守护进程。

您已经在 Rocky Linux 系统上完成了基本的 Solr 安装。
设置限制打开文件和 Solr 用户的最大进程
正如您在顶部看到的,在 Solr 安装期间,您收到了一条关于打开文件限制和进程限制的警告消息。 Solr 要求最小打开文件限制和最大进程限制为 65000。
要解决这些警告消息,您必须编辑配置 /etc/security/limits.conf 并为用户 solr 定义最大打开文件限制和最大进程限制。
1. 使用 nano 编辑器编辑配置 /etc/security/limits.conf。
sudo nano /etc/security/limits.conf
将以下配置复制并粘贴到该行的底部。
solr soft nofile 65000
solr hard nofile 65000
solr soft nproc 65000
solr hard nproc 65000
保存配置并退出。
2. 接下来,使用以下命令验证打开文件的限制和处理的最大用户数。
sudo -u solr ulimit -a
您将看到打开文件限制和最大用户进程限制为 65000,如下所示。

3. 现在使用以下命令重新启动 solr 服务。
sudo systemctl restart solr
现在您已经完成了 Solr 应用程序的最大打开文件限制和最大进程限制的配置。
验证 Solr 安装
要验证 Solr 安装,您需要将端口 8983 添加到 firewalld,然后您可以访问 Solr web 应用程序仪表板。
1. 执行下面的 firewall-cmd 命令将端口 8983 添加到 firewalld 并重新加载。
sudo firewall-cmd --add-port=8983/tcp --permanent
sudo firewall-cmd --reload
2. 现在打开您的网络浏览器并输入端口为 8983 的服务器 IP 地址,如下所示。
您将看到如下所示的 Solr 仪表板。

默认的 Solr 安装没有启用身份验证和授权。进入下一阶段,通过身份验证和授权保护 Solr 部署。
使用基本身份验证保护 Solr
在此步骤中,您将学习如何为 Solr 启用基本身份验证。
要启用 Solr 基本身份验证,您必须创建一个新的配置文件 security.json,并定义身份验证和授权模块。配置 security.json 必须位于 Solr 数据目录 /var/solr/data。
此外,您可以从 Solr 仪表板检查 Solr 数据目录,如下所示。

1. 将您的工作目录更改为 /var/solr/data 并使用 nano 编辑器创建一个新的配置文件 security.json。
cd /var/solr/data/
sudo -u solr nano security.json
复制并粘贴以下配置。
{
"authentication":{
"blockUnknown": true,
"class":"solr.BasicAuthPlugin",
"credentials":{"solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0= Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="},
"realm":"My Solr users",
"forwardCredentials": false
},
"authorization":{
"class":"solr.RuleBasedAuthorizationPlugin",
"permissions":[{"name":"all", "role":"admin"}],
"user-role":{"solr":"admin"}
}
}
保存配置并退出。
这将使用密码 SolrRocks 创建一个新的管理员用户 solr
2. 接下来,使用下面的 systemctl 命令重新启动 solr 服务以应用新配置。
sudo systemctl restart solr
3. 要验证 Solr 身份验证,请返回您的 Web 浏览器并输入服务器 IP 地址和 Solr 端口 8983。
现在您将被重定向到 Solr 登录页面,如下所示。

输入用户名 solr 和密码 SolrRocks,然后单击登录按钮。
您将看到 Solr 仪表板。
在安全部分,您将看到一个详细的身份验证和授权插件,其中包含您当前使用的用户名和角色。

现在您已经使用基本身份验证插件保护了 Solr 安装。
首先创建一个 Solr Core
在 Solr 中,术语核心指的是单个 Lucene 索引,您可以在单个 Solr 部署中创建多个核心。
每个核心都包含事务日志和配置文件,如 solrconfig.xml、模式文件等。此外,您可以在每个核心上索引具有不同结构的数据,并可以呈现给不同的应用程序/受众。
您可以使用 solr 命令行或使用 Solr 管理仪表板创建核心。
在此步骤中,您将学习如何使用 solr 命令行创建核心。
1. 在创建核心之前,您必须配置 Solr 凭据。
将您的工作目录更改为 /opt/solr/bin 并将默认配置 solr.in.sh.orig 复制到 solr.in.sh .
cd /opt/solr/bin/
cp solr.in.sh.orig solr.in.sh
使用 nano 编辑器编辑配置 solr.in.sh。
sudo nano solr.in.sh
取消注释选项 SOLR_AUTH_TYPE 并将值更改为 basic。这将告诉命令 solr 使用基本身份验证插件
SOLR_AUTH_TYPE="basic"
取消注释选项 SOLR_AUTHENTICATION_OPTS 并使用 Solr 用户和密码更改值,如下所示。
SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"
保存配置并退出。
2. 接下来,使用下面的 solr 命令创建一个新核心。在此示例中,您将创建一个名为 new_core 和配置名称 ConfigName 的新核心。
su - solr -c "/opt/solr/bin/solr create -c new_core -n ConfigName"
3. 现在回到 Solr 管理仪表板来验证 Solr 核心。
您将看到如下所示的详细信息。

您已经使用 solr 命令行创建了一个 Solr 核心。
结论
恭喜!您已经学习了 Rocky Linux 系统上的 Solr 安装。此外,您还学习了如何使用基本身份验证插件保护 Solr 部署,并学习了如何从 solr 命令行创建核心。