三探 Collection

到现在为止,SolrCloud 仅由一个 node 组成。而我准备了 3 台服务器,那就试试在由 3 个 node 组成的 SolrCloud 上创建 Collection 吧。

启动其他 2 个 node

首先,将需要的 jar 包发送到 sc76,sc77,在 sc78 上执行如下命令

[root@sc78 ~]# scp /data/solr/dist/ik-analyzer-solr5-5.x.jar root@sc77:/data/solr/dist/.
[root@sc78 ~]# scp /data/solr/dist/mysql-connector-java-5.1.39.jar root@sc77:/data/solr/dist/.

[root@sc78 ~]# scp /data/solr/dist/ik-analyzer-solr5-5.x.jar root@sc76:/data/solr/dist/.
[root@sc78 ~]# scp /data/solr/dist/mysql-connector-java-5.1.39.jar root@sc76:/data/solr/dist/.

分别在 sc76,sc77 上以 cloud 模式启动 solr,执行如下命令

/data/solr/bin/solr start -cloud -z zk:2181/sc

如无意外,solr 将成功拉起,进入 solr 管理界面 Cloud - Tree 查看,当前 SolrCloud 已经由 3 个 node 组成,如下图

创建 collection

既然有 3 个 node,那么我这一次要创建的 collection 就由 3 个 shard,每个 shard 各 3 个 replica 组成。在 sc78 上执行如下命令

[root@sc78 ~]# /data/solr/bin/solr create -c test4 -d tv -shards 3 -replicationFactor 3

Connecting to ZooKeeper at zk:2181/sc ...
Uploading /data/solr/server/solr/configsets/tv/conf for config test4 to ZooKeeper at zk:2181/sc

Creating new collection 'test4' using command:
http://localhost:8983/solr/admin/collections?action=CREATE&name=test4&numShards=3&replicationFactor=3&maxShardsPerNode=3&collection.configName=test4

{
  "responseHeader":{
    "status":0,
    "QTime":14086},
  "success":{
    "172.17.21.78:8983_solr":{
      "responseHeader":{
        "status":0,
        "QTime":4774},
      "core":"test4_shard3_replica1"},
    "172.17.21.77:8983_solr":{
      "responseHeader":{
        "status":0,
        "QTime":5367},
      "core":"test4_shard2_replica2"},
    "172.17.21.76:8983_solr":{
      "responseHeader":{
        "status":0,
        "QTime":5399},
      "core":"test4_shard3_replica3"}}}

创建成功,看图

可以看到,每个 shard 都有 3 个 replica,而这 3 个 replica 分别在不同的 node 上。这意味着,3 个节点即便挂掉任意的 2 个,collection 依然可用

SolrCloud 高可用

SolrCloud 的一个特性就是高可用,验证一下,在 sc77,sc78 上分别停止 solr,执行

/data/solr/bin/solr stop

此时,只有 sc76 依然健在,那么只能从 sc76 来访问管理页面了,用浏览器打开 http://sc76:8983/solr/ ,进入 Cloud - Tree,如下图

可以看到,test1-3 的 replica 全部变灰,意味着这几个 collection 不可用。而 test4 依然坚挺,但是可用的 replica 仅存在于 172.17.21.76 节点上,其他节点上的 replica 同样是灰色

results matching ""

    No results matching ""