solrcloud集群部署 四

版权声明:转载请注明原始链接 https://blog.csdn.net/sswqzx/article/details/84580593

七、集群部署

1、修改tomcat启动文件,添加zookeeper的地址信息

修改:tomcat文件夹下的bin目录中的catalina.sh文件,添加以下信息:

export JAVA_OPTS="-Dsolr.solr.home=/usr/local/myapp/solr-4.10.2/example/solr 
-DzkHost=192.168.206.101:2181,192.168.206.102:2181,192.168.206.103:2181"

-Dsolr.solr.solr.home指定的是Solr索引库位置

-DzkHost指定的是三个zookeeper的ip和客户端端口信息

这样tomcat启动后,solr服务就可以到zookeeper中注册自己的信息,或者获取其它节点信息。

2、克隆安装好的单机

虚拟机克隆参考:https://blog.csdn.net/sswqzx/article/details/84582486

3、分别修改zookepper/data/myid

 

分别修改zookepper/data/myid 为2 和3 、然后重启zkService.sh start 

4、修改Solr配置文件,配置集群的中每台Solr服务的IP和端口

1)进入/usr/local/myapp/solr-4.10.2/example/solr目录

2)修改solr.xml文件
<solrcloud>
    <str name="host">192.168.206.101</str>
    <int name="hostPort">8080</int>
    <str name="hostContext">${hostContext:solr}</str>
    <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
    <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
  </solrcloud>

说明:

我们访问一台Solr服务的地址,一般是这样的:http://192.168.206.101:8080/solr
而在这里的几个参数,分别对应这个地址的一些信息:
host:就是Solr服务的IP地址,每台机器配置为自己的IP
hostPort:就是监听端口,我们是Tomcat服务,因此是8080
hostContext:就是访问的路径,这里缺省值是solr,我们不用改

5、将Solr配置文件上传到Zookeeper中,由Zookeeper统一管理

sh /usr/local/myapp/solr-4.10.2/example/scripts/cloud-scripts/zkcli.sh 
-zkhost 192.168.206.101:2181,192.168.206.102:2181,192.168.206.103:2181 
-cmd upconfig -confdir /usr/local/myapp/solr-4.10.2/example/solr/collection1/conf/ -confname solrconf

查看是否上传成功:#zkCli.sh  启动zookeeper客户端

#ls   /configs/solrconf

说明:

/usr/local/myapp/solr-4.10.2/example/scripts/cloud-scripts/zkcli.sh	
:Solr提供的访问Zookeeper的脚本文件
-zkhost 192.168.206.101:2181,192.168.206.102:2181,192.168.206.103:2181:	
指定Zookeeper的地址信息
-cmd upconfig: 指定操作的命令。这里是上传配置
-confdir /usr/local/myapp/solr-4.10.2/example/solr/collection1/conf/ 
:指定要上传的配置文件目录,我们上传Solr的样例中的配置
-confname solrconf :指定注册到Zookeeper中后配置文件目录名称

6、启动SolrCloud

启动每一台服务器中的Solr服务(其实就是启动Tomcat)、访问SolrCloud,查看云的状态

http://192.168.206.103:8080/solr/

 

点击Tree节点。查询详细信息

 

7、down掉一台服务器、只关tomcat #sh  shutdown.sh 、网页查看

网页执行命令

http://192.168.206.101:8080/solr/admin/collections?action=CREATE&name=myCollection1&numShards=2&replicationFactor=2&maxShardsPerNode=8&property.schema=schema.xml&property.config=solrconfig.xml
 

再开启tomcat

八、管理界面查看和操作SolrCloud

1、创建core命令:

http://192.168.206.101:8080/solr/admin/collections?action=CREATE&name=myCollection2&numShards=2&replicationFactor=2&maxShardsPerNode=8&property.schema=schema.xml&property.config=solrconfig.xml

参数说明:

name:指明collection名称

numShards:指明分片数

replicationFactor:指明副本数

maxShardsPerNode: 每个节点最大分片数(默认为1)

property.schema:指定使用的schema.xml,这个文件必须在zookeeper上。

property.config:指定使用的solrconfig.xml,这个文件必须在zookeeper上。
2、删除Collection命令;

http://192.168.206.101:8080/solr/admin/collections?action=DELETE&name=collection1

3、查询所有的Collection

http://192.168.206.101:8080/solr/admin/collections?action=LIST

4、显示集群的状态

http://192.168.206.101:8080/solr/admin/collections?action=CLUSTERSTATUS

5、分裂shard

http://192.168.206.101:8080/solr/admin/collections?action=SPLITSHARD&collection=myCollection2&shard=shard2

6、删除shard

http://192.168.206.101:8080/solr/admin/collections?action=DELETESHARD&collection=myCollection2&shard=shard2

注:

	启动solrCloud需要先启动solrCloud依赖的所有zookeeper服务器,再启动每台solr服务器。
如果服务器跟服务器之间无法通讯,查看每台服务器的/etc/hosts 里面是否配置了其他服务器的IP地址和hostname

九、使用SolrJ访问SolrCloud

增删改查。。。

猜你喜欢

转载自blog.csdn.net/sswqzx/article/details/84580593