Files
impala/bin/bootstrap_development.sh
Jim Apple 76719de5d1 Don't overwrite user's .ssh/config file when bootstrapping
From bash's manual page on redirecting with '>'

    Redirection of output causes the file whose name results from the
    expansion of word to be opened for writing on file descriptor n,
    or the standard output (file descriptor 1) if n is not specified.
    If the file does not exist it is created; if it does exist it is
    truncated to zero size.

Change-Id: I0d1a56441fcb5a2a2aed043fc1ece866c5d8287a
Reviewed-on: http://gerrit.cloudera.org:8080/4967
Reviewed-by: Jim Apple <jbapple@cloudera.com>
Tested-by: Impala Public Jenkins
2016-11-18 03:06:52 +00:00

81 lines
2.5 KiB
Bash
Executable File

#!/bin/bash
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# This script bootstraps a development environment from almost nothing; it is known to
# work on Ubuntu 14.04, and it definitely clobbers some local environment, so it's best to
# run this in a sandbox first, like a VM or docker.
#
# The intended user is a person who wants to start contributing code to Impala. This
# script serves as an executable reference point for how to get started.
#
# At this time, it completes in about 6.5 hours. It generates and loads the test data and
# metadata without using a snapshot (which takes about 3 hours) and it then runs the full
# testsuite (frontend, backend, end-to-end, JDBC, and custom cluster) in "core"
# exploration mode.
set -eux -o pipefail
HOMEDIR="/home/$(whoami)/"
if [[ ! -d "${HOMEDIR}" ]]
then
echo "${HOMEDIR} is needed for installing Impala dependencies"
exit 1
fi
if [[ -z "${JAVA_HOME}" ]]
then
echo "JAVA_HOME must be set to install Impala dependencies"
exit 1
fi
if ! sudo true
then
echo "Passwordless sudo is needed for this script"
exit 1
fi
IMPALA_SETUP_REPO_URL="https://github.com/awleblang/impala-setup"
# Place to download setup scripts
TMPDIR=$(mktemp -d)
function cleanup {
rm -rf "${TMPDIR}"
}
trap cleanup EXIT
# Install build and test pre-reqs
pushd "${TMPDIR}"
git clone "${IMPALA_SETUP_REPO_URL}" impala-setup
cd impala-setup
chmod +x ./install.sh
sudo ./install.sh
popd
# HDFS bug workaround
echo "127.0.0.1 $(hostname -s) $(hostname)" | sudo tee -a /etc/hosts
echo "NoHostAuthenticationForLocalhost yes" >> ~/.ssh/config
pushd "$(dirname $0)/.."
export IMPALA_HOME="$(pwd)"
export MAX_PYTEST_FAILURES=0
source bin/impala-config.sh
./buildall.sh -noclean -format -testdata -build_shared_libs
popd