在 CentOS/Fedora/Rocky Linux 上安装 Apache Solr
Apache Solr 是一个用 Java 编写的开源、容错且高度可扩展的搜索工具。 Apache Solr 为世界上许多最大的互联网站点的搜索和导航功能提供支持。在本教程中,我们将了解如何在 CentOS/Fedora/Rocky Linux 系统上安装 Apache Solr。
第1步:在CentOS/Fedora/Rocky上安装Java
Apache Solr 需要 Java。如果您的系统上没有安装 Java,请按如下所示安装。
sudo yum install lsof java-11-openjdk java-11-openjdk-devel -y
Java安装完成后,可以使用以下命令快速确认版本:
$ java -version
openjdk version "11.0.16.1" 2022-08-12 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.16.1.1-1.el7_9) (build 11.0.16.1+1-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.16.1.1-1.el7_9) (build 11.0.16.1+1-LTS, mixed mode, sharing)
步骤 2:在 CentOS/Fedora 上安装最新的 Apache Solr
Apache Solr 在 CentOS 和 Fedora 上游存储库上不可用,您必须下载它并进行手动安装。您可以检查 Apache Solr 的最新版本,然后将其保存到 LATEST_VER
变量中。
cd ~/
export LATEST_VER="9.0.0"
curl -O https://dlcdn.apache.org/solr/solr/$LATEST_VER/solr-$LATEST_VER.tgz
解压下载的存档:
tar xvf solr-${LATEST_VER}.tgz
现在运行 Apache Solr 服务安装程序脚本来设置 Solr 环境。
cd solr-${LATEST_VER}/bin/
sudo ./install_solr_service.sh ~/solr-${LATEST_VER}.tgz
示例输出:
id: solr: no such user
Creating new user: solr
Extracting /root/solr-9.0.0.tgz to /opt
Installing symlink /opt/solr -> /opt/solr-9.0.0 ...
Installing /etc/init.d/solr script ...
Installing /etc/default/solr.in.sh ...
Service solr installed.
Customize Solr startup configuration in /etc/default/solr.in.sh
*** [WARN] *** Your open file limit is currently 1024.
It should be set to 65000 to avoid operational disruption.
If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh
*** [WARN] *** Your Max Processes Limit is currently 4096.
It should be set to 65000 to avoid operational disruption.
If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh
/opt/solr/bin/solr: line 2263: /opt/solr/bin/solr-8983.pid: Permission denied
Waiting up to 180 seconds to see Solr running on port 8983 [/]
Started Solr server on port 8983 (pid=1754). Happy searching!
Found 1 Solr nodes:
Solr process 1754 running on port 8983
{
"solr_home":"/var/solr/data",
"version":"9.0.0 a4eb7aa123dc53f8dac74d80b66a490f2d6b4a26 - janhoy - 2022-05-05 01:00:08",
"startTime":"2022-10-17T16:56:40.472Z",
"uptime":"0 days, 0 hours, 0 minutes, 19 seconds",
"memory":"91.5 MB (%17.9) of 512 MB"}
使用 SysV Init 检查服务状态:
$ service solr status
Found 1 Solr nodes:
Solr process 1221 running on port 8983
{
"solr_home":"/var/solr/data",
"version":"9.0.0 a4eb7aa123dc53f8dac74d80b66a490f2d6b4a26 - janhoy - 2022-05-05 01:00:08",
"startTime":"2022-10-17T16:58:59.283Z",
"uptime":"0 days, 0 hours, 11 minutes, 19 seconds",
"memory":"73.2 MB (%14.3) of 512 MB"}
系统方式:
$ systemctl status solr
● solr.service - LSB: Controls Apache Solr as a Service
Loaded: loaded (/etc/rc.d/init.d/solr; bad; vendor preset: disabled)
Active: active (exited) since Mon 2022-10-17 17:15:50 UTC; 4min 1s ago
Docs: man:systemd-sysv-generator(8)
Process: 1051 ExecStart=/etc/rc.d/init.d/solr start (code=exited, status=0/SUCCESS)
Oct 17 17:15:33 cent7.mylab.io solr[1051]: *** [WARN] *** Your Max Processes Limit is currently 4096.
Oct 17 17:15:33 cent7.mylab.io solr[1051]: It should be set to 65000 to avoid operational disruption.
Oct 17 17:15:33 cent7.mylab.io solr[1051]: If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh
Oct 17 17:15:33 cent7.mylab.io solr[1051]: /opt/solr/bin/solr: line 2263: /opt/solr/bin/solr-8983.pid: Permission denied
Oct 17 17:15:33 cent7.mylab.io solr[1051]: Warning: Available entropy is low. As a result, use of the UUIDField, SSL, or any other features that require
Oct 17 17:15:33 cent7.mylab.io solr[1051]: RNG might not work properly. To check for the amount of available entropy, use 'cat /proc/sys/kernel/random/entropy_avail'.
Oct 17 17:15:50 cent7.mylab.io solr[1051]: [386B blob data]
Oct 17 17:15:50 cent7.mylab.io solr[1051]: Started Solr server on port 8983 (pid=1219). Happy searching!
Oct 17 17:15:50 cent7.mylab.io systemd[1]: Started LSB: Controls Apache Solr as a Service.
Oct 17 17:15:50 cent7.mylab.io solr[1051]: [14B blob data]
第 3 步:访问 Solr 仪表板
默认情况下,Solr 在端口 8983
上运行。如果您有活动的防火墙,请允许端口 8983。
sudo firewall-cmd --permanent --add-port=8983/tcp
sudo firewall-cmd --reload
应可通过服务器 IP 地址/主机名和端口 8983
访问仪表板。
http://<IP|Hostname>:8983
您应该得到一个类似于下面的仪表板:
第4步:创建Solr集合
您现在可以创建您的第一个 Solr 集合:
sudo su - solr -c "/opt/solr/bin/solr create -c testcollection -n data_driven_schema_configs"
其中 testcollection
是要创建的集合的名称。
示例输出:
INFO - 2018-11-18 13:48:05.538; org.apache.solr.util.configuration.SSLCredentialProviderFactory; Processing SSL Credential Provider chain: env;sysprop
Created new core 'testcollection'
创建的集合可在仪表板上的集合左侧面板中找到。
从 Solr 4.4 开始,可以在线获取详细的参考指南或以 PDF 格式下载。
对于 Ubuntu/Debian,请参阅在 Ubuntu/Debian 上安装最新的 Apache Solr