有没有办法确定hdfs平衡器是否正在运行?

jxct1oxe  于 2021-07-13  发布在  Hadoop
关注(0)|答案(0)|浏览(190)

我在五台机器上以分布式模式使用hadoop3.1.1。我使用默认脚本运行脚本来平衡节点上的磁盘空间 start-balancer.shsbin 目录。我很确定平衡器正在运行,因为我的名称节点处于安全模式,并且当我输入时 hdfs dfs -df 我得到以下信息:

Filesystem               Size  Used  Available  Use%
hdfs://<mynamenode>:<port>     0     0          0  NaN%

已经有一段时间了,我怎么知道平衡器是否仍在运行,预计到达时间是多少?我试了一个 grepps aux 我还是不清楚。
供参考:目录 start-balancer.sh :

MYNAME="${BASH_SOURCE-$0}"

function hadoop_usage
{
  hadoop_add_option "--buildpaths" "attempt to add class files from build tree"
  hadoop_add_option "--loglevel level" "set the log4j level for this command"

  hadoop_add_option "-policy <policy>" "set the balancer's policy"
  hadoop_add_option "-threshold <threshold>" "set the threshold for balancing"
  hadoop_generate_usage "${MYNAME}" false
}

bin=$(cd -P -- "$(dirname -- "${MYNAME}")" >/dev/null && pwd -P)

# let's locate libexec...

if [[ -n "${HADOOP_HOME}" ]]; then
  HADOOP_DEFAULT_LIBEXEC_DIR="${HADOOP_HOME}/libexec"
else
  HADOOP_DEFAULT_LIBEXEC_DIR="${bin}/../libexec"
fi

HADOOP_LIBEXEC_DIR="${HADOOP_LIBEXEC_DIR:-$HADOOP_DEFAULT_LIBEXEC_DIR}"

# shellcheck disable=SC2034

HADOOP_NEW_CONFIG=true
if [[ -f "${HADOOP_LIBEXEC_DIR}/hdfs-config.sh" ]]; then
  . "${HADOOP_LIBEXEC_DIR}/hdfs-config.sh"
else
  echo "ERROR: Cannot execute ${HADOOP_LIBEXEC_DIR}/hdfs-config.sh." 2>&1
  exit 1
fi

# Start balancer daemon.

exec "${HADOOP_HDFS_HOME}/bin/hdfs" --config "${HADOOP_CONF_DIR}" --daemon start balancer "$@"

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题