solrcloud搭建

结构图:

环境:虚拟机一台(centos7.4/jdk1.7)

材料:tomcat7、zookeeper(本文称作为zk)、solr

需求:三个zookeeper节点、四个tomcat节点

首先搭建zookeeper集群:

1、 解压缩zk,在zk根目录新建一个data文件夹,在data文件夹中新建一个myid来指定当前zk集群id(图中最后一个命令应该为:echo 1>>myid)

2、 修改zk根目录下的conf/zoo.cfg(自个修改)配置,需要修改dataDir,还需要增加节点地址和通讯端口号


3、 复制三份zk到自己创建solrcloud的目录下(/usr/local/solr-cloud)

4、 修改zk02的conf/zoo.cfg,修改端口号为2182、dataDir修改为data的路径,myid修改内容为2;data/myid中的值修改为2。Zk03同理(端口号要不同,myid值为3)

5、 编写脚本(zk-start.sh)启动zk,要使用命令赋予权限(chmod u+x zk-start.sh )

6、 启动

Solr集群搭建:

注:本教程直接将单机版的solr服务器tomcat直接复制四份到指定目录了、单机版solr搭建参考

1、 复制四份tomcat到指定目录、

2、 复制四份单机版的solrhome到指定目录

3、 依次修改tomcat的端口号:8180、8280、8380、8480(注意web.xml中的server节点中的port和connector节点中的port都要修改为互不相同)

      

4、 依次修改tomcat0X/webapps/solr/WEB-INF/web.xml,修改solrhome位置为对应的solrhome0x

5、 依次修改solrhome中的solr.xml配置、每个对应的solrhome修改为对应tomcat服务器的地址和端口号

6、 让zookeeper统一管理配置文件。需要把solrhome/collection1/conf目录上传到zookeeper。上传任意solrhome中的配置文件即可

./zkcli.sh -zkhost 192.168.25.141:2181,192.168.25.141:2182,192.168.25.141:2183 -cmd upconfig -confdir /usr/local/solr-cloud/solrhome01/collection1/conf -confname myconf (有颜色部分为solr对应的ip和单个collection对应的目录)

在solr的解压目录下example/scripts/cloud-scripts/运行上面的命令

遇到问题:Error: Could not find or load mainclass org.apache.solr.cloud.ZkCLI

解决办法:在solr解压目录下的example中运行start.jar(java –jar start.jar),在新的终端窗口再次运行./zkCli.sh

7、 任意选用一个zk客户端启动,查看上传的配置文件


8、 依次修改tomcat0X中的bin/catalina.sh,添加JAVA_OPTS="-DzkHost=192.168.25.141:2181,192.168.25.141:2182,192.168.25.141:2183",关联solr和zk、其中地址和端口号的三个zk集群对应的地址和通讯端口号

9、 编写脚本启动tomcat集群


10、           访问集群solr:http://192.168.25.141:8180/solr/#/


       出现代表solrcloud搭建成功

11、           删除collection1:命令:http://192.168.25.141:8180/solr/admin/collections?action=DELETE&name=collection1

12、           创建新的Collection进行分片处理命令:http://192.168.25.141:8180/solr/admin/collections?action=CREATE&name=collection1&numShards=2&replicationFactor=2

13、           最后在solrcloud中出现如图的代表分片处理创建成功


14、Java连接solrcloud

	@Test
	public void testSolrCloud() throws Exception {
		
		//连接到solr集群,zookeeper集群地址加端口号
		CloudSolrServer server = new CloudSolrServer("192.168.25.141:2181,192.168.25.141:2182,192.168.25.141:2183");
		//设置DefaultCollection
		server.setDefaultCollection("collection1");
		//
		SolrInputDocument doc = new SolrInputDocument();
		doc.addField("id", "10010");
		doc.addField("name", "HelloWorld");
		
		server.add(doc);
		server.commit();
		
	}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值