• v1.3.1 d564f5afd6

    v1.3.1 Stable

    haedong released this 2026-08-26 14:33:09 +09:00 | 0 commits to main since this release

    설치

    sudo bash cloudera_inspector_haedong_1.3.1_el9.run
    

    초기 패스워드 votmdnjem · 기본 포트 4091 (최초 로그인 후 변경 권장)

    파일 대상
    el8 RHEL/Rocky 8 — 라이브러리 + portable Python 동봉
    el9 RHEL/Rocky 9 — 라이브러리 + portable Python 동봉
    minimal 의존성이 이미 갖춰진 환경 (bin/prepare-minimal-el*.sh 참고)

    수정

    CM 의 호스트 추가가 baseurl 없는 repo 파일을 깔고 실패하던 문제

    CM 에서 호스트를 추가하면 대상 노드에 이런 파일이 깔렸습니다.

    [cloudera-manager]
    name = Cloudera Manager, Version 7.13
                                     ← baseurl 자리가 빈 줄
    gpgcheck = 1
    

    원인은 업로드 경로가 아니라 이 앱의 서버였습니다. CM 이 대상 노드에서 돌리는
    scm_prepare_node.sh 는 baseurl 을 정하려고 후보 URL 을 HEAD 로 두드립니다.

    status=$(curl -L -s --head -w %{http_code} ${REPO_LIST[$i]} -o /dev/null)
    if [[ $status -eq 200 ]]; then URL=${REPO_LIST[$i+1]}; break; fi
    

    후보는 <URL>/redhat<N>/yum/repodata/repomd.xml<URL>/repodata/repomd.xml
    두 가지고, 이 앱의 레포는 두 번째 형태라 GET 으로는 200 이 나옵니다. 그런데
    @app.get 은 GET 만 등록해 HEAD 가 405 로 떨어졌고, 어느 후보도 200 이 아니니
    URL 이 빈 채로 파일이 만들어졌습니다. CM 이 요구하는 레이아웃은 이미 맞았고,
    막고 있던 것은 메서드였습니다.

    /repo/custom 을 GET·HEAD 양쪽으로 받습니다 — 둘 다 대상 노드가 받아가는
    경로입니다.

    v1.3.0 의 나머지 내용은 그대로입니다. 변경 내역 전체는 CHANGELOG.md
    참조하세요.

    제약사항

    설치 프로그램은 호스트 환경을 대신 정리하지 않습니다. 포트 점유, 방화벽 차단,
    SELinux 등은 관리자가 해결합니다.

    라이선스

    MIT License. 상업적 이용을 포함해 자유롭게 사용·수정·재배포할 수 있으며, 조건은
    저작권 고지(LICENSE)를 사본과 함께 유지하는 것입니다. 서드파티 구성요소 고지는
    THIRD-PARTY-LICENSES.md 에 있고 설치본에도 동봉되며, 앱이 /LICENSE,
    /THIRD-PARTY-LICENSES.md 로 무인증 서빙합니다.

    Copyright (c) 2026 haedong (TheKnowledges.net)

    Downloads
  • v1.3.0 633740eb2d

    v1.3.0 Stable

    haedong released this 2026-08-26 10:24:44 +09:00 | 4 commits to main since this release

    설치

    sudo bash cloudera_inspector_haedong_1.3.0_el9.run
    

    초기 패스워드 votmdnjem · 기본 포트 4091 (최초 로그인 후 변경 권장)

    파일 대상
    el8 RHEL/Rocky 8 — 라이브러리 + portable Python 동봉
    el9 RHEL/Rocky 9 — 라이브러리 + portable Python 동봉
    minimal 의존성이 이미 갖춰진 환경 (bin/prepare-minimal-el*.sh 참고)

    시간 정합성

    꺼진 서비스가 통과하던 판정"active" in "inactive" 는 참입니다. 이 한 글자
    차이로 정지 상태의 chronyd·nscd·rngd 가 전부 통과하고 있었습니다. 이제 첫 줄이
    정확히 active 인지 봅니다.

    chronyd 는 도는데 시계는 표류하던 경우 — 서버에 닿지 못해도 데몬은 계속 돕니다.
    Reference ID 로 동기화 여부까지 판정하고(00000000/7F7F0101 은 서버 미확보 →
    경고), NTP 서버는 주소 형식을 검증한 뒤 배포하고 실제로 맞춰졌는지 다시 확인합니다.

    타임존 일괄 설정과 검사 — 시각이 맞는 것과 타임존이 같은 것은 다릅니다. 어긋나면
    노드 로그를 나란히 볼 수 없고 CM 차트·Hive/Impala 타임스탬프 해석이 노드 타임존에
    걸립니다. 기준은 관리자가 정하며, 정하지 않으면 판정하지 않습니다.

    노드 간 시각 편차 판정 — 개별적으로 동기화됐다고 서로 맞는 것은 아닙니다.
    1초 경고 / 30초 실패 (HBase 는 30초를 넘으면 RegionServer 가 중단되고, Kerberos
    기본 허용 skew 는 300초입니다).

    설치 신뢰성

    • 설치 상태를 실제 대상에서 판정 — 도구의 기록이 아니라 노드의 패키지·서비스
      상태를 읽습니다. 기록과 현실이 어긋난 노드에서도 다시 진행할 수 있습니다.
    • PostgreSQL 15+ public 스키마 권한CREATE DATABASE ... OWNER scm 만으로는
      15 부터 테이블을 만들 수 없어, CM 이 기동 중 DDL 에서 SQLSTATE 3F000 으로
      죽었습니다. 스키마가 없으면 만들고, 있으면 소유권과 권한을 대상 롤에게 넘깁니다.
    • CM API 자격증명 하드코딩(admin:admin) 제거.
    • EL8/EL9 레포 혼재 — CM repo 파일이 한 섹션만 쓰고 덮어써 두 번째 tarball 이
      사라졌습니다. 올라온 레포 전부를 싣습니다. .el8/.el9 는 아키텍처가 아니라
      release 문자열이라 rpm 은 el9 를 더 새것으로 봅니다 — 막지 않고, 노드 EL 과 실제
      설치된 빌드를 로그에 함께 남겨 불일치를 표시합니다.
    • pydantic 모델의 PEP604 유니온 — 배포 런타임(Python 3.9)에서 앱이 뜨지 않던 원인.
    • 설치 진행을 dnf 출력 그대로 보여주고, 종료코드가 아니라 결과로 판정합니다.
    • /etc/init.d 심볼릭 링크 검사 — 이후 패키지 설치를 막는 조건입니다.
    • 방화벽: 공식 문서상 포트 전체를 개방하고, 필터링이 없는 환경은 통과로 판정합니다.
    • JDK 설치가 배포까지만 하고 활성화하지 않던 문제, JCE·python 항목에 자동 적용 추가.

    운영

    • 입력이 필요한 값 — 관리자가 채워야 하는 값이 여러 화면에 흩어져 있어 빠뜨려도
      알 방법이 없었습니다. 개요 첫 화면에 미입력 항목을 모으고, 누르면 원래 편집기가
      열립니다. 편집기는 옮기지 않았습니다 — 값의 의미는 그 맥락에서 나옵니다. 막지는
      않습니다.
    • 1시간 유휴 자동 로그아웃 — 작업 중에는 만료하지 않습니다. 만료되면 연장 없이
      통보만 합니다.
    • 진행 상태는 모달, 토스트는 결과 통보만. 인증 프롬프트가 진행 모달 뒤에 깔리던
      순서 문제 수정.

    기타

    버전별 변경 내역을 CHANGELOG.md 로 관리합니다.

    제약사항

    설치 프로그램은 호스트 환경을 대신 정리하지 않습니다. 포트 점유, 방화벽 차단,
    SELinux 등은 관리자가 해결합니다.

    라이선스

    MIT License. 상업적 이용을 포함해 자유롭게 사용·수정·재배포할 수 있으며, 조건은
    저작권 고지(LICENSE)를 사본과 함께 유지하는 것입니다. 서드파티 구성요소 고지는
    THIRD-PARTY-LICENSES.md 에 있고 설치본에도 동봉되며, 앱이 /LICENSE,
    /THIRD-PARTY-LICENSES.md 로 무인증 서빙합니다.

    Copyright (c) 2026 haedong (TheKnowledges.net)

    Downloads