-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathrun.sh
75 lines (68 loc) · 2.13 KB
/
run.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
#!/bin/bash
# Script Path
TIME=$(date)
# Directory containg ES files
ES_DIR="/elasticsearch"
# provision elasticsearch user
echo "[$(date)] Creating group sudo"
addgroup sudo
echo "[$(date)] Creating user Elasticsearch"
adduser -D -g '' elasticsearch
echo "[$(date)] Adding Elasticsearch to sudo users"
adduser elasticsearch sudo
echo "[$(date)] Changing ownership of [$ES_DIR] to elasticsearch user"
chown -R elasticsearch $ES_DIR
echo "[$(date)] Enabling sudo without password"
echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
# allow for memlock
echo "[$(date)] Enabling memlock"
ulimit -l unlimited
# Fetching the node type (If Master)
if [[ $NODE_TYPE == *"MASTER"* ]]
then
echo "[$(date)] $HOSTNAME is a ES Master node"
export NODE_MASTER=true
export HTTP_ENABLE=false
else
export NODE_MASTER=false
export HTTP_ENABLE=false
fi
# Fetching the node type (If Data)
if [[ $NODE_TYPE == *"DATA"* ]]
then
echo "[$(date)] $HOSTNAME is a ES Data node"
export NODE_DATA=true
export HTTP_ENABLE=false
else
export NODE_DATA=false
export HTTP_ENABLE=false
fi
# Fetching the node type (If Client)
if [[ $NODE_TYPE == *"CLIENT"* ]]
then
echo "[$(date)] $HOSTNAME is a ES Client node"
export NODE_CLIENT=true
export HTTP_ENABLE=true
else
export NODE_CLIENT=false
export HTTP_ENABLE=false
fi
# Updating clustername and namespaces
export KUBERNETES_NAMESPACE=${KUBERNETES_NAMESPACE:-default}
export CLUSTER_NAME=${CLUSTER_NAME:-$KUBERNETES_NAMESPACE}
echo "[$(date)] This node is deployed in Namespace $KUBERNETES_NAMESPACE"
echo "[$(date)] This node is deployed is part of Cluster $CLUSTER_NAME"
# Setting up ES Path configuration
export DATA_PATH=${DATA_PATH:-/data}
export LOGS_PATH=${LOGS_PATH:-/logs}
echo "[$(date)] Data Path $DATA_PATH"
echo "[$(date)] Logs Path $LOGS_PATH"
echo "[$(date)] Creating/Changing ownership of $LOGS_PATH and $DATA_PATH to elasticsearch user"
sudo mkdir -p $LOGS_PATH
sudo mkdir -p $DATA_PATH
sudo chown -R elasticsearch $LOGS_PATH
sudo chown -R elasticsearch $DATA_PATH
# running ES
echo "[$(date)] Running ES"
chmod +x /elasticsearch/bin/elasticsearch
sudo -E -u elasticsearch /elasticsearch/bin/elasticsearch