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?
谢谢!这一直困扰我很长一段时间:) –