solr单机多实例部署文件锁冲突解决办法

    给出一个有问题的单机多tomcat实例引用同一个solr实例部署图。这种部署必然造成一个问题,启动第二个tomcat实例时,一定会报索引文件夹文件锁已经被占用。


    最初的解决办法是,有多少个tomcat实例,就部署多少个solr的war包。然后依次修改每个solr的core的data路径。如此完成线上部署,实在麻烦,而且容易出错!

    今天请教了位有多年solr经验的同事,终于了了这个心结。

    在tomcat的启动参数上做文章。在启动参数上添加一个标志改实例的独特参数。譬如:

-Dmyid=server1
    然后再solrconfig.xml的data路径里读取这个参数,示例如下:

<dataDir>/export/data/solr_data/jd_waiter/${myid}</dataDir>
    实例不同,${myid}就不同,路径也就不同。如此一来,一台server,不管你要起多少个solr实例,都只用部署一套solr war包,用相同的配置就可以了!

    化繁为简的招数。




你可能感兴趣的:(solr单机多实例部署文件锁冲突解决办法)