前言
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云服务集群的搭建过程到这里就结束了,我们下期见。。。。。。