Hue Index 또는 Job Browser 접속 시 SSL 오류가 발생하는 증상이 나타난다.
사용된 2-tier 인증서를 오래된 cryptography 라이브러리가 처리하지 못했다. 라이브러리 구성 차이를 맞춘 뒤 해결되었으며 parcel 구성의 Python 패키지 선택 문제가 원인으로 추정되었다.
아래 pip 명령은 공식 패키지 설치 문법을 이용해 구체화한 절차다. Cloudera가 모든 Hue parcel의 임의 pip 업그레이드를 지원한다는 의미는 아니다.
문제가 있는 환경의 Python 가상환경에 정상 환경에서 확인한 정확한 cryptography 42.x 버전을 적용하고 Hue를 재시작한다.
명령 예시는 문서 작성 시 보강한 것이며 대상 시스템에서 실행 검증하지 않았다.
원본은 Python 3.9 가상환경에 정상 클러스터의 cryptography 42 계열을 반영하고 Hue를 재시작한 사례다. cryptography-42는 pip 패키지명이 아니다. 정확한 패치 버전은 정상 환경에서 읽어야 한다.
pgrep -af 'hue|runcpserver'
# 확인한 Hue 가상환경의 실행 파일을 지정한다. 시스템 python을 넣지 않는다.
HUE_PY='/absolute/path/to/hue/venv/bin/python'
"$HUE_PY" -c 'import sys,cryptography; print(sys.executable); print(sys.version); print(cryptography.__version__); print(cryptography.__file__)'
"$HUE_PY" -m pip show cryptography cffi pyOpenSSL
"$HUE_PY" -m pip freeze > hue-packages-before.txt
cp -a로 별도 백업한다. venvs가 링크이면 readlink -f로 대상 경로를 확인한다.CRYPTO_VERSION='42.x.y' # 정상 환경에서 확인한 정확한 버전으로 교체
"$HUE_PY" -m pip download --only-binary=:all: --dest wheelhouse "cryptography==$CRYPTO_VERSION"
# wheelhouse를 대상 호스트에 전달한 뒤 대상 가상환경의 Python으로 실행
"$HUE_PY" -m pip install --no-index --find-links ./wheelhouse "cryptography==$CRYPTO_VERSION"
"$HUE_PY" -m pip check
"$HUE_PY" -c 'import cryptography; print(cryptography.__version__); print(cryptography.__file__)'
패키지 버전·import 경로·pip check가 정상이고 Index와 Job Browser에서 기존 SSL/인증서 해독 오류가 재현되지 않아야 한다.