暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

0159.C Solr Server角色调整并移除

rundba 2022-04-21
727

当前CDP集群共10台solr server主机dn01-dn10,需要缩减集群规模,通过在线调整,将dn06-dn10主机的solr角色调整并移除,对生产业务无影响。

0. ENV

CDP 7.1.x;

Solr 8.4.1;

Firefox 99.0.1 (64 位)。

1. 调整需求

当前CDP集群共10台solr server主机dn01-dn10,需要缩减集群规模,将dn06-dn10主机的solr角色调整并移除。

序号

Collection_name

Shard_name

更改前主机分布

更改后主机分布

操作步骤

1

edge_index

shard1

dn09.rundba.com

dn05.rundba.com

添加dn05、删除dn09

2

fulltext_index

shard1

Dn10.rundba.com

dn04.rundba.com

添加dn04、删除dn10

3

vertex_index

shard1

dn08.rundba.com

dn03.rundba.com

添加dn03、删除dn08

4

ranger_audits

shard1-shard5

[shard1]  dn01.rundba.com

dn06.rundba.com

shard2  dn04.rundba.com

dn07.rundba.com

shard3  dn03.rundba.com

dn08rundba.com

shard4  dn05.rundba.com

dn10.rundba.com

shard5  dn02undba.com

dn09.rundba.com

shard1  dn01.rundba.com

shard2  dn04.rundba.com

shard3  dn03.rundba.com

shard4  dn05.rundba.com

shard5  dn02.rundba.com

每个shard减去dn06-dn10,减去后未考虑副本冗余

2. ADDREPLIC和DELETEREPLICA操作

对solr server调整,一般是通过调用ADDREPLICA和DELETEREPLICA API,调整collection 的shard,然后将需要下架主机所在的solr server服务停止、删除,便可移除主机上的solr server删除,后续再调整其它组件角色。

使用ADDREPLICA在collection的shard中添加要保留的主机,使用DELETEREPLICA在collection的shard中删除要剔除的solr server主机。

1) ADDREPLICA操作

以edge_index为例,当前只有shard1中只有dn09.rundba.com主机,因dn09将要移除,所以添加一台保留主机dn05,后续再删除dn09.

以edge_index add replicas操作为例。

直接在浏览器通过调用API,将dn05添加到edge_index的shard1中:

    http://dn08.rundba.com:8993/solr/admin/collections?action=ADDREPLICA&collection=edge_index&shard=shard1&node=dn05.rundba.com:8993_solr

    其中:

    • dn08.rundba.com为任一一台solr server主机名;

    • 8993为默认solr server端口;

    • action=ADDREPLICA说明执行add replicas操作;

    • collection= edge_index说明是对edge_index进行操作;

    • shard=shard1说明是对指定的collection的shard1进行操作,如果需要对其它shard操作,请更换对应名称;

    • node=dn05.rundba.com:8993_solr说明是将dn05加入到上述edge_index的shard1中,其中8993_solr为默认。

    正常情况下,数据量较小时,该操作很快完成。

    操作完成后,edge_index中的shard1会同时在dn05和dn09上各保存一份数据,两台主机互为冗余。

    2) DELETEREPLICA操作

    以edge_index为例,当前shard1中有dn05和dn09两台主机,数据互为冗余,现将dn09剔除。

    直接在浏览器通过调用API,将dn09从edge_index中shard1中删除:

    以edge_index delete replicas操作为例。

      http://dn08.rundba.com:8993/solr/admin/collections?action=DELETEREPLICA&collection=edge_index&shard=shard1&replica=core_node2

      其中:

      dn08.rundba.com为任一一台solr server主机名;

      • 8993为默认solr server端口;

      • action=DELETEREPLICA说明执行delete replicas操作;

      • collection= edge_index说明是对edge_index进行操作;

      • shard=shard1说明是对指定的collection的shard1进行操作,如果需要对其它shard操作,请更换对应名称;

      • replica=core_node2说明是对shard1中的core_node2(dn09.rundba.com)节点进行操作,core_node2对应主机确认方式

      查看edge_index的shard1的dn09对应的core_node名称为core_node2:

      3) 调整其它collection分布

      采用同样方法,在fulltext_index、ranger_audits、vertex_index的不同shard中执行ADDREPLICA 和DELETEREPLICA,将dn06-dn10删除,最终保留dn01-dn05主机。

      调整后每个collection分布:

      3. 停止solr server

      Solr server从dn06-10调整完成后,将这5台solr server停止。

      4. 删除solr server

      停止完成后,将dn06-10这5台solr server删除

      5. 重启HUE服务

      因solr server调整,涉及依赖的HUE服务需要重启,不影响业务运行,只会影响当前hue的访问。

      提示Hue服务需要重启,点击重启。

      查看变更内容,点击“重启过时服务”。

      点击“继续”,确保重启完成。

      6. 移除其它角色(略)

      Solr server角色已经移除完成后,查看dn10主机角色信息,后期需要再移除其它角色,敬请期待。

      7. 小结

      当前CDP集群共10台solr server主机dn01-dn10,需要缩减集群规模,通过在线调整,将dn06-dn10主机的solr角色调整并移除,使用浏览器调用通过调用collection的ADDREPLICA和DELETEREPLICA API,调整collection 的shard,然后将需要下架主机所在的solr server服务停止、删除,便可移除主机上的solr server删除,对生产业务无影响。


      8. 参考

        https://docs.cloudera.com/cdp-private-cloud-base/7.1.6/search-managing/topics/search-migrate-replicas.html




        - 完 -



        旨在交流,不足之处,还望抛砖。

        作者:王坤,微信公众号:rundba,欢迎转载,转载请注明出处。

        如需公众号转发,请联系wx: landnow。




         






                                     长按二维码                                   


        欢迎加入>>国产DB学习交流群


               

           请注明:来自rundba,加入国产DB学习交流群                

                     




        文章转载自rundba,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

        评论