Quick-start 

  • Create clean install of Ubuntu or do cloud install of INDICA
  • Do (not needed after cloud install of INDICA):
apt-get install default-jre fail2ban


  • Copy /etc/iptables.rules and ip6tables.rules from 50-SolrCloud
  • Copy and expand hosts file (on all servers!) with current server
  • Add network interface with internal lan and settings
  • Download zookeeper from this location.
  • Extract in /opt
  • Symlink:
 ln -s /opt/zookeeper-<release> /opt/zookeeper
  • Do
mkdir /var/lib/zookeeper
echo "<next available zookeeper id>" > /var/lib/zookeeper/myid
  • Next available zookeeper ID: first available id, every zookeeper needs unique ID.
  • Create /opt/zookeeper/conf/zoo.cfg with contents from below, enter next available id and server
  • Add "/opt/zookeeper/bin/zkServer.sh start" to /etc/rc.local for auto start
  • Add new node name to "/etc/defaults/solr.in.sh" on all Solr Cloud nodes

ZOOKEEPER

Total number of zookeepers needs to be odd because of quorum!

ZK1, DB1 and DB2 run zookeeper (from rc.local):

/opt/zookeeper/bin/zkServer.sh stop
/opt/zookeeper/bin/zkServer.sh start

According to:

zoo.cfg looks like:

tickTime=2000
initLimit=5
syncLimit=2
dataDir=/var/lib/zookeeper
clientPort=2181
server.1=host1-address:2888:3888
server.2=host2-address:2888:3888
server.3=host3-address:2888:3888

Make sure /var/lib/zookeeper/myid file contains right zookeeper id:

  • 1 for 50-SolrCloud - 192.168.0.50
  • 2 for 51-SolrCloud - 192.168.0.51
  • 3 for 04-Cloud-2 - 192.168.0.102



The solr intances need to be able to listen on all interfaces (at least localhost and 1 external interface)

To enable edit /etc/default/solr.in.sh

Add: 

SOLR_OPTS="$SOLR_OPTS -Djetty.host=0.0.0.0" .  (replace 0.0.0.0 with the desired interface, or leave at 0.0.0.0 for all)