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:
- https://cwiki.apache.org/confluence/display/solr/Setting+Up+an+External+ZooKeeper+Ensemble
- https://zookeeper.apache.org/doc/r3.1.2/zookeeperStarted.html
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)