#!/bin/bash
set -e
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export HIVE_HOME=/opt/hive
# Bigtop hadoop: pick a HADOOP_HOME that contains bin/hadoop
if [ -x /usr/lib/hadoop/bin/hadoop ]; then export HADOOP_HOME=/usr/lib/hadoop; else export HADOOP_HOME=/usr; fi
export HADOOP_CONF_DIR=/etc/hadoop/conf
export PATH=$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH
echo "JAVA_HOME=$JAVA_HOME HADOOP_HOME=$HADOOP_HOME"
echo "=== guava fix ==="
rm -f /opt/hive/lib/guava-19.0.jar
cp -f /usr/lib/hadoop/lib/guava-27.0-jre.jar /opt/hive/lib/ 2>/dev/null || cp -f /usr/lib/hadoop/client/guava-27.0-jre.jar /opt/hive/lib/
ls /opt/hive/lib/guava-*.jar
echo "=== hive-site.xml ==="
cat > /opt/hive/conf/hive-site.xml <<'XML'
javax.jdo.option.ConnectionURLjdbc:derby:;databaseName=/opt/hive/metastore_db;create=true
javax.jdo.option.ConnectionDriverNameorg.apache.derby.jdbc.EmbeddedDriver
hive.metastore.warehouse.dir/user/hive/warehouse
hive.execution.enginemr
mapreduce.framework.namelocal
hive.exec.mode.local.autotrue
hive.exec.submitviachildfalse
hive.metastore.schema.verificationfalse
datanucleus.schema.autoCreateAlltrue
hive.server2.enable.doAsfalse
hive.stats.autogatherfalse
hive.metastore.event.db.notification.api.authfalse
XML
cat > /opt/hive/conf/hive-env.sh < /opt/hive/runhive.sh </tmp/schematool.log 2>&1 && echo "schema init OK" || { echo "schema init FAILED"; tail -25 /tmp/schematool.log; exit 1; }