Hue 의 관리 명령을 실행하면 다음 경고가 반복해서 찍힌다.
ALERT: This appears to be a CM Managed environment
ALERT: HUE_CONF_DIR must be set when running hue commands in CM Managed environment
ALERT: Please run 'hue <command> --cm-managed'
Cloudera Manager 가 관리하는 Hue 는 설정 파일을 고정된 경로에 두지 않는다. 역할이 기동될 때마다 Cloudera Manager Agent 가 프로세스 디렉터리를 새로 만들고 그 안에 hue.ini 를 생성한다.
/var/run/cloudera-scm-agent/process/<번호>-hue-HUE_SERVER
그래서 hue 명령을 그냥 실행하면 어떤 설정을 읽어야 할지 알 수 없다. --cm-managed 는 "Cloudera Manager 가 만든 프로세스 디렉터리의 설정을 쓰라" 는 지시이며, 이 옵션 없이 실행하면 경고가 나온다.
프로세스 디렉터리를 찾아 HUE_CONF_DIR 로 지정하고 --cm-managed 와 함께 실행한다.
CDH_HOME=/opt/cloudera/parcels/CDH
export HUE_CONF_DIR="/var/run/cloudera-scm-agent/process/$(ls -1 /var/run/cloudera-scm-agent/process | grep -F 'hue-HUE_SERVER' | sort -n | tail -1)"
echo "${HUE_CONF_DIR}"
${CDH_HOME}/lib/hue/build/env/bin/hue <command> --cm-managed
프로세스 디렉터리는 번호가 붙으며 역할을 다시 기동할 때마다 새로 생긴다. 가장 최근 것을 고른다.
경고 자체는 명령 실패를 뜻하지 않는다. 위 증상에서 함께 나온 No changes detected · No migrations to apply. 는 Django 마이그레이션이 정상적으로 끝났다는 출력이다. 경고만 보고 실패로 판단하지 않는다.
Hue 프로세스 디렉터리의 설정 파일을 직접 고치지 않는다. 역할을 다시 기동하면 Cloudera Manager 가 새 디렉터리를 만들면서 변경분이 사라진다. 설정 변경은 Cloudera Manager 의 Hue 설정 또는 Safety Valve 로 한다.