public class SolrToMongodb {
private static final Logger LOGGER = LoggerFactory.getLogger(SolrToMongodb.class);
public static void main(String[] args) throws IOException, SolrServerException {
SolrToMongodb main = new SolrToMongodb();
main.run();
}
public void run() throws IOException, SolrServerException {
SparkConfig config = new SparkConfig();
JavaSparkContext jsc = new JavaSparkContext(config.sparkConf("admiralty-stream"));
SolrClient client = new HttpSolrClient(Constant.SOLR_STREAMING);
SolrQuery q = new SolrQuery();
q.set("q","*:*");
q.set("indent","on");
q.set("wt", "json");
client.query(q);
try {
CloudSolrClient cloudSolrClient = new CloudSolrClient(Constant.ZOOKEEPER_SOLR);
SolrJavaRDD solrRDD = SolrJavaRDD.get(cloudSolrClient.getZkHost(), "admiraltyStream", jsc.sc());
JavaRDD<SolrDocument> resultsRDD = solrRDD.queryShards(q);
JavaRDD<Object> objectJavaRDD = resultsRDD.map(new Function<SolrDocument, Object>() {
@Override
public Object call(SolrDocument v1) throws Exception {
System.out.println(v1.getFieldValueMap());
return v1.getFieldValueMap();
}
});
}
catch (Exception e){
System.out.println("Exception here : "+e.getMessage());
}
}}
錯誤日誌直播SolrServers: - 請求58709 [主]錯誤CloudSolrClient:
2017年8月2日10:02收集admiraltyStream因(0)java.net.ConnectException失敗:連接拒絕(Connection refused),重試? 0 2017-08-02 10:02:59,688 [main] ERROR CloudSolrClient - 請求集合admiraltyStream失敗,原因是(0)java.net.ConnectException:連接拒絕(Connection refused),重試? 1 2017-08-02 10:03:01,630 [main]錯誤CloudSolrClient - 請求收集admiraltyStream失敗,原因是(0)java.net.ConnectException:連接被拒絕(連接被拒絕),重試? 2 2017-08-02 10:03:02,579 [main] ERROR CloudSolrClient - 請求集合admiraltyStream失敗,原因是(0)java.net.ConnectException:連接被拒絕(連接被拒絕),重試? 3 2017-08-02 10:03:03,540 [main] ERROR CloudSolrClient - 請求集合admiraltyStream失敗,原因是(0)java.net.ConnectException:連接拒絕(Connection refused),重試? 4 2017-08-02 10:03:04,484 [main] ERROR CloudSolrClient - 請求收集admiraltyStream失敗,原因是(0)java.net.ConnectException:連接被拒絕(連接被拒絕),重試? 5
例外:
Exception here : No live SolrServers available to handle this request:[http://xxx.xxx.ph:8983/solr/admiraltyStream, http://xxx.xxx.ph:8983/solr/admiraltyStream, http://xxx.xxx.ph:8983/solr/admiraltyStream]