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
- Extract from Indica-latest (or if needed, download zookeeper from this location).
- Extract in /net
- Symlink (only if downloaded):
ln -s /net/zookeeper-<release> /net/apache.org/zookeeper
- Do
mkdir -p /net/index/zookeeper-data
echo "<next available zookeeper id>" > /net/index/zookeeper-data/myid
- Next available zookeeper ID: first available id, every zookeeper needs unique ID.
- Create /net/apache.org/zookeeper/conf/zoo.cfg with contents from below, enter next available id and server
- Add "/net/apache.org/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!
run zookeeper (from rc.local):
/net/apache.org/zookeeper/bin/zkServer.sh stop
/net/apache.org/zookeeper/bin/zkServer.sh start
run /net/index/collectionSkel/push_config.sh at least once per ensemble!
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)