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

[经验分享] solrcloud 配置与搭建过程

  [复制链接]

尚未签到

发表于 2016-12-17 08:00:16 | 显示全部楼层 |阅读模式
本文的配置示例采用单台zookeeper与两台solr实例(即两个tomcat启动),collection分为两个shard(分片),每个shard两个replia(复本),本例使用版本为solr 4.4, zookeeper 3.4.6。
实际生产不会采用单台zookeeper,读者可自行扩展。
     本文链接地址:http://quentinXXZ.iyunv.com/blog/2118447
 
1、    zookeeper配置 
       这里使用zookeeper单机, ip为172.16.31.184。在conf 文件夹 新建zoo.cfg,内容如下
 

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/data/zookeeper
# the port at which the clients will connect
clientPort=2181
 
2、zookeeper服务启动
      bin 目录下 执行zkServer.cmd/zkServer.sh
 
3、  上传solr配置
      在solr机器上,新建目录,用于存放conf文件

mkdir /home/solr/solrhome/zkConf
       将solr 中的相关配置文件复制进去

cp -r /home/solr/solrhome/collection1/conf/* /home/solr/solrhome/zkConf
      调用上传命令, 这里使用的solr自身提供的jar包,本例将相应的solr 的相关jar放在tomcat 的lib中,大家自行替换目录,利用tomcat启动solr的配置不在此讲解。
 

java -classpath .:/home/solr/tomcat-6.0.41/webapps/solr/WEB-INF/lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost 172.16.31.184:2181 -confdir /home/solr/solrhome/zkConf -confname myconf

       可以利用zookeeper/bin 目录下的zkCli命令验证上传是否成功,利用如下命令连接zookeeper
zkCli.sh -server 127.0.0.1:2181
       查看配置结点

ls /configs/myconf            
DSC0000.jpg

      如上所示所有配置文件成功上传
 
4、将上传到ZooKeeper中配置文件与Collection相关联

java -classpath .:/home/solr/tomcat-6.0.41/webapps/solr/WEB-INF/lib/* org.apache.solr.cloud.ZkCLI -cmd linkconfig --collection mycollection --confname myconf --zkhost 172.16.31.184:2181  
      这里将myconf与mycollection相关联。 myconf为zookeeper配置结点,mycolletion为即将建立的solrcloud的collection(集合)名。
 
5、  启动solr
大家应该在之前配置standalone与master/salve形式的solr时,注意到了solr example示例中solr.xml文件中的<solrcloud>配置结点,其实在上述两种形式下,该配置结点并不会生效。《Apache Solr Reference Guide》中的描述如下:
This element defines several parameters that relate so SolrCloud. This section is ignored unless the solr instance is started with either  -DzkRun or –DzkHost
 可见只有指定-DzkRun 或 –DzkHost参数时,才能使solrCloud生效。
 修改solr.xml文件如下:
 

<solr>
<solrcloud>
<str name="zkHost">172.16.31.184:2181</str>
<str name="host">${host:}</str>
<int name="hostPort">8080</int>
<str name="hostContext">${hostContext:solr}</str>
<int name="zkClientTimeout">${zkClientTimeout:15000}</int>
<bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
</solrcloud>
<shardHandlerFactory name="shardHandlerFactory"
class="HttpShardHandlerFactory">
<int name="socketTimeout">${socketTimeout:0}</int>
<int name="connTimeout">${connTimeout:0}</int>
</shardHandlerFactory>
</solr>
      其中8080为tomcat的端口
      接着,在Tomcat的启动脚本bin/catalina.sh中,增加如下配置
 

JAVA_OPTS='-DzkRun'
      当然有些人将zkHost,zkClientTimeout等上述配置也放到JAVA_OPTS中去,也是可以的。但是我还是觉得着尽量这些配置放到solr专属的配置文件中更好。
     接下来,启动solr所在的tomcat,不用我说了吧。
     验证: 进入zkCli命令,查看live_nodes结点

ls /live_nodes
     返回结果如下
DSC0001.jpg
      如上所示,zookeeper已经检测到了该solr服务了。
 
6、 replia与shard配置 
      solr 是使用restful,基于restful的,没想到replia与shard配置也是都通过http来的,反正我没找到还可文件或者web界面配置的方式。
      访问solr的地址,执行solrcloud的CREATE命令:
http://199.155.122.32:8080/solr/admin/collections?action=CREATE&name=mycollection&numShards=2&replicationFactor=2&maxShardsPerNode=3
      结果提示创建不成功 This requires 4 shards to be created (higher than the allowed number)
     说明我们的solr运行实例还是不够。
       我采用同一台机器上开始两个tomcat的方式模拟两个solr运行实例,读者条件允许的话,可以使用多台机器。在同一台solr服务器上,另外复制一个tomcat 端口为8081,并复制另一个solrhome为,我保存为solrhome1,

<solr>
<solrcloud>
<str name="zkHost">172.16.31.184:2181</str>
<str name="host">${host:}</str>
<int name="hostPort">8081</int>
<str name="hostContext">${hostContext:solr}</str>
<int name="zkClientTimeout">${zkClientTimeout:15000}</int>
<bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
</solrcloud>
<shardHandlerFactory name="shardHandlerFactory"
class="HttpShardHandlerFactory">
<int name="socketTimeout">${socketTimeout:0}</int>
<int name="connTimeout">${connTimeout:0}</int>
</shardHandlerFactory>
</solr>
     当然要记得将webapps/solr/WEB_INF/web.xml的solrhome地址修改
     再次访问地址
http://199.155.122.32:8080/solr/admin/collections?action=CREATE&name=mycollection&numShards=2&replicationFactor=2&maxShardsPerNode=3
     返回结果如下:

DSC0002.jpg
     在Solr web界面上查看cloud的graph结果如下:
 
DSC0003.jpg
 
 
    至止solrcloud搭建成功,不枉我费了近一下午。

运维网声明 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-315285-1-1.html 上篇帖子: solr4.6.0安装部署以及配置中文分词IKAnalyzer 下篇帖子: tomcat7 集成 solr4.3.1
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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