4

我在AWS EC2機器上設置SolrCloud時遇到問題。 該場景如下,AWS EC2機器上的Solrcloud配置

我有三臺zookeeper和solr服務器。

每臺服務器上都運行zookeeper。 當我用zookeeper主機信息啓動Solr時,它啓動並按預期工作。

問題是動物園管理員在生成羣集信息時使用服務器的私有IP,因此我無法使用無法識別私有IP的Solrj查詢它。 例如 server1。私人IP ip-a,b,c,d 公共IP:u,v,w,x 動物園管理員通過私有IP識別solr實例(很明顯,這將不可見於外部EC2機器)

The cluster information looks something like this: 
live nodes:[10.165.15.104:8983_solr] collections:{vicon=DocCollection(vicon)={ 
    "shards":{"shard1":{ 
     "range":"80000000-7fffffff", 
     "state":"active", 
     "replicas":{"10.165.15.104:8983_solr_vicon":{ 
      "shard":"shard1", 
      "state":"down", 
      "core":"vicon", 
      "collection":"vicon", 
      "node_name":"10.165.15.104:8983_solr", 
      "base_url":"http://10.165.15.104:8983/solr", 
      "leader":"true"}}}}, 
    "router":"compositeId"}, collection1=DocCollection(collection1)={ 
    "shards":{"shard1":{ 
     "range":"80000000-7fffffff", 
     "state":"active", 
     "replicas":{"10.165.15.104:8983_solr_collection1":{ 
      "shard":"shard1", 
      "state":"down", 
      "core":"collection1", 
      "collection":"collection1", 
      "node_name":"10.165.15.104:8983_solr", 
      "base_url":"http://10.165.15.104:8983/solr", 
      "leader":"true"}}}}, 
    "router":"compositeId"}, collections=DocCollection(collections)={ 
    "shards":{"shard1":{ 
     "range":"80000000-7fffffff", 
     "state":"active", 
     "replicas":{ 
     "10.165.15.104:8983_solr_collections":{ 
      "shard":"shard1", 
      "state":"active", 
      "core":"collections", 
      "collection":"collections", 
      "node_name":"10.165.15.104:8983_solr", 
      "base_url":"http://10.165.15.104:8983/solr", 
      "leader":"true"}, 
     "10.147.129.56:8983_solr_collections":{ 
      "shard":"shard1", 
      "state":"down", 
      "core":"collections", 
      "collection":"collections", 
      "node_name":"10.147.129.56:8983_solr", 
      "base_url":"http://10.147.129.56:8983/solr"}}}}, 
    "router":"compositeId"}} 

活動節點的IP是私有IP,而不是公衆一個

有沒有什麼辦法,使我們可以ZooKeeper的存儲集羣的信息,主機名,而不是IP。如果無法完成,我如何在AWS EC2機器上運行solr Cloud?

回答

6

我想出瞭解決方案。我們可以先從主機名的Solr服務器,飼養員會用

只要給一個-Dhost = x.y.com啓動時Solr的實例,它會正常工作

+1

謝謝!這一直困擾我很長一段時間:) –