利用内置的jetty+zookeeper搭建solrcloud集群服务环境

Jetty-solrcloud

Jetty集群不用搭建,使用内嵌的zookeeper,使用solrexample示例即可运行,本例实现运行三个nodesolrcloud,新建一个文件夹命名为jettycloud,将example全部内容拷贝到该目录下三份,分别重新命名为node1,node2,node3

1、启动node1jetty服务,cmd当前node1目录下执行如下命令:

 Java -DzkRun -DnumShards=2 -Dbootstrap_confdir=./solr/collection1/conf -Dcollection.configName=myconf -jar start.jar  

然后访问 http://localhost:8983/solr/#/~cloud  

单独的服务,8983solr默认的端口,执行结果为collection1->shard1->172.20.163.63

                           Shard2

2、启动node2jetty服务,cmd当前node2目录下执行如下命令:

java -Djetty.port=7574 -DzkHost=localhost:9983 -jar start.jar  

注:需要更换jetty的端口号,避免冲突,和指定zk的端口

参数说明:

-Djetty.port设置这个参数的原因是我们在同一台计算机上运行服务,不能使用Jetty的默认端口了,默认端口已经被node1占了,随便选一个和默认端口不一样的端口。当在不同的计算机上启动的时候,也可以使用一样的端口。

-DzkHost这个参数告诉solr去哪里找ZooKeeper服务,默认情况下,ZooKeeper服务工作在solr端口加1000的那个端口上。jetty默认端口是8983,那么ZooKeeper的服务端口就是9983.

执行结果为:collection1->shard1->172.20.163.63:8983

                       Shard2->172.20.163.63:7574

                       Shard3

3、启动node3jetty服务,cmd当前node2目录下执行如下命令:

java -Djetty.port=8584 -DzkHost=localhost:9983 -jar start.jar

执行结果为:collection1->shard1->172.20.163.63:8983

                       Shard2->172.20.163.63:7574

                       Shard3->172.20.163.63:8584

默认设置为-DnumShards=2,所以最多为2shard,当启动两个jetty服务时,生成shard1shard2,每个分支有一个活动的服务,并且为主服务,当再增加服务时,依次向shard1shard2添加服务,个数始终保持平衡

4、还可以按照zookeeper ensemble集群

执行

java -DzkRun -DnumShards=2 

-Dbootstrap_confdir=./solr/collection1/conf -Dcollection.configName=myconf -DzkHost=localhost:9983,localhost:8574,localhost:9900 -jar start.jar

java -Djetty.port=7574 -DzkRun -DnumShards=2  -DzkHost=localhost:9983,localhost:8574,localhost:9900 -jar start.jar

java -Djetty.port=8900 -DzkRun -DnumShards=2 -DzkHost=localhost:9983,localhost:8574,localhost:9900 -jar start.jar

注:zookeeper按照jetty的端口号自动加1000

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值