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

[经验分享] 【solr】Solr5.5.4+Zookeeper3.4.6+Tomcat8搭建SolrCloud集群

[复制链接]

尚未签到

发表于 2017-12-19 13:40:15 | 显示全部楼层 |阅读模式
Solr5.5.4+Zookeeper3.4.6+Tomcat8搭建SolrCloud集群
  SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud。当一个系统的索引数据量少的时候是不需要使用SolrCloud的,当索引量很大,搜索请求并发很高,这时需要使用SolrCloud来满足这些需求。SolrCloud 是基于Solr和Zookeeper的分布式搜索方案,具体拥有以下几个特色功能:
  1)集中式的配置信息
  2)自动容错
  3)近实时搜索
  4)查询时自动负载均衡
  SolrCloud在搭建时,通过先搭建完一个Solr实例后,可以很容易地使用Zookeeper来做一个集群。我演示的安装步骤基于一台机器,所以采用伪集群的方式进行安装,如果是真正的生成环境,将伪集群的ip改下就可以了,步骤是一样的。

安装准备


  • JDK1.7以上
  • Solr5.5.4部署包(solr-5.5.4.tgz 大约130M)
  • Tomcat8部署包 (apache-tomcat-8.5.16.tar.gz)
  • zookeeper-3.4.6部署包(zookeeper-3.4.6.tar.gz)
Solr5.5.4单机部署与Tomcat8
  你可以在Solr5.5.4单机部署找到如何将Solr5.5.4部署在Tomcat8环境下.

Solr5.5.4+Zookeeper3.4.6+Tomcat8集群部署
  如果已经成功部署了一个Solr,那么接下来的工作也不会太难。下面的集群部署基于已经成功部署过单个Solr。如果你还没有部署过Solr或者还没有部署过单机版的,讲义看一下Solr5.5.4单机部署里面第二部分,通过tomcat部署Solr,然后再来部署集群。
  具体zookeeper集群部署我在这里就不讲啦,如果不会部署zookeeper集群的可以看一下看一下zookeeper集群部署。本次部署详情信息如下:

机器
192.168.219.11(node11),192.168.219.12(node12),192.168.219.13(node13),192.168.219.14(node14)系统
Red Hat Enterprise Linux Server>系统内核
2.6.32-358.el6.x86_64solr版本
Solr-5.5.4zookeeper版本
3.4.6zookeeper地址(ip:port)
node11:2282,node12:2282,node13:2282tomcat版本
8.5.16solr+tomcat地址
/home/anu/tomcat8solr_home(core)地址
/home/anu/tomcat8/solr_home,   node11:8888(leader),node12:8888(follower),node13:8888(follower),node14:8888(follower)  1、我早之前已经在一台机器上那装过单机的Solr(鄙人是在node11机器上安装的,通过tomcat+Solr实现,放在tomcat8中),所以直接来改动它里面的配置就可以啦。
  2、为了保证端口不冲突,我们来改一下tomcat端口还有Solr端口
DSC0000.png

  修改./tomcat8/conf/server.xml,将下面几个地方的端口尽量改动一下不要和别的地方冲突
DSC0001.png

DSC0002.png

DSC0003.png

  这些地方本人已经改过啦,注意上面那个8888端口是tomcat发布端口,这个后面要用到,需要设置成Solr端口
  3、配置tomcat8的启动项,配置zookeeper和各个tomcat进行关联:首先确定leader节点,本人使用node11作为leader,其余的作为follower,现在先配置leader的tomcat目录下(我的是tomcat8)的bin/catalina.sh中的最上面添加一行
DSC0004.png


JAVA_OPTS="-Djetty.port=8888 -Dbootstrap_confdir=/home/anu/tomcat8/solr_home/ustcinfo/conf -Dcollection.configName=solr_home -DzkHost=node11:2282,node12:2282,node13:2282 -DnumShards=2"  8888:必须要和我们上面配置的tomcat端口一致,
  /home/anu/tomcat8/solr_home/ustcinfo/conf:这个是我的Solr_home 的路径,这个下面我们单机安装的时候已经说了这个的由来,下面马上我再说一下
  solr_home:是我的solr_home名字,可以随便取,但是尽量和你的solr_home文件名一样,便于查看
  node11:2282,node12:2282,node13:2282:这是我的zookeeper集群,前面已经安装并且已经启动
  2:表示有两个shard节点
  下面大致解释一下这些参数含义:


  • -Djetty.port Solr的发布端口,需要和tomcat端口一致,使用jetty.port是响应Solr内部jetty关联
  • -Dbootstrap_confdir ZooKeeper需要准备一份集群配置的副本,这个参数是告诉SolrCloud这些配置是放在哪里,同时作为整个集群共用的配置文件。
  • -Dcollection.configName 指定你的配置文件上传到zookeeper后的名字,建议和你所上传的核心名字一致,这样容易识别。
  • -DzkRun 在Solr中启动一个内嵌的zooKeeper服务器,该服务会管理集群的相关配置。
  • -DzkHost 跟上面参数的含义一样,允许配置一个ip和端口来指定用哪个Zookeeper服务器进行协调。
  • -DnumShards=2 配置需要把你的数据分开到多少个shard中
  • -Dbootstrap_conf=true 将会上传solr/home里面的所有数据到zookeeper的home/data目录,也就是所有的core将被集群管理,本次我未使用这个参数。
  这里面配好之后,我们再说说我配置的Solr_home路径由来。
  首先,我们在单机中已经将./solr-5.5.4/server/solr 下面所有的东西都拷贝到./tomcat8/solr_home目录下。我们进入到./tomcat/sole_home 目录下
DSC0005.png

  其次,在这个路径下新建一个作为core使用的文件夹,名字可以随意起,鄙人创建名字为ustcinfo的文件夹
  然后将./tomcat8/solr_home/configsets/basic_configs 目录下的所有文件都拷贝到我们刚刚新建的ustcinfo 下面
  

mkdir ustcinfo  
cp -r configsets/basic_configs/* ustcinfo/
  cd ustcinfo/
  ls
  cd conf
  pwd
  

DSC0006.png

DSC0007.png

DSC0008.png

  在这就可以看到我们配置的Solr_home地址,用于后面同一创建Solr集合识别core使用。
  特别需要注意:上面添加JAVA_OPTS时针对leader节点的,其余三台机器的JAVA_OPTS如下:
  

JAVA_OPTS="-Djetty.port=8888 -Dcollection.configName=solr_home -DzkHost=node11:2282,node12:2282,node13:2282 -DnumShards=2"  

  这个配置后面会提到
  4、修改solr.xml的jetty.port参数值为tomcat的端口
  打开./tomcat8/solr_home/solr.xml 文件,修改jetty.port参数值为tomcat的端口(即我们前面配置的8888)
      DSC0009.png
  5、将配置好的tomcat+solr拷贝到其他三台机器node12、node13、node14,
  

scp -r tomcat8 anu@node12:/home/anu/  
scp -r tomcat8 anu@node13:/home/anu/
  
scp -r tomcat8 anu@node14:/home/anu/
  

  6、修改其他三台follower的tomcat8启动项,
  分别进入node12、node13、node14机器,通过vim tomcat8/bin/catalina.sh 打开catalina.sh文件,将tomcat启动项的 -Dbootstrap_confdir=/home/anu/tomcat8/solr_home/ustcinfo/conf 删掉,最终JAVA_OPTS参数如下
  

JAVA_OPTS="-Djetty.port=8888 -Dcollection.configName=solr_home -DzkHost=node11:2282,node12:2282,node13:2282 -DnumShards=2"  

DSC00010.png

  7、分别启动4台机器的tomcat8+Solr
  使用命令tomcat8/bin/catalina.sh start 或者tomcat8/bin/startup.sh 启动四台tomcat8
  8、通过访问页面查看Sole配置
  在浏览器中打开http://192.168.219.11:8888/solr/index.html#/,进入后点击左边导航栏的cloud查看
DSC00011.png

运维网声明 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-425708-1-1.html 上篇帖子: 在solr客户端删除库中的数据 下篇帖子: Solr.NET快速入门(八)【多核多实例,映射验证】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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