因爲測試環境和其他項目組公用,所以solr所在的集羣上有多套jdk,我們用的solr版本是5.5.2的,對應的jdk是1.7(也可以用1.8),其他項目組有用jdk1.9的。
我們啓動solr的linux用戶是Hadoop,Hadoop的JAVA_HOME指向的是jdk1.7,不知道什麼原因,在用Hadoop啓動solr時 solr報錯: unrecognized VM option 'PrintHeapAtGC',solr啓動不了。。
百度了一番說是jdk版本有問題,java9裏已經去掉了PrintHeapAtGC,這也就說明solr啓動時是運行在jdk1.9上的。先保證solr能啓動,至於爲什麼solr默認使用jdk1.9以後有時間再查。
臨時解決方案:指定solr使用的jdk版本
linux: 修改solr/bin下solr.in.sh 新增參數 JAVA_HOME="#" , # 是你要指定的jdk所在路徑
windows:修改solr/bin下solr.in.cmd 新增參數 set JAVA_HOME="#" ,# 是你要指定的jdk所在路徑