test_spark_connector.sh 2.73 KB
Newer Older
1
2
3
4
5
6
7
#!/bin/bash
# This script should run in an environment (eg: docker container) configured
# to run jupyter notebooks and pyspark and connect to Spark 
# E.g.
# export CVMFSDIR=/tmp/giordano/cvmfs_hep/noCI-20200326-124623-388198334
# export CI_USER=bmkwg
# read -s CI_USER_PASSWD
Domenico Giordano's avatar
Domenico Giordano committed
8
# docker run -it --rm -e KRBUSER=$CI_USER -e KRBPASSWD=$CI_USER_PASSWD -v $CVMFSDIR:/cvmfs:shared -v /tmp:/tmp  -v `pwd`:/work --net host gitlab-registry.cern.ch/cloud-infrastructure/data-analytics/sparknotebook:latest
9
10
11
12
13
14
15
16
17

function fail(){
  echo -e "\n------------------------\nFailing '$@'\n------------------------\n" >&2
  echo -e "\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
  echo -e "\n$0 finished (NOT OK) at $(date)\n"
  echo -e "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n"
  exit 1
}

Domenico Giordano's avatar
Domenico Giordano committed
18
19
WORK_DIR=$(readlink -f $(dirname $0))
echo WORK_DIR $WORK_DIR
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

[[ -z "$KRB5CCNAME" ]] && KRB5CCNAME=/tmp/krb5cc_docker
export KRB5CCNAME
echo -e "\nKRB5CCNAME file $KRB5CCNAME"

[[ -z "$KRBUSER" ]] && KBUSER=$USER
echo "Kerberos user $KRBUSER"

if [[ -z "$KRBPASSWD" ]];
then
    echo "Enter password: (it won't be displayed)"
    read -s KRBPASSWD
fi

echo -e "\nRunning kinit...\n"
(echo $KRBPASSWD | kinit -c $KRB5CCNAME $KRBUSER@CERN.CH) || fail 'kinit'

klist -c $KRB5CCNAME


#echo -e "\nInstalling data-analytics\n"
#pip install --user /work/data-analytics || fail 'installation'

Domenico Giordano's avatar
Domenico Giordano committed
43
echo -e "\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
44
echo -e "\nSetting hadoop libs\n"
Domenico Giordano's avatar
Domenico Giordano committed
45
echo -e "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n"
46
47
48
49
50
51
52
53
54
55
56
57

export LCG_VIEW=/cvmfs/sft.cern.ch/lcg/views/LCG_96python3/x86_64-centos7-gcc8-opt
source $LCG_VIEW/setup.sh  || fail 'Setting hadoop'
source /cvmfs/sft.cern.ch/lcg/etc/hadoop-confext/hadoop-swan-setconf.sh analytix
export PYTHONPATH=/usr/local/lib/python3.6/site-packages/:$PYTHONPATH

echo PYTHONPATH $PYTHONPATH
echo LD_LIBRARY_PATH $LD_LIBRARY_PATH
echo JAVA_HOME $JAVA_HOME
echo SPARK_HOME $SPARK_HOME
echo SPARK_DIST_CLASSPATH $SPARK_DIST_CLASSPATH

Domenico Giordano's avatar
Domenico Giordano committed
58
echo -e "\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
59
echo -e "\ntest access to hdfs\n" 
Domenico Giordano's avatar
Domenico Giordano committed
60
61
echo -e "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n"

62
63
hdfs dfs -ls /project/monitoring || fail 'test access to hdfs'

Domenico Giordano's avatar
Domenico Giordano committed
64
echo -e "\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
65
echo -e "\ntest python pyspark module\n" 
Domenico Giordano's avatar
Domenico Giordano committed
66
echo -e "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n"
Domenico Giordano's avatar
Domenico Giordano committed
67
python3 ${WORK_DIR}/test_spark_connector.py
68

69
70
71
72
73
# This still does not work in the swan image (issue with nbconvert libraries)
#echo -e "\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
#echo -e "\ntest jupyter notebook\n" 
#echo -e "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n"
#jupyter nbconvert -to notebook --execute ${WORK_DIR}/test_notebook_spark_connector.ipynb