solr集群和zookeeper的结合及activeMQ-创新互联
activeMQ应用场景:添加商品时需要将索引同步到数据库(这时候的manage-service充当消息的),
当调用商品添加功能时,索引库并不会更新,此时如果对商品进行搜索,那么将无法获取到最新商品,所以需要当商品添加时,告诉索引库及时更新,此时activeMQ就充当了消息中间健的作用,当商品更新时,他就是消息生产者,通过activeMQ传达给消息消费者进行索引更新
solrcloud:solrcloud是solr提供的,基于solr和zookeeper的分布式搜索方案
应用场景 :1) 当需要大规模,容错,分布式索引和检索能力时使用solrcloud;
2)当索引量很大,搜索请求并发很高时,同样需要使用solrcloud来满足这些需求;
不过当一个系统的索引数据量少的时候不需要使用solrcloud;
zookeeper在solrcloud集群中作用:它的主要思想是使用zookeeper作为solrcloud集群的配置信息中心,同一管理solrcloud的配置,比如
solrConfig.xml和schema.xml;
它的几个特色功能:1)集中式的配置信息,2)自动容错3)近实时搜索4)查询时自动负载均衡
zookeeper的功能有很多,1)目录服务(注册中心) 2)配置中心
自己最solrcloud的理解:分为两个维度,物理维度:一个solrcloud集群由多个物理机器或者虚拟机组成,每个虚拟机中可以包含多个solrcore,一个solrcore对应一个solrhome,对应一个tomcat。
逻辑维度:一个solrcloud集群可以看成是一个collection,一个collection分为多个分片Shard,一个分 片又由多个solrcore组成,其中这几个solrcore是一主多从
不同的shard可以增强solrcloud的存储功能。同一个shard中不同的solrcore可以解决单点故障问题,以及可以解决高并发问题。
solrcloud中如何使用到了zookeeper:
1)、 solrcloud是通过zookeeper统一管理配置文件(solrconfig.xml、schema.xml等),所以搭建solrcloud之前,需要先搭建zookeeper。
2)、由于solrcloud一般都是解决大数据量、大并发的搜索服务,所以搭建solrcloud,对zookeeper也需要搭建集群。
一:zookeeper集群搭建:1):安装jdk ; 2).上传zookeeper-3.4.6.tar.gz到linux,解压,并重命名为zk1至/usr/local/solrclod中,在复制两份为zk2,zk3; 3)将zoo_example.cfg 重命名为zoo.cfg 4)修改zoo.cfg:如下:(三个zookeeper配置文件中的clientPort端口不相同)
5).在dataDir目录下创建myid文件(文件里面对应上面只写个1或者2或者3) 6).编写脚本,启动三台zookeeper
二.solrcloud搭建: 1).复制4个单机版solr服务对应的tomcat,并分别改变端口(每一个上面都有三个端口要改); 2)复制4个solrhome,每个solr实例对应一个solrhome 3).修改solrhome下的solr,xml文件(改一下ip和端口) 4).设置tomcat启动参数,在每个tomcat目录下的 bin/catalina.sh添加一下内容:JAVA_OPTS="-DzkHost=192.168.242.138:2281,192.168.242.138:2282,192.168.242.138:2283"
5).将solr文件中配置文件上传到zookeeper中,进行统一管理(使用/usr/local/solr-4.10.3/example/scripts/cloud-scripts下的zkcli.sh命令将/usr/local/solrcloud/solrhome8280/collection1/conf目录上传到zookeeper进行配置。):./zkcli.sh-zkhost192.168.242.139:2281,192.168.242.139:2282,192.168.242.139:2283-cmdupconfig
-confdir /usr/local/solrcloud/solrhome8280/collection1/conf-confnamemyconf 6).使用zookeeper自带的 zkCli.sh命令连接zookeeper集群,查看上传的配置文件: ./zkCli.sh
-server 192.168.242.138:2281 7)启动所有solr服务
三.创建collection:创建新的集群,名称为collection2,集群中有四个solr节点,将集群分为两片,每片两个副本: http://192.168.242.138:8280/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2
删除名称为collection1的集群: http://192.168.242.139:8280/solr/admin/collections?action=DELETE&name=collection1
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享名称:solr集群和zookeeper的结合及activeMQ-创新互联
URL标题:http://scyanting.com/article/hhjpe.html