#! /bin/bash ES_VERSION=1.5.1 ES_BASE_DIR=/usr/local/elasticsearch echo "Starting Elasticsearch installation" echo "" echo -n "Enter cluster name: " read CLUSTERNAME echo -n "Enter node name: " read NODENAME echo "" # delete old installation killall -9 java &> /dev/null rm -fr $ES_BASE_DIR mkdir /usr/src/jre &> /dev/null cd /usr/src/jre # get wget yum -y install wget unzip # download jre 8.x rpm wget http://javadl.sun.com/webapps/download/AutoDL?BundleId=106239 -O jre.rpm # install jre.rpm rpm -Uvh jre.rpm # create dir for elastic search mkdir $ES_BASE_DIR cd $ES_BASE_DIR # download elasticsearch wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-$ES_VERSION.tar.gz -O elasticsearch.tar.gz tar xvzf elasticsearch.tar.gz -C ./ --strip-components=1 rm -fr elasticsearch.tar.gz # install JDBC river $ES_BASE_DIR/bin/plugin --install jdbc --url http://xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-river-jdbc/1.4.0.10/elasticsearch-river-jdbc-1.4.0.10.zip ES_BASE_DIR=/usr/local/elasticsearch curl -o mysql-connector-java-5.1.33.zip -L 'http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.33.zip/from/http://cdn.mysql.com/' unzip mysql-connector-java-5.1.33.zip cp -fr mysql-connector-java-5.1.33/mysql-connector-java-5.1.33-bin.jar $ES_BASE_DIR/plugins/jdbc/ chmod 644 $ES_BASE_DIR/plugins/jdbc/* rm -fr mysql-connector-java-5.1.33* # configure elasticsearch sed -i "s|.*cluster\.name:.*|cluster.name: $CLUSTERNAME|" $ES_BASE_DIR/config/elasticsearch.yml sed -i "s|.*node\.name:.*|node.name: $NODENAME|" $ES_BASE_DIR/config/elasticsearch.yml sed -i "s|.*bootstrap\.mlockall:.*|bootstrap.mlockall: true|" $ES_BASE_DIR/config/elasticsearch.yml echo "indices.fielddata.cache.size: 60%" >> $ES_BASE_DIR/config/elasticsearch.yml # download demo GUI svn co http://svn.kolmisoft.com/m2/install/tmp/elasticsearch /home/m2/public/aggregates_demo/ # generate password to demo GUI PASSWORD=`date +%s | sha256sum | base64 | head -c 10 ; echo` # add htaccess file echo "AuthUserFile /home/m2/public/aggregates_demo/.htpasswd AuthType Basic AuthName \"My Secret Folder\" Require valid-user" > /home/m2/public/aggregates_demo/.htaccess # add htpasswd file htpasswd -bc /home/m2/public/aggregates_demo/.htpasswd admin $PASSWORD &> /dev/null echo "" echo "Login details to DEMO Aggregates GUI:" echo "" echo " GUI path: /billing/aggregates_demo/index.php" echo " username: admin" echo " password: $PASSWORD" echo "" echo "" echo "Elasticsearch installed" echo ""