-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathinit.sh
executable file
·119 lines (100 loc) · 4.08 KB
/
init.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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#!/bin/bash
SCRIPT_ROOT=`dirname "$0"`
source $SCRIPT_ROOT/conf.sh
PYTHON_DIR="PYTHON"
# Check if PYTHON directory exists
if [ -d "$PYTHON_DIR" ]; then
echo "Directory '$PYTHON_DIR' already exists."
else
echo "Creating directory '$PYTHON_DIR'..."
mkdir "$PYTHON_DIR"
echo "Directory created."
# Create Python virtual environment
echo "Creating Python virtual environment in '$PYTHON_DIR'..."
python3 -m venv "$PYTHON_DIR"
echo "Python virtual environment created."
fi
source ./PYTHON/bin/activate
pip3 install cm_client
# ask CM for list of hosts.
python3 get_hosts.py $CM_HOST all > $HOST_FILE
# ask CM for list of ImpalaD hosts.
python3 get_hosts.py $CM_HOST IMPALAD > $IMPALAD_HOST_FILE
# ask CM for list of HBase RegionServer hosts.
python3 get_hosts.py $CM_HOST REGIONSERVER > $REGIONSERVER_HOST_FILE
# OM service id
python3 cmlib.py $CM_HOST ozone_service_id > $OZONE_SERVICE_ID_FILE
# full cluster service list
python3 cmlib.py $CM_HOST service_list > $SERVICE_LIST_FILE
# reload after fetching cluster info
source $SCRIPT_ROOT/conf.sh
if grep -Fxq "OZONE" $SERVICE_LIST_FILE; then
HAS_OZONE=true
echo "has Ozone"
fi
if grep -Fxq "HBASE" $SERVICE_LIST_FILE; then
HAS_HBASE=true
echo "has HBase"
fi
if grep -Fxq "SPARK" $SERVICE_LIST_FILE; then
HAS_SPARK=true
echo "has Spark"
fi
if grep -Fxq "IMPALA" $SERVICE_LIST_FILE; then
HAS_IMPALA=true
echo "has Impala"
fi
if [ "$KERBEROS" = "true" ]; then
ssh ${PASSWORDLESS_USER}@${CM_HOST} sudo -u hdfs kinit -kt /cdep/keytabs/hdfs.keytab hdfs
fi
if [ "$FILE_SYSTEM" == "ozone" ]; then
ssh ${PASSWORDLESS_USER}@${CM_HOST} sudo -u hdfs ozone shell volume create o3://$OZONE_SERVICE_ID/vol1
if [ "$ENCRYPTION" = "true" ]; then
ssh ${PASSWORDLESS_USER}@${CM_HOST} sudo -u hdfs ozone shell bucket create -k key1 o3://$OZONE_SERVICE_ID/vol1/bucket1
else
ssh ${PASSWORDLESS_USER}@${CM_HOST} sudo -u hdfs ozone shell bucket create o3://$OZONE_SERVICE_ID/vol1/bucket1
fi
ssh ${PASSWORDLESS_USER}@${CM_HOST} sudo -u hdfs hdfs dfs -mkdir -p $FILE_SYSTEM_PREFIX/managed/hive
ssh ${PASSWORDLESS_USER}@${CM_HOST} sudo -u hdfs hdfs dfs -mkdir -p $FILE_SYSTEM_PREFIX/external/hive
fi
# TODO: check to make sure the directories are created properly
python3 ./reconf_cluster.py ${CM_HOST}
./sync.sh
./install.sh
./install_jaeger.sh ${CM_HOST}
./install_grafana.sh ${CM_HOST}
if [ "$KERBEROS" = "true" ]; then
ssh ${PASSWORDLESS_USER}@${CM_HOST} kinit -kt /cdep/keytabs/systest.keytab systest
fi
if [ -n "$HAS_IMPALA" ]; then
echo "Prepare Impala TPC-DS"
ssh ${PASSWORDLESS_USER}@${CM_HOST} /tmp/ozone_perf/impala-tpcds/build_impala_tpcds.sh
ssh ${PASSWORDLESS_USER}@${CM_HOST} /tmp/ozone_perf/impala-tpcds/build_tpcds_kit.sh
ssh ${PASSWORDLESS_USER}@${CM_HOST} /tmp/ozone_perf/impala-tpcds/gen_query.sh
fi
if [ -n "$HAS_SPARK" ]; then
echo "Prepare Spark TPC-DS"
ssh ${PASSWORDLESS_USER}@${CM_HOST} /tmp/ozone_perf/sparksql-tpcds/build_sparksql.sh
ssh ${PASSWORDLESS_USER}@${CM_HOST} /tmp/ozone_perf/sparksql-tpcds/build_tpcds_kit.sh
ssh ${PASSWORDLESS_USER}@${CM_HOST} /tmp/ozone_perf/sparksql-tpcds/create_ozone_dir.sh
fi
if [ -n "$HAS_HBASE" ]; then
echo "Prepare HBase YCSB"
ssh ${PASSWORDLESS_USER}@${CM_HOST} /tmp/ozone_perf/hbase-ycsb/install_ycsb.sh
if [ "$KERBEROS" = "true" ]; then
ssh ${PASSWORDLESS_USER}@${CM_HOST} kinit -kt /cdep/keytabs/hbase.keytab hbase
fi
ssh ${PASSWORDLESS_USER}@${CM_HOST} /tmp/ozone_perf/hbase-ycsb/create_table.sh
fi
if [ -n "$HAS_IMPALA" ]; then
echo "Next, go to $CM_HOST, to run Impala TPC-DS, first generate data by running /tmp/ozone_perf/impala-tpcds/gen_data.sh"
echo " and then run queries: /tmp/ozone_perf/impala-tpcds/run_tpcds.sh"
echo " analyze the result: python3 /tmp/ozone_perf/impala-tpcds/collect_impala_queries.py"
fi
if [ -n "$HAS_SPARK" ]; then
echo "for SparkSQL TPC-DS, first generate data by running /tmp/ozone_perf/sparksql-tpcds/gen_data.sh"
echo " and then run queries: /tmp/ozone_perf/sparksql-tpcds/run_tpcds.sh"
fi
if [ -n "$HAS_HBASE" ]; then
echo "for YCSB and HBase, go to /tmp/ozone_perf/hbase_ycsb/ and run load_data.sh, followed by run_ycsb.sh"
fi