File tree Expand file tree Collapse file tree 11 files changed +124
-7
lines changed Expand file tree Collapse file tree 11 files changed +124
-7
lines changed Original file line number Diff line number Diff line change 18
18
19
19
set -e -x
20
20
21
+ function update_apt_get() {
22
+ for (( i = 0 ; i < 10 ; i++ )) ; do
23
+ if apt-get update; then
24
+ return 0
25
+ fi
26
+ sleep 5
27
+ done
28
+ return 1
29
+ }
30
+
21
31
ROLE=$( /usr/share/google/get_metadata_value attributes/dataproc-role)
22
32
PROJECT=$( /usr/share/google/get_metadata_value ../project/project-id)
23
33
DOCKER_IMAGE=$( /usr/share/google/get_metadata_value attributes/docker-image || true)
24
34
SPARK_PACKAGES=$( /usr/share/google/get_metadata_value attributes/spark-packages || true)
25
35
26
36
if [[ " ${ROLE} " == ' Master' ]]; then
27
- apt-get update
37
+ update_apt_get
28
38
apt-get install -y -q docker.io
29
39
if [[ -z " ${DOCKER_IMAGE} " ]]; then
30
40
DOCKER_IMAGE=" gcr.io/cloud-datalab/datalab:local"
Original file line number Diff line number Diff line change 24
24
25
25
set -euxo pipefail
26
26
27
+ function update_apt_get() {
28
+ for (( i = 0 ; i < 10 ; i++ )) ; do
29
+ if apt-get update; then
30
+ return 0
31
+ fi
32
+ sleep 5
33
+ done
34
+ return 1
35
+ }
36
+
27
37
# Install directories for Flink and Hadoop
28
38
readonly FLINK_INSTALL_DIR=' /usr/lib/flink'
29
39
readonly HADOOP_CONF_DIR=' /etc/hadoop/conf'
121
131
function main() {
122
132
local role=" $( /usr/share/google/get_metadata_value attributes/dataproc-role) "
123
133
if [[ " ${role} " == ' Master' ]] ; then
134
+ update_apt_get
124
135
apt-get install -y flink
125
136
configure_flink
126
137
fi
Original file line number Diff line number Diff line change 15
15
16
16
set -x -e
17
17
18
- apt-get update && apt-get install -y ganglia-monitor
18
+ function update_apt_get() {
19
+ for (( i = 0 ; i < 10 ; i++ )) ; do
20
+ if apt-get update; then
21
+ return 0
22
+ fi
23
+ sleep 5
24
+ done
25
+ return 1
26
+ }
27
+
28
+ update_apt_get
29
+ apt-get install -y ganglia-monitor
19
30
20
31
MASTER=$( /usr/share/google/get_metadata_value attributes/dataproc-master)
21
32
Original file line number Diff line number Diff line change 14
14
15
15
set -x -e
16
16
17
+ function update_apt_get() {
18
+ for (( i = 0 ; i < 10 ; i++ )) ; do
19
+ if apt-get update; then
20
+ return 0
21
+ fi
22
+ sleep 5
23
+ done
24
+ return 1
25
+ }
26
+
17
27
# Determine the role of this node
18
28
ROLE=$( /usr/share/google/get_metadata_value attributes/dataproc-role)
19
29
@@ -23,7 +33,7 @@ if [[ "${ROLE}" != 'Master' ]]; then
23
33
fi
24
34
25
35
# Install hue
26
- apt-get update
36
+ update_apt_get
27
37
apt-get install -t jessie-backports hue -y
28
38
29
39
# Stop hue
Original file line number Diff line number Diff line change 1
1
#! /bin/bash
2
2
set -e
3
+
4
+ function update_apt_get() {
5
+ for (( i = 0 ; i < 10 ; i++ )) ; do
6
+ if apt-get update; then
7
+ return 0
8
+ fi
9
+ sleep 5
10
+ done
11
+ return 1
12
+ }
13
+
14
+ update_apt_get
3
15
sudo apt-get install -y git
4
16
5
17
# Installs Jupyter notebook extensions and RISE
Original file line number Diff line number Diff line change 14
14
# limitations under the License.
15
15
set -x -e
16
16
17
+ function update_apt_get() {
18
+ for (( i = 0 ; i < 10 ; i++ )) ; do
19
+ if apt-get update; then
20
+ return 0
21
+ fi
22
+ sleep 5
23
+ done
24
+ return 1
25
+ }
26
+
27
+ update_apt_get
17
28
18
29
# Only run the installation on workers; verify zookeeper on master(s)
19
30
if [[ $( /usr/share/google/get_metadata_value attributes/dataproc-role) == ' Master' ]]; then
Original file line number Diff line number Diff line change 25
25
26
26
set -x -e
27
27
28
+ function update_apt_get() {
29
+ for (( i = 0 ; i < 10 ; i++ )) ; do
30
+ if apt-get update; then
31
+ return 0
32
+ fi
33
+ sleep 5
34
+ done
35
+ return 1
36
+ }
37
+
28
38
# Determine the role of this node
29
39
ROLE=$( /usr/share/google/get_metadata_value attributes/dataproc-role)
30
40
@@ -34,7 +44,7 @@ if [[ "${ROLE}" != 'Master' ]]; then
34
44
fi
35
45
36
46
# Upgrade the repository and install Oozie
37
- apt-get update
47
+ update_apt_get
38
48
apt-get install oozie oozie-client -y
39
49
40
50
# The ext library is needed to enable the Oozie web console
Original file line number Diff line number Diff line change 14
14
# limitations under the License.
15
15
set -x -e
16
16
17
+ function update_apt_get() {
18
+ for (( i = 0 ; i < 10 ; i++ )) ; do
19
+ if apt-get update; then
20
+ return 0
21
+ fi
22
+ sleep 5
23
+ done
24
+ return 1
25
+ }
26
+
17
27
# Define important variables
18
28
tez_version=" 0.7.0"
19
29
protobuf_version=" 2.5.0"
@@ -34,6 +44,7 @@ if [[ "${role}" == 'Master' ]]; then
34
44
# Install Tez and YARN Application Timeline Server.
35
45
# Install node/npm to run HTTP server for Tez UI.
36
46
curl -sL https://deb.nodesource.com/setup_8.x | bash -
47
+ update_apt_get
37
48
apt-get install tez hadoop-yarn-timelineserver nodejs -y
38
49
39
50
# Stage Tez
Original file line number Diff line number Diff line change @@ -17,12 +17,22 @@ set -o errexit
17
17
set -o nounset
18
18
set -o xtrace
19
19
20
+ function update_apt_get() {
21
+ for (( i = 0 ; i < 10 ; i++ )) ; do
22
+ if apt-get update; then
23
+ return 0
24
+ fi
25
+ sleep 5
26
+ done
27
+ return 1
28
+ }
29
+
20
30
# # Only install customize master node by default.
21
31
# # Delete to customize all nodes.
22
- [[ " ${HOSTNAME} " =~ -m$ ]] || exit
32
+ [[ " ${HOSTNAME} " =~ -m$ ]] || exit 0
23
33
24
34
# # Make global changes here
25
- apt-get update || true
35
+ update_apt_get
26
36
apt-get install -y vim
27
37
update-alternatives --set editor /usr/bin/vim.basic
28
38
# apt-get install -y tmux sl
Original file line number Diff line number Diff line change 19
19
20
20
set -x -e
21
21
22
+ function update_apt_get() {
23
+ for (( i = 0 ; i < 10 ; i++ )) ; do
24
+ if apt-get update; then
25
+ return 0
26
+ fi
27
+ sleep 5
28
+ done
29
+ return 1
30
+ }
31
+
22
32
# Only run on the master node
23
33
ROLE=" $( /usr/share/google/get_metadata_value attributes/dataproc-role) "
24
34
INTERPRETER_FILE=' /etc/zeppelin/conf/interpreter.json'
25
35
ZEPPELIN_PORT=" $( /usr/share/google/get_metadata_value attributes/zeppelin-port || true) "
26
36
27
37
if [[ " ${ROLE} " == ' Master' ]]; then
28
38
# Install zeppelin. Don't mind if it fails to start the first time.
29
- apt-get update || true
39
+ update_apt_get
30
40
apt-get install -y -t jessie-backports zeppelin || dpkg -l zeppelin
31
41
32
42
for i in {1..6}; do
You can’t perform that action at this time.
0 commit comments