Я пытаюсь автоматизировать почту использования пространства пользователя HDFS.
Все прошло правильно, кроме сортировки файлов в gb.При попытке с байтами он дает правильный результат, но в других это не такожидаемый вывод.
, пожалуйста, помогите мне получить правильный вывод.
Я предоставлю скрипт, который я запускаю в байтах, а также читаемый человеком -h в файловой системе hdfs.
#!/bin/bash
#getting the current hdfs percentage in numeric value
CURRENT=$(hdfs dfs -df -h/ | grep / | awk '{ print $8}' | sed 's/%//g')
#current hdfs space utilisation
DiskFile=$(hdfs dfs -df -h)
HdfsReport=$(hdfs dfsadmin -report)
Diskuse=$(hdfs dfs -du /user | sort -nr | head -10)
#To get results GB i have provided $(hdfs dfs -du -h /user | sort -r | head -10)
THRESHOLD=70
Critical=90
if [ "$CURRENT" -gt "$THRESHOLD" ] ; then
mail -s 'HDFS Usage Housekeeping required' @abc.com, @abc.com << EOF
HDFS usage in Cluster is above the threshold please run the clean-up scripts asap. Used: $CURRENT%
Current disk utilization report is
$DiskFile
Please find the Utilisation report of top ten users consuming the cluster
$Diskuse
EOF
fi
if [ "$CURRENT" -gt "$Critical" ] ; then
mail -s 'HDFS Admin Report' yy@abc.com, yyy@abc.com << EOF
HDFS usage in Cluster is above critical storage, please Find the Cluster report below
$HdfsReport
EOF
fi