Cloudera has plans here. I'll be working on further hdfs / Solrcloud options in the near future.
- Mark > On Dec 26, 2013, at 11:33 AM, Greg Walters <greg.walt...@answers.com> wrote: > > YouPeng, > > While I'm unable to help you with the issue that you're seeing I did want to > comment here and say that I have previously brought up the same goal that > you're trying to accomplish on this mailing list but received no feedback or > input. I think it makes sense that Solr should not try to make its index > directories distinct and redundant per shard/core while running on HDFS as > data redundancy and locality is handled at a different layer in the software > stack. > > +1 to this topic because I'd love to see Solr handle replication/redundancy > more smartly on HDFS > > Thanks, > Greg > > >> On Dec 24, 2013, at 1:57 AM, YouPeng Yang <yypvsxf19870...@gmail.com> wrote: >> >> Hi users >> >> Solr supports for writing and reading its index and transaction log files >> to the HDFS distributed filesystem. >> **I am curious about that there are any other futher improvement about >> the integration with HDFS.* >> **For the solr native replication will make multiple copies of the >> master node's index. Because of the native replication of HDFS,there is no >> need to do that.It just to need that multiple cores in solrcloud share the >> same index directory in HDFS?* >> >> >> The above supposition is what I want to achive when we are integrating >> SolrCloud with HDFS (Solr 4.6). >> To make sure of our application high available,we still have to take >> the solr replication with some tricks. >> >> Firstly ,noting that solr's index directory is made up of >> *collectionName/coreNodeName/data/index * >> >> *collectionName/coreNodeName/data/tlog* >> So to achive this,we want to create multi cores that use the same hdfs >> index directory . >> >> I have tested this within solr 4.4 by expilcitly indicating the same >> coreNodeName. >> >> For example: >> Step1, a core was created with the name=core1 and shard=core_shard1 and >> collection=clollection1 and coreNodeName=*core1* >> Step2. create another core with the name=core2 and shard=core_shard1 and >> collection=clollection1 and coreNodeName= >> *core1* >> * T*he two core share the same shard ,collection and coreNodeName.As a >> result,the two core will get the same index data which is stored in the >> hdfs directory : >> hdfs://myhdfs/*clollection1*/*core1*/data/index >> hdfs://myhdfs/*clollection1*/*core1*/data/tlog >> >> Unfortunately*, *as the solr 4.6 was released,we upgraded . the above >> goal failed. We could not create a core with both expilcit shard and >> coreNodeName. >> Exceptions are as [1]. >> * Can some give some help?* >> >> >> Regards >> [1]------------------------------------------------------------------------------------------------------------------ >> 64893635 [http-bio-8080-exec-1] INFO org.apache.solr.cloud.ZkController >> ?.publishing core=hdfstest3 state=down >> 64893635 [http-bio-8080-exec-1] INFO org.apache.solr.cloud.ZkController >> ?.numShards not found on descriptor - reading it from system property >> 64893698 [http-bio-8080-exec-1] INFO org.apache.solr.cloud.ZkController >> ?.look for our core node name >> >> >> >> 64951227 [http-bio-8080-exec-17] INFO org.apache.solr.core.SolrCore >> ?.[reportCore_201208] webapp=/solr path=/replication >> params={slave=false&command=details&wt=javabin&qt=/replication&version=2} >> status=0 QTime=107 >> >> >> 65213770 [http-bio-8080-exec-1] INFO org.apache.solr.cloud.ZkController >> ?.waiting to find shard id in clusterstate for hdfstest3 >> 65533894 [http-bio-8080-exec-1] ERROR org.apache.solr.core.SolrCore >> ?.org.apache.solr.common.SolrException: Error CREATEing SolrCore >> 'hdfstest3': Could not get shard id for core: hdfstest3 >> at >> org.apache.solr.handler.admin.CoreAdminHandler.handleCreateAction(CoreAdminHandler.java:535) >> at >> org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:152) >> at >> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135) >> at >> org.apache.solr.servlet.SolrDispatchFilter.handleAdminRequest(SolrDispatchFilter.java:662) >> at >> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:248) >> at >> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:197) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) >> at >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) >> at >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) >> at >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) >> at >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) >> at >> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947) >> at >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) >> at >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) >> at >> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009) >> at >> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) >> at >> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) >> at >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) >> at java.lang.Thread.run(Thread.java:722) >> Caused by: org.apache.solr.common.SolrException: Could not get shard id for >> core: hdfstest3 >> at >> org.apache.solr.cloud.ZkController.waitForShardId(ZkController.java:1302) >> at >> org.apache.solr.cloud.ZkController.doGetShardIdAndNodeNameProcess(ZkController.java:1248) >> at >> org.apache.solr.cloud.ZkController.preRegister(ZkController.java:1399) >> at >> org.apache.solr.core.CoreContainer.preRegisterInZk(CoreContainer.java:942) >> at >> org.apache.solr.handler.admin.CoreAdminHandler.handleCreateAction(CoreAdminHandler.java:492) >> ... 20 more >