帮助中心
如何在Ubuntu 24.04服务器上安装Apache Solr

如何在Ubuntu 24.04服务器上安装Apache Solr



Apache Solr 是一个基于 Apache Lucene 的开源搜索平台,旨在创建强大的应用搜索和索引功能。它提供先进的全文搜索、分面搜索、实时索引和分布式搜索功能,是构建搜索引擎和数据检索系统的热门选择。


Solr 具有高度可扩展性,并针对海量数据进行了优化,通常用于企业环境中的网站搜索、电子商务和大数据分析等任务。其类似于 REST 的应用程序接口可轻松与其他系统集成,并支持突出显示查询建议和地理空间搜索等功能。Solr 的灵活性、性能和社区支持使其成为需要强大搜索功能的企业的领先解决方案。


在本指南中,你将学习如何在 Ubuntu 24.04 服务器上安装 Apache Solr。除此之外,你还将学习如何使用 BasicAuthentication 确保 Apache Solr 的安全,并使用 solr 命令行创建第一个集合。


前提条件



要开始学习本指南,请确保您具备以下条件:

  • Ubuntu 24.04 服务器
  • 具有管理员权限的非 root 用户


准备 Ubuntu 服务器


在安装 Apache Solr 之前,我们先来准备和配置 Ubuntu 系统,增加内核参数中的 shmmax 和 nr_hugepages,然后增加默认的最大打开文件和进程数。


执行下面的命令来增加 Ubuntu 服务器上的 shmmax 和 nr_hugepages。

sudo echo 4294967295 > /proc/sys/kernel/shmmax
sudo echo 1536 > /proc/sys/vm/nr_hugepages

现在运行下面的命令修改 /etc/security/limits.conf 文件。

sudo nano /etc/security/limits.conf

使用以下配置增加用户 solr 的最大打开文件和进程数。

solr soft nofile 65000
solr hard nofile 65000
solr soft nproc 65000
solr hard nproc 65000

保存文件并退出编辑器。


安装 Java OpenJDK


配置好系统后,让我们安装 Java OpenJDK。Apache Solr 要求系统至少安装 Java 11,在本指南中,我们将使用 default-jdk 软件包,它提供了最新的稳定版 Java OpenJDK。


首先,按以下步骤更新 Ubuntu 软件包索引。

sudo apt update

现在使用下面的命令安装 default-jdk 软件包。输入 “Y ”确认安装。

sudo apt install default-jdk


安装完成后,使用以下命令检查 Java 版本。

java --version

如下所示,Java 21 已安装。



安装 Apache Solr


现在,您的 Ubuntu 系统已经配置完成,Java OpenJDK 也已安装,让我们开始安装 Apache Solr。在本指南中,你将使用 Solr 软件包提供的安装脚本安装 Apache Solr。


首先,运行下面的命令安装基本工具,如 curl、lsof 和 bc。

sudo apt install curl lsof bc


现在用下面的 wget 命令下载 Apache Solr 二进制软件包。

wget https://www.apache.org/dyn/closer.lua/solr/solr/9.7.0/solr-9.7.0.tgz?action=download

重命名 Apache Solr 软件包,并使用以下命令解压缩安装程序 install_solr_service.sh 脚本。

mv solr-9.7.0.tgz?action=download solr-9.7.0.tgz
tar -xf tar xzf solr-9.7.0.tgz solr-9.7.0/bin/install_solr_service.sh --strip-components=2

现在执行 install_solr_service.sh 脚本安装 Apache Solr。

sudo bash ./install_solr_service.sh solr-9.7.0.tgz

下面是 Apache Solr 的详细安装过程。


  • 默认安装目录位于 /opt/solr 目录。
  • 新用户 solr 会自动创建。
  • 创建新的服务文件 solr.service,用于管理 Apache Solr 服务。


现在用下面的命令检查 solr 的状态。你可以看到 solr 的状态是 active(已退出),这意味着服务正在运行,但 systemd 找不到任何要监控的文件。

sudo systemctl status solr


您还可以使用下面的 ss 命令检查系统上的开放端口。Apache Solr 应在 8893 端口上运行。

ss -tulpn


配置 Apache Solr


现在 Apache Solr 已经安装完毕,让我们通过修改 /etc/default/solr.in.sh 脚本中的 Apache Solr 参数来配置它。然后,增加默认的最大内存堆和用于运行 Apache Solr 的 IP 地址。


使用 vim 编辑器打开 Solr 配置文件/etc/default/solr.in.sh。

sudo vim /etc/default/solr.in.sh

将默认的 SOLR_HEAP 选项改为 Apache Solr 的最大内存分配。在本例中,我们将使用 4GB 内存。

SOLR_HEAP="4g"

在 SOLR_HOST 和 SOLR_JETTY_HOST 选项中输入你的 IP 地址。在本例中,Apache Solr 将在本地 IP 地址 192.169.10.60 上运行。

SOLR_HOST="192.168.10.15"
SOLR_JETTY_HOST="192.168.10.15"

现在运行下面的 systemctl 命令重启 Apache Solr 服务并应用更改。

sudo systemctl restart solr

你可以使用下面的 ss 命令检查 Apache Solr 使用的开放端口和 IP 地址。

ss -tulpn


通过身份验证确保 Apache Solr 的安全


配置好 Apache Solr 后,下一步就是确保部署的安全。在本例中,我们将使用基本身份验证来确保 Apache Solr 的安全。这可以通过创建一个新文件 /var/solr/data/security.json 来实现。


使用 vim 编辑器创建新配置文件 /var/solr/data/security.json

sudo vim /var/solr/data/security.json

插入以下配置,为 Apache Solr 设置身份验证,并创建一个密码为 solrRocks 的新用户 solr。

{
"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"}
}
}

保存文件并退出编辑器。


现在运行下面的 systemctl 命令重启 solr 服务并应用更改。

sudo systemctl restart solr

接下来,打开浏览器,访问 Apache Solr 安装 http://192.168.10.60:8983/。你将被重定向到 Apache Solr 登录页面。



输入用户 solr 和密码 solrRocks,您将看到 Apache Solr 面板。



在 Apache Solr 中创建第一个集合


在此阶段,您已经配置并保护了 Apache Solr。现在,你将通过命令行在 Apache Solr 中创建第一个集合。


用vim编辑器再次打开/etc/default/solr.in.sh文件。

sudo vim /etc/default/solr.in.sh

取消 SOLR_AUTH_TYPE 和 SOLR_AUTHENTICATION_OPTS 这两行的注释,将其保留为默认值。

SOLR_AUTH_TYPE="basic"
SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"

保存文件并退出编辑器。


现在运行以下命令重启 Apache Solr 服务。

sudo systemctl restart solr

接下来,运行下面的命令创建第一个集合,名称为 my_first_index。

su - solr -c "/opt/solr/bin/solr create -c my_first_index -n MyIndex"


现在移动到 Apache Solr 控制面板,你会看到新的集合 my_first_index 已经创建。




结论


恭喜您!您已经在 Ubuntu 24.04 服务器上完成了 Apache Solr 的安装。您使用 Java OpenJDK 21 安装了它,配置它在本地 IP 地址上运行,并使用 BasicAuthentication 确保了它的安全。最后,您使用 Solr 命令行创建了第一个集合。

文章相关标签: Ubuntu 24.04 Apache Solr
购物车