4

AWS EC2 マシンでの SolrCloud のセットアップで問題に直面しています。シナリオは次のとおりです。

Zookeeper と solr 用に 3 つのサーバーがあります。

各サーバーには、Zookeeper が実行されています。Zookeeper のホスト情報を使用して Solr を起動すると、Solr が起動し、期待どおりに動作します。

問題は、クラスター情報を生成するときに飼育係がサーバーのプライベート IP を使用するため、プライベート IP を認識できない Solrj を使用してクエリを実行できないことです。たとえば、server1 の場合。private IP ip-a,b,c,d public IP : u,v,w,x Zookeeper は、プライベート 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 であり、パブリック IP ではありません

Zookeeper がクラスター情報を IP ではなくホスト名として保存する方法はありますか? それができない場合、AWS EC2 マシンで solr Cloud を実行するにはどうすればよいですか?

4

1 に答える 1

6

私は解決策を考え出した。Zookeeper が使用するホスト名で solr サーバーを起動できます

solr インスタンスを開始するときに -Dhost=xycom を指定するだけで問題なく動作します

于 2013-04-24T04:10:46.993 に答える