初次修改公司SolrCloud的配置文件,发现:
<!-- The root directory that collection data should be written to. --> <str name="solr.hdfs.home">${solr.hdfs.home:}</str>
因为更换了HDFS的namenode,所以不明白这个值在哪里配置,于是就改成了:
<str name="solr.hdfs.home">hdfs://cdh550cluster/solr</str>
然后上传到zookeeper中,创建collection没问题,而且索引也可以到HDFS中,可是目前有6个collection需要创建,上线时也要更换这个配置的路径,那么每个都要改就很麻烦了。那么今天找错是发现tomcat/bin/catalina.sh中有这么一个配置项:
JAVA_OPTS="$JAVA_OPTS -DzkHost=XXXX-APP-03:2182,XXXX-APP-04:2182,XXXX-APP-05:2182/solr -Dsolr.directoryFactory=HdfsDirectoryFactory -Dsolr.lock.type=hdfs -Dsolr.hdfs.home=hdfs://cdh550cluster/solr"
原来我每次配置的时候都只是配置:
JAVA_OPTS="-DzkHost=master:2181,slave1:2181,slave2:2181"
原来在solrconfig.xml中的几个变量是在这里配置的。终于搞懂了,在此小记一下。
之前在本博客分享的一篇《solrCloud 4.9 分布式集群部署及注意事项》,此文因为是转载的一篇,文中有多处错误,比如zookeeper必须是奇数个,solr的配置文件也有点问题,所以此文将在不久后重新写,而且我是便搭建环境编写,保证能够按照此文搭建成功,而且此文将按照solr4.9以及solr5.3.1(目前最新版)来分别介绍如何搭建。并且是与Hadoop、Flume搭配使用。
未经允许不得转载:李阳的藏宝阁 » 关于solrconfig.xml里solr.hdfs.home的配置理解