-
Notifications
You must be signed in to change notification settings - Fork 549
/
travis-install.sh
executable file
·96 lines (71 loc) · 3.42 KB
/
travis-install.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#!/bin/bash -eux
source /etc/lsb-release
echo "deb [arch=amd64] https://archive.cloudera.com/${CDH}/ubuntu/${DISTRIB_CODENAME}/amd64/cdh ${DISTRIB_CODENAME}-cdh${CDH_VERSION} contrib
deb-src https://archive.cloudera.com/${CDH}/ubuntu/${DISTRIB_CODENAME}/amd64/cdh ${DISTRIB_CODENAME}-cdh${CDH_VERSION} contrib" | sudo tee /etc/apt/sources.list.d/cloudera.list
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 327574EE02A818DD
sudo apt-get -q update
sudo apt-get -q install -y oracle-java8-installer python-dev g libsasl2-dev maven
sudo update-java-alternatives -s java-8-oracle
#
# LDAP
#
sudo apt-get -q -y --no-install-suggests --no-install-recommends --force-yes install ldap-utils slapd
sudo mkdir -p /tmp/slapd
sudo slapd -f $(dirname $0)/ldap_config/slapd.conf -h ldap://localhost:3389 &
while ! nc -vz localhost 3389; do sleep 1; done
sudo ldapadd -h localhost:3389 -D cn=admin,dc=example,dc=com -w test -f $(dirname $0)/../pyhive/tests/ldif_data/base.ldif
sudo ldapadd -h localhost:3389 -D cn=admin,dc=example,dc=com -w test -f $(dirname $0)/../pyhive/tests/ldif_data/INITIAL_TESTDATA.ldif
#
# Hive
#
sudo apt-get -q install -y --force-yes hive
javac -cp /usr/lib/hive/lib/hive-service.jar $(dirname $0)/travis-conf/com/dropbox/DummyPasswdAuthenticationProvider.java
jar cf $(dirname $0)/dummy-auth.jar -C $(dirname $0)/travis-conf com
sudo cp $(dirname $0)/dummy-auth.jar /usr/lib/hive/lib
# Hack around broken symlink in Hive's installation
# /usr/lib/hive/lib/zookeeper.jar -> ../../zookeeper/zookeeper.jar
# Without this, Hive fails to start up due to failing to find ZK classes.
sudo ln -nsfv /usr/share/java/zookeeper.jar /usr/lib/hive/lib/zookeeper.jar
sudo mkdir -p /user/hive
sudo chown hive:hive /user/hive
sudo cp $(dirname $0)/travis-conf/hive/hive-site.xml /etc/hive/conf/hive-site.xml
sudo apt-get -q install -y --force-yes hive-metastore hive-server2 || (grep . /var/log/hive/* && exit 2)
while ! nc -vz localhost 9083; do sleep 1; done
while ! nc -vz localhost 10000; do sleep 1; done
sudo -Eu hive $(dirname $0)/make_test_tables.sh
#
# Presto
#
sudo apt-get -q install -y python # Use python2 for presto server
mvn -q org.apache.maven.plugins:maven-dependency-plugin:3.0.0:copy \
-Dartifact=com.facebook.presto:presto-server:${PRESTO}:tar.gz \
-DoutputDirectory=.
tar -x -z -f presto-server-*.tar.gz
rm -rf presto-server
mv presto-server-*/ presto-server
cp -r $(dirname $0)/travis-conf/presto presto-server/etc
/usr/bin/python2.7 presto-server/bin/launcher.py start
#
# Trino
#
sudo apt-get -q install -y python # Use python2 for trino server
mvn -q org.apache.maven.plugins:maven-dependency-plugin:3.0.0:copy \
-Dartifact=io.trino:trino-server:${TRINO}:tar.gz \
-DoutputDirectory=.
tar -x -z -f trino-server-*.tar.gz
rm -rf trino-server
mv trino-server-*/ trino-server
cp -r $(dirname $0)/travis-conf/trino trino-server/etc
/usr/bin/python2.7 trino-server/bin/launcher.py start
#
# Python
#
pip install $SQLALCHEMY
pip install -e .
pip install -r dev_requirements.txt
# Sleep so Presto has time to start up.
# Otherwise we might get 'No nodes available to run query' or 'Presto server is still initializing'
while ! grep -q 'SERVER STARTED' /tmp/presto/data/var/log/server.log; do sleep 1; done
# Sleep so Trino has time to start up.
# Otherwise we might get 'No nodes available to run query' or 'Presto server is still initializing'
while ! grep -q 'SERVER STARTED' /tmp/trino/data/var/log/server.log; do sleep 1; done