CFM(Cloudera Flow Management) 은 Apache NiFi 와 NiFi Registry 를 Cloudera 가 검증·패키징해 배포하는 묶음이다. NiFi 를 엔진으로 쓰되 저장소 구성, 보안 연동(Kerberos · Ranger · Knox), CM 관리 연동이 함께 들어간다. 따라서 CFM 버전과 그 안에 들어 있는 NiFi 버전은 별개의 번호이고, 둘을 대응시켜 봐야 기능 유무를 판단할 수 있다.
Cloudera 는 upstream NiFi 를 그대로 싣지 않고 백포트 패치를 얹는다. 같은 NiFi 마이너 버전이라도 upstream 과 동작이 다를 수 있으므로, 버그를 추적할 때 upstream JIRA 만 보고 결론을 내지 않는다.
아래는 NiFi 1.x 계열을 담은 CFM 버전의 대략적인 대응이다. (확인 필요) — patch 자리는 CFM 의 세 번째 자리에 따라 달라지고, 아래 표는 대화 기록을 옮긴 것이라 공식 Release Notes 와 어긋날 수 있다. 실제 구축·업그레이드 판단은 해당 CFM 버전의 Release Notes 에 적힌 "Component versions" 표를 근거로 한다.
| CFM 버전 | 포함 NiFi(1.x) |
|---|---|
| CFM 2.1.x | NiFi 1.15 ~ 1.18 대 |
| CFM 2.0.x | NiFi 1.13 대 |
| CFM 1.5.x | NiFi 1.11 대 |
| CFM 1.4.x | NiFi 1.9 대 |
| CFM 1.3.x | NiFi 1.8 대 |
| CFM 1.2.x · 1.1.x | NiFi 1.7 대 |
| CFM 1.0.x | NiFi 1.6 대 |
같은 CFM minor 안에서도 서비스 팩·핫픽스에 따라 NiFi patch 자리가 올라간다. 클러스터에서 실제로 도는 버전은 NiFi UI 우상단 메뉴의 About 이나 parcel 디렉터리 이름으로 확인하는 것이 확실하다.
ls -d /opt/cloudera/parcels/CFM*
NiFi 2.x 는 1.x 에서 제거된 컴포넌트가 많고 Java 요구 버전도 올라간다. 1.x 흐름을 그대로 올리면 뜨지 않는 프로세서가 생기므로, CFM 을 2.x 계열로 올리는 것은 패치가 아니라 이관 작업으로 잡는다. 신규 구축이라면 처음부터 NiFi 2.x 계열을 검토한다.