Skip to content

Commit 845a34e

Browse files
kartik-bhatiahiyer
authored andcommitted
new: usr: HADTWO-1973: Namenode out of safe mode (#18)
Provided a function that attempts to bring out namenode out of safe mode
1 parent c10ed88 commit 845a34e

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

hadoop/util.sh

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,3 +73,37 @@ function use_java8() {
7373
restart_worker_services
7474
fi
7575
}
76+
77+
# Wait until namenode is out of safe mode. Takes 2 optional params
78+
# first : Number of attempts function will make to get namenode out of safemode. Default is 50
79+
# second : Number of seconds each attempt will sleep for waiting for namenode to come out of sleep mode. Default is 5sec
80+
function wait_until_namenode_out_of_safe() {
81+
n=0
82+
attempts=${1:-50}
83+
sleep_sec=${2:-5}
84+
85+
nn_out_of_safe_mode=0
86+
until [ $n -ge $attempts ]
87+
do
88+
n=$[$n+1]
89+
safe_mode_stat=`hadoop dfsadmin -safemode get|awk '{print $4}'`
90+
if [[ $safe_mode_stat = "ON" ]]; then
91+
hdfs hadoop dfsadmin -safemode leave
92+
echo "Attempt $n/$attempts"
93+
sleep $sleep_sec
94+
else
95+
echo "NN is out of safemode..."
96+
nn_out_of_safe_mode=1
97+
break
98+
fi
99+
done
100+
if [[ $nn_out_of_safe_mode -eq 0 ]]; then
101+
safe_mode_stat=`hadoop dfsadmin -safemode get|awk '{print $4}'`
102+
if [[ $safe_mode_stat = "ON" ]]; then
103+
echo "Node still in safe mode after all attempts exhausted!"
104+
else
105+
echo "NN is out of safemode..."
106+
fi
107+
fi
108+
109+
}

0 commit comments

Comments
 (0)