65 lines
1.5 KiB
Bash
Executable File
65 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -ueo pipefail
|
|
|
|
HBASE_VERSION="2.4.1"
|
|
HBASE_FILE="hbase-${HBASE_VERSION}-bin.tar.gz"
|
|
HBASE_URL="https://downloads.apache.org/hbase/${HBASE_VERSION}/${HBASE_FILE}"
|
|
HBASE_FILE_CKSUM="5afb643c2391461619516624168e042b42a66e25217a3319552264c6af522e3a21a5212bfcba759b7b976794648ef13ee7b5a415f33cdb89bba43d40162aa685"
|
|
HBASE_HOST="127.0.0.1"
|
|
HBASE_CONFIG="hbase/conf/hbase-site.xml"
|
|
|
|
declare -a DEPS=("java")
|
|
|
|
check_dependencies() {
|
|
for i in "${DEPS[@]}"
|
|
do
|
|
if [[ -z $(which "${i}") ]]; then
|
|
error "Could not find ${i}"
|
|
exit 1
|
|
fi
|
|
done
|
|
}
|
|
|
|
download() {
|
|
if [ -f "$HBASE_FILE" ]; then
|
|
CKSUM="$(sha512 -q ${HBASE_FILE})"
|
|
if [ "$CKSUM" = "$HBASE_FILE_CKSUM" ]; then
|
|
printf "HBase archive exists\n"
|
|
fi
|
|
else
|
|
printf "Downloading ${1}\n"
|
|
curl -LO ${1}
|
|
fi
|
|
|
|
printf "Extracting HBase archive\n"
|
|
tar xfz ${HBASE_FILE}
|
|
mv hbase-${HBASE_VERSION} hbase/
|
|
}
|
|
|
|
create_config() {
|
|
printf "Writing HBase config\n"
|
|
cat <<EOF > $2
|
|
<?xml version="1.0"?>
|
|
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
|
|
<configuration>
|
|
<property>
|
|
<name>hbase.rootdir</name>
|
|
<value>file:///${1}/hbase</value>
|
|
</property>
|
|
<property>
|
|
<name>hbase.zookeeper.property.dataDir</name>
|
|
<value>${1}/zookeeper</value>
|
|
</property>
|
|
<property>
|
|
<name>hbase.unsafe.stream.capability.enforce</name>
|
|
<value>false</value>
|
|
</property>
|
|
</configuration>
|
|
EOF
|
|
}
|
|
|
|
check_dependencies
|
|
download ${HBASE_URL}
|
|
create_config "/tmp" ${HBASE_CONFIG}
|