设为首页 收藏本站
查看: 1335|回复: 0

[经验分享] SolrCloud-5.2.1 集群部署及测试

[复制链接]

尚未签到

发表于 2017-3-1 08:13:39 | 显示全部楼层 |阅读模式
一. 说明
    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
DSC0000.png

  2.查看Solr状态



service solr status
DSC0001.png

  3.登录Solr UI



http://node1:8983/solr
DSC0002.png


四. 测试Solr
    Solr提供了几种常用的方式来操作,Shell命令、REST API、SolrJ接口等等,根据实际情况选择。下面的操作为了简单方便的演示使用Shell命令的方式。
    1. 打开并编辑server/solr/configsets/sample_techproducts_configs/conf下的schema.xml文件,在文件末尾随便添加一个field。
   DSC0003.png
    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中的位置也可以查看。
   DSC0004.png
    3.检测collection是否成功创建,在Solr UI中刷新页面,点击Cloud如果成功创建了Collection会显示出Solr的集群拓扑。
   DSC0005.png
    还可以查看定义的schema.xml是否生效
   DSC0006.jpg
  4.添加索引,查询数据
    1.添加索引数据可以使用上述的几种方式,为简单起见使用Solr UI添加简单的索引数据进行测试
DSC0007.png

    点击提交会返回成功的信息:
   DSC0008.png
    2.查询测试
   DSC0009.png
    测试完之后可以删除Collection



http://node1:8983/solr/admin/collections?action=DELETE&name=students
    到此Solr的部署和简单的测试就完成了,接下来就可以深入学习Solr的工作原理、数据结构的定义、配置和查询了。
    参考资料:Solr官方文档

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-348539-1-1.html 上篇帖子: 关于spring boot jar包与war包的问题 下篇帖子: Java Gradle入门指南之gretty插件(安装、命令与核心特性)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表