七、集群部署
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命令:
参数说明:
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
6、删除shard
注:
启动solrCloud需要先启动solrCloud依赖的所有zookeeper服务器,再启动每台solr服务器。
如果服务器跟服务器之间无法通讯,查看每台服务器的/etc/hosts 里面是否配置了其他服务器的IP地址和hostname
九、使用SolrJ访问SolrCloud
增删改查。。。