阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

SolrCloud-5.2.1 集群部署及测试

168次阅读
没有评论

共计 3655 个字符,预计需要花费 10 分钟才能阅读完成。

一. 说明

Solr5 内置了 Jetty 服务,所以不用安装部署到 Tomcat 了,网上部署 Tomcat 的资料太泛滥了。

部署前的准备工作:

1. 将各主机 IP 配置为静态 IP(保证各主机可以正常通信,为避免过多的网络传输,建议在同一网段)。

2. 修改主机名,配置各主机映射;修改 hosts 文件,加入各主机 IP 和主机名的映射。

3. 开放相应端口或者直接关闭防火墙。

4. 保证 Zookeeper 集群服务正常运行。Zookeeper 的部署参考:http://www.cnblogs.com/wxisme/p/5178211.html

5. root 权限

6. 相关参数和组件的说明:

Collection:在 SolrCloud 集群中逻辑意义上的完整的索引。它常常被划分为一个或多个 Shard,它们使用相同的 Config Set。如果 Shard 数超过一个,它就是分布式索引,SolrCloud 让你通过 Collection 名称引用它,而不需要关心分布式检索时需要使用的和 Shard 相关参数。

Core:也就是 Solr Core,一个 Solr 中包含一个或者多个 Solr Core,每个 Solr Core 可以独立提供索引和查询功能,每个 Solr Core 对应一个索引或者 Collection 的 Shard,Solr Core 的提出是为了增加管理灵活性和共用资源。在 SolrCloud 中有个不同点是它使用的配置是在 Zookeeper 中的,传统的 Solr core 的配置文件是在磁盘上的配置目录中。

Leader:赢得选举的 Shard replicas。每个 Shard 有多个 Replicas,这几个 Replicas 需要选举来确定一个 Leader。选举可以发生在任何时间,但是通常他们仅在某个 Solr 实例发生故障时才会触发。当索引 documents 时,SolrCloud 会传递它们到此 Shard 对应的 leader,leader 再分发它们到全部 Shard 的 replicas。

Replica:Shard 的一个拷贝。每个 Replica 存在于 Solr 的一个 Core 中。一个命名为“test”的 collection 以 numShards= 1 创建,并且指定 replicationFactor 设置为 2,这会产生 2 个 replicas,也就是对应会有 2 个 Core,每个在不同的机器或者 Solr 实例。一个会被命名为 test_shard1_replica1,另一个命名为 test_shard1_replica2。它们中的一个会被选举为 Leader。

Shard:Collection 的逻辑分片。每个 Shard 被化成一个或者多个 replicas,通过选举确定哪个是 Leader。

二. 安装过程

1. 到 Apache 官网下载 Solr-5.2.1 安装包

2. 进入到 Solr 文件的目录,执行以下命令从压缩包中抽出安装脚本:

tar -xvzf solr-5.2.1.tgz solr-5.2.1/bin/install_solr_service.sh –strip-components=2

3. 运行安装脚本

执行以下命令安装 Solr:

./install_solr_service.sh solr-5.2.1.tgz -i /usr/solr/solr5 -d /usr/solr/solr5 -u solr -s solr -p 8983

或者执行以下命令按照默认值安装:

./install_solr_service.sh solr-5.2.1.tgz

其实也可以直接解压安装包,然后自定义配置即可。

4. 修改配置

执行以下命令编辑 solr.in.sh 文件:

vim /usr/solr5/solr.in.sh

参照如下进行修改:

SOLR_Java_MEM=”-Xms1G -Xmx1G”

ZK_HOST=”node1:2181,node2:2181,node3:2181/solr”

内存限制可以按照需要设定。

5. 按照上述步骤在其他节点执行安装

三. 启动 Solr 服务并验证

1. 在 Solr 集群中各节点执行以下命令启动 Solr 服务:

service solr start

SolrCloud-5.2.1 集群部署及测试

2. 查看 Solr 状态

service solr status

SolrCloud-5.2.1 集群部署及测试

3. 登录 Solr UI

http://node1:8983/solr

SolrCloud-5.2.1 集群部署及测试

四. 测试 Solr

Solr 提供了几种常用的方式来操作,Shell 命令、REST API、SolrJ 接口等等,根据实际情况选择。下面的操作为了简单方便的演示使用 Shell 命令的方式。

1. 打开并编辑 server/solr/configsets/sample_techproducts_configs/conf 下的 schema.xml 文件,在文件末尾随便添加一个 field。

SolrCloud-5.2.1 集群部署及测试

2. 创建一个 collection 并上传关联配置文件至 Zookeeper。

./bin/solr create_collection -c students -d server/solr/configsets/sample_techproducts_configs/conf -shards 3 -replicationFactor 3

如果以后要更新配置文件到 Zookeeper,可以使用以下命令更新全部配置:

./server/scripts/cloud-scripts/zkcli.sh -zkhost node2:2181,node1:2181,node3:2181 -cmd upconfig -confname students -confdir server/solr/configsets/sample_techproducts_configs/conf

如果只更新单个文件使用 putfile 命令:

./server/scripts/cloud-scripts/zkcli.sh -zkhost node2:2181,node1:2181,node3:2181 -cmd putfile /solr/configs/students/schema.xml /usr/tempfiles/schema.xml

路径的前者为配置文件在 Zookeeper 中的存储路径,后者是配置文件的本地路径。需要注意的是如果 Zookeeper 中的这个文件存在需要先删除之,然后在上传更新。可以登录 Zookeeper 中操作:

ZK_HOME/./bin/zkCli.sh -timeout 5000 -server node3:2181

登录到 Zookeeper 之后可以使用命令来对配置文件删除以及其他的操作,如果不清楚配置文件在 Zookeeper 中的位置也可以查看。

SolrCloud-5.2.1 集群部署及测试

3. 检测 collection 是否成功创建,在 Solr UI 中刷新页面,点击 Cloud 如果成功创建了 Collection 会显示出 Solr 的集群拓扑。

SolrCloud-5.2.1 集群部署及测试

还可以查看定义的 schema.xml 是否生效

SolrCloud-5.2.1 集群部署及测试

4. 添加索引,查询数据

1. 添加索引数据可以使用上述的几种方式,为简单起见使用 Solr UI 添加简单的索引数据进行测试

SolrCloud-5.2.1 集群部署及测试

点击提交会返回成功的信息:

SolrCloud-5.2.1 集群部署及测试

2. 查询测试

SolrCloud-5.2.1 集群部署及测试

测试完之后可以删除 Collection

http://node1:8983/solr/admin/collections?action=DELETE&name=students

到此 Solr 的部署和简单的测试就完成了,接下来就可以深入学习 Solr 的工作原理、数据结构的定义、配置和查询了。

参考资料:Solr 官方文档

Solr3.6.1 在 Tomcat6 下的环境搭建 http://www.linuxidc.com/Linux/2013-01/77664.htm

基于 Tomcat 的 Solr3.5 集群部署 http://www.linuxidc.com/Linux/2012-12/75297.htm

在 Linux 上使用 Nginx 为 Solr 集群做负载均衡 http://www.linuxidc.com/Linux/2012-12/75257.htm

Linux 下安装使用 Solr http://www.linuxidc.com/Linux/2012-10/72029.htm

在 Ubuntu 12.04 LTS 上通过 Tomcat 部署 Solr 4 http://www.linuxidc.com/Linux/2012-09/71158.htm

Solr 实现 Low Level 查询解析(QParser)http://www.linuxidc.com/Linux/2012-05/59755.htm

基于 Solr 3.5 搭建搜索服务器 http://www.linuxidc.com/Linux/2012-05/59743.htm

Solr 3.5 开发应用教程 PDF 高清版 http://www.linuxidc.com/Linux/2013-10/91048.htm

Solr 4.0 部署实例教程 http://www.linuxidc.com/Linux/2013-10/91041.htm

Solr 的详细介绍 :请点这里
Solr 的下载地址 :请点这里

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-02/128498.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3655字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中