geerlingguy.solr
Ansible角色:Apache Solr
在Linux服务器上安装Apache Solr。
要求
服务器上必须有Java。您可以使用geerlingguy.java
角色轻松安装Java。确保安装的Java版本符合Solr的最低要求(例如,Solr 6+需要Java 8)。
目前该角色已测试并支持Solr 3.x、4.x、5.x、6.x、7.x和8.x。
角色变量
可用的变量如下所示,以及默认值(请参见defaults/main.yml
):
solr_workspace: /root
文件将在远程服务器上的此路径下载,然后再移动到适当位置。
solr_create_user: true
solr_user: solr
solr_group: "{{ solr_user }}"
Solr将在solr_user
下运行。如果solr_user
在这个角色运行之前已创建,或者您使用的是Solr 5+且希望使用Solr自带的安装脚本来设置用户,则将solr_create_user
设置为false
。默认情况下,solr_group
等于solr_user
,但可以根据您的配置覆盖。
solr_version: "8.11.2"
要安装的Apache Solr版本。有关完整列表,请参考可用的Apache Solr版本。
solr_mirror: "https://archive.apache.org/dist"
下载Solr压缩包的Apache项目镜像。若下载速度慢或超时,建议将镜像设置为Apache的镜像下载站点推荐的。
solr_remove_cruft: false
是否移除solr目录中的多余文档和示例。
solr_service_manage: true
solr_service_name: solr
solr_service_state: started
默认情况下,此角色将管理solr
服务,确保它在系统启动时启用并运行。您可以通过设置solr_service_state: stopped
确保Solr停止,也可以通过设置solr_service_manage: false
完全禁用此角色对solr
服务的管理。在这种情况下,您可能还想设置solr_restart_handler_enabled: false
(稍后记录)。
solr_install_dir: /opt
solr_install_path: /opt/solr
Apache Solr的安装路径。对于Solr 5+,solr_install_dir
将由Solr的安装脚本使用。对于Solr < 5,Solr安装文件将复制到solr_install_path
中。
solr_home: /var/solr
本地Solr数据(搜索集合和配置)的存储路径。通常应位于solr_path
之外,以便更轻松地进行Solr升级。
solr_port: "8983"
Solr运行的端口。
solr_xms: "256M"
solr_xmx: "512M"
JVM的内存设置。这些参数应设置得尽可能高,以获得最佳性能,并减少Solr由于内存不足而自行重启的可能性。
solr_timezone: "UTC"
运行Solr的JVM的默认时区。如有必要,您可以覆盖此设置,特别是在使用数据导入和增量导入时(例如:与MySQL外部数据源比较)。有关更多信息,请阅读Apache Solr的处理日期文档。
solr_opts: "$SOLR_OPTS -Dlog4j2.formatMsgNoLookups=true"
Solr选项。此选项被添加到角色中,部分原因是为了缓解CVE-2021-44228。
solr_cores:
- collection1
应在服务器上存在的核心/集合列表。如果它们不存在,则会使用Solr自带的默认示例配置创建每一个。请注意,此变量仅在使用Solr 5+时适用。
solr_connect_host: localhost
Solr可以访问的主机名或IP地址。localhost
在大多数情况下都能正常工作,但在某些特殊情况下,您可能只能通过其他IP或主机名访问本地Solr实例。
solr_restart_handler_enabled: true
是否应使用restart solr
处理程序。如果您正在构建容器或AMI,可能需要在提供运行中禁用重启处理程序。
仅适用于Solr < 5的变量
以下变量目前仅适用于Solr 4及以下版本的安装:
solr_log_file_path: /var/log/solr.log
Solr日志文件将创建的路径。
solr_host: "0.0.0.0"
Solr绑定的主机名或IP地址。默认为0.0.0.0
,这允许Solr监听所有接口。
依赖
无。
示例剧本
- hosts: solr-servers
roles:
- geerlingguy.java
- geerlingguy.solr
许可证
MIT / BSD
作者信息
该角色由Jeff Geerling于2014年创建,他是Ansible for DevOps的作者。
ansible-galaxy install geerlingguy.solr