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 を実行するにはどうすればよいですか?