HDFS файлы сортируются в гигабайтах - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь автоматизировать почту использования пространства пользователя 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

1 Ответ

0 голосов
/ 30 января 2019

Вы пытались использовать вместо этого "человеческий" формат в команде сортировки, например, sort -rh У меня нет dfs, но приведенный ниже пример команды перечисляет / сортирует 10 самых больших каталогов в моем текущем каталоге:

du -hsx * | sort -rh | head -10
...