Solrcloud is a cluster of solr servers which combines fault tolerance and high availability. It can be coordinated by zookeeper and store all the index files into HDFS which makes it almos feasible to index any data, big and even huge data.
You can run Solr in the cloud mode just by downloading the plain Apache Solr, and if you are already using some sort of big data platform, like Cloudera Hadoop (CDH), Solr Cloud is already preinstalled and it has even been packaged/integrated into Cloudera Search.
In CDH, they use a command line utility solrctl. Here is a dummy example where it shows the idea of how to use solrctl to get something into Solr.
solrctl instancedir --generate $HOME/<solr_config_dir>
solrctl instancedir will manipulate the instance directory where contains the configuration files for certain solr collection, something like the conf folder. This command will create a directory called “<solr_config_dir>” in your home directory.
This is how the generated <solr_config_dir> looks like and then we need to upload the instance directory to zookeeper and create a collection based on that.
$ solrctl instancedir --create <collection_name> $HOME/<solr_config_dir> Uploading configs from /home/<user>/<solr_config_dir>/conf to node1.datafireball.com:2181,node2.datafireball.com:2181,node3.datafireball.com:2181,node4.datafireball.com:2181,node5.datafireball.com:2181/solr. This may take up to a minute.
In the end, you need to create a collection using the instance directory you uploaded. Here I am going to create a collection with number of shards to be two.
solrctl collection --create <collection_name> -s 2
In the end, you can run the list command to see the created collections…
$ solrctl collection --list collection1 (2) collection3 (2)
After you created the collection, you can upload a few documents by using the built in post command
cd /opt/cloudera/parcels/CDH/share/doc/solr-doc-4.10.3+cdh5.5.1+325/example/exampledocs java -Durl=http://$SOLRHOST:8983/solr/collection1/update -jar post.jar *.xml
In the end, you should have something similar like this: