前言

Solr是一个基于Apache Lucene的开源搜索平台,它提供了强大的全文搜索、分布式搜索和数据分析功能。Solr 可以用于构建高性能的搜索应用程序,支持从海量数据中快速检索和分析信息。Solr 使用倒排索引和先进的搜索算法,可实现快速而准确的全文搜索。Solr可以在多个服务器上进行水平扩展,实现分布式搜索和负载均衡。Solr支持复杂的过滤、排序和范围查询,使您可以根据各种条件对搜索结果进行精确控制。Solr 提供了强大的聚合和统计功能,用于在搜索结果上执行数据分析和汇总操作。Solr可以为搜索词提供自动完成和搜索建议,提升用户体验。Solr支持多种语言的全文搜索和分析,包括中文、英文等。

本节内容是关于solr搜索平台集群服务的安装部署,我们要事先准备三台服务器用于Solr集群服务的安装。

正文

①分别在hadoop101、hadoop102、hadoop103创建一个solr用户,用于solr服务管理

- 创建solr用户:sudo useradd solr

- 创建solr用户的密码:echo solr | sudo passwd --stdin solr

②上传solr安装包到hadoop101服务器的/opt/software目录下

③将solr安装包解压到/opt/module软件安装目录下

命令:

tar -zxvf solr-8.11.3.tgz -C /opt/module/

④将solr安装包的权限改为solr用户

命令:

sudo chown -R solr:solr solr-8.11.3/

⑤修改solr的配置文件/opt/module/solr-8.11.3/bin/solr.in.sh,添加zookeeper配置,实现集群的高可用,并将zookeeper中创建chroot节点的配置打开

ZK_HOST="hadoop101:2181,hadoop102:2181,hadoop103:2181/chroot"

⑥分发solr安装包到hadoop102、hadoop103

⑦在/etc/profile.d/my_env.sh中配置solr的环境变量

⑧分发/etc/profile.d/my_env.sh配置文件,并分别在服务器执行source /etc/profile.d/my_env.sh命令,使solr环境配置生效

⑨启动zookeeper集群

⑩分别在hadoop101、hadoop102、hadoop103以solr用户启动solr服务

启动命令:

sudo -i -u solr solr start -Dsolr.solr.home=/opt/module/solr-8.11.3/server/solr

-Dsolr.solr.home :指定solr服务的home目录

⑪访问solr云服务的web页面

⑫在solr的安装目录的/opt/module/solr-8.11.3/bin目录下创建一个solr云服务集群的启停脚本mysolr.sh,并授予可执行权限

#!/bin/bash
if [ $# -lt 1 ]
then
 echo "No Args Input..."
 exit ;
fi
case $1 in
"start")
 echo " =================== 启动 solr 云服务集群 ==================="
 ssh hadoop101 "sudo -i -u solr /opt/module/solr-8.11.3/bin/solr start -Dsolr.solr.home=/opt/module/solr-8.11.3/server/solr"
 ssh hadoop102 "sudo -i -u solr /opt/module/solr-8.11.3/bin/solr start -Dsolr.solr.home=/opt/module/solr-8.11.3/server/solr"
 ssh hadoop103 "sudo -i -u solr /opt/module/solr-8.11.3/bin/solr start -Dsolr.solr.home=/opt/module/solr-8.11.3/server/solr"
 
;;
"restart")
 echo " =================== 重启 solr 云服务集群 ==================="
 ssh hadoop101 "sudo -i -u solr /opt/module/solr-8.11.3/bin/solr stop -all"
 ssh hadoop102 "sudo -i -u solr /opt/module/solr-8.11.3/bin/solr stop -all"
 ssh hadoop103 "sudo -i -u solr /opt/module/solr-8.11.3/bin/solr stop -all"
 ssh hadoop101 "sudo -i -u solr /opt/module/solr-8.11.3/bin/solr start -Dsolr.solr.home=/opt/module/solr-8.11.3/server/solr"
 ssh hadoop102 "sudo -i -u solr /opt/module/solr-8.11.3/bin/solr start -Dsolr.solr.home=/opt/module/solr-8.11.3/server/solr"
 ssh hadoop103 "sudo -i -u solr /opt/module/solr-8.11.3/bin/solr start -Dsolr.solr.home=/opt/module/solr-8.11.3/server/solr"
 
;;
"stop")
 echo " =================== 关闭 solr 云服务集群 ==================="
 ssh hadoop101 "sudo -i -u solr /opt/module/solr-8.11.3/bin/solr stop -all"
 ssh hadoop102 "sudo -i -u solr /opt/module/solr-8.11.3/bin/solr stop -all"
 ssh hadoop103 "sudo -i -u solr /opt/module/solr-8.11.3/bin/solr stop -all"
 
;;
"status")
 echo " =================== 查看 solr 云服务集群状态 ==================="
 ssh hadoop101 "sudo -i -u solr /opt/module/solr-8.11.3/bin/solr status"
 ssh hadoop102 "sudo -i -u solr /opt/module/solr-8.11.3/bin/solr status"
 ssh hadoop103 "sudo -i -u solr /opt/module/solr-8.11.3/bin/solr status"
;;
*)
 echo "Input Args Error..."
;;
esac

⑬验证云服务集群启停脚本

- 启动:mysolr.sh start

- 查看状态:mysolr.sh status

- 重启:mysolr.sh restart

- 停止:mysolr.sh stop

结语

至此,关于solr云服务集群的搭建过程到这里就结束了,我们下期见。。。。。。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐