Cloudera Data Platform 설치를 위한 사전 작업 내역을 기술한다.
작업 순서는 중요하지 않다.
https://archive.cloudera.com/ (인증 필요)
⚠️ 주의: 과거 문서에서 보이는
https://ID:PASSWORD@archive.cloudera.com/형태의 credential-in-URL 방식은 권장되지 않습니다. curl 명령의-u user:pass옵션 또는~/.netrc파일을 사용하세요.
# netrc 방식 권장
echo "machine archive.cloudera.com login ${CLOUDERA_USER} password ${CLOUDERA_PASSWORD}" >> ~/.netrc
chmod 600 ~/.netrc
curl -LO https://archive.cloudera.com/p/cdh7/7.1.x/parcels/CDH-7.1.x-1.cdh7.1.x.parcel
보안 업데이트: 현재 CDP 7.x 이상에서는 RSA 2048 이상 또는 Ed25519 를 사용할 수 있습니다. 과거 일부 CDH 5.x 문서에서 1024비트 RSA를 강제했으나, 현대 암호화 표준(NIST)에서는 1024비트 RSA는 폐기 권고(2013년~) 대상입니다.
# 권장: Ed25519 (더 짧고 더 안전) ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -N "" # 또는 RSA 2048 이상 ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N ""
디스크 파티셔닝과 아래 명령을 참고하여 파티션을 생성한다.
(LVM 파티셔닝)
# lvcreate -n $LOGICAL_VOLUME_NAME -L VOLUME_SIZE_GB VOLUME_GROUP
lvcreate -n data -L 100GB data_vol
mkfs.xfs /dev/data_vol/data
# 콤포넌트 설치 계획에 맞춰 파티션을 생성한다.
hostname -f 와 host <IP> 로 확인한다.보안 참고: Cloudera 공식 문서는
permissive모드 또는 정책 커스터마이징을 우선 권장하며,disabled는 최후 수단으로 간주합니다.
(불필요 서비스 비활성화 명령)
# tuned 비활성화
systemctl disable tuned --now
# 방화벽 관련 서비스
systemctl disable firewalld --now
# 또는 systemctl disable iptables --now
# 또는 systemctl disable ufw --now
# 패키지킷 서비스
systemctl disable packagekit --now
# 블루투스 서비스
systemctl disable bluetooth --now
# 프린터 서비스
systemctl disable cups --now
# 가상화 서비스
systemctl disable libvirtd --now
# 메일 관련 서비스
systemctl disable postfix --now
# 파일 접근 정책 데몬 (RHEL 8 이상)
systemctl disable fapolicyd --now
# NetworkManager
# RHEL 7 이전 버전에서는 비활성화 하고, RHEL 8 버전 이후에는 해제하지 않는다
# systemctl disable NetworkManager --now
/etc/sysctl.conf
sudo vi /etc/sysctl.conf
# 아래 내용들을 추가한다.
vm.swappiness=1
vm.min_free_kbytes=2097152
vm.dirty_ratio=50
vm.dirty_background_ratio=20
vm.overcommit_memory=1
vm.overcommit_ratio=50
vm.max_map_count=8388608
net.core.somaxconn=16000
net.core.netdev_max_backlog=8192
net.core.rmem_max=134217728
net.core.wmem_max=134217728
net.core.rmem_default=524288
net.core.wmem_default=524288
net.ipv4.tcp_sack=0
net.ipv4.tcp_dsack=0
net.ipv4.tcp_keepalive_time=600
net.ipv4.tcp_keepalive_probes=5
net.ipv4.tcp_keepalive_intvl=15
net.ipv4.tcp_fin_timeout=30
net.ipv4.tcp_rmem=4096 65536 134217728
net.ipv4.tcp_wmem=4096 65536 134217728
net.ipv4.tcp_retries2=10
net.ipv4.tcp_synack_retries=3
net.ipv4.tcp_max_tw_buckets=1440000
net.ipv4.tcp_tw_reuse=1
# Data Services, Kubernetes 노드에서는 아래 값은 제외한다.
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
sudo sysctl -p
네트워크 설정 변경 명령
# 브릿지 관련 설정 확인
# docker 등이 없는 경우 아무 것도 없어야 한다.
brctl show
bridge name bridge id STP enabled interfaces
docker0 8000.02429ab59ca9 no
ip link set virbr0 down
ip link set virbr0-nic down
ip link delete virbr0
ip link delete virbr0-nic
brctl delbr virbr0
brctl delbr virbr0-nic
/usr/lib/jvm, Oracle JDK 는 /usr/java/<버전> 에 두면 Cloudera Manager 가 자동으로 찾는다.dnf install -y java-17-openjdk java-17-openjdk-devel
dnf install -y python3.11.# PostgreSQL initdb 가 쓰는 로케일
dnf install -y glibc-langpack-en glibc-langpack-ko
# CM 에이전트 · Kerberos 클라이언트가 쓰는 패키지
dnf install -y perl bind-utils rpcbind iproute krb5-workstation
AD 를 KDC 로 쓸 때. 자세한 값은 CDP Kerberos 설정.
# 패키지 설치
yum install -y sssd
# 설정 변경
vi /etc/sssd/sssd.conf
# 다음을 추가한다.
fallback_homedir = /home/%u
# 관련 패키지 설치
yum install -y gcc krb5-workstation krb5-libs krb5-devel realmd oddjob oddjob-mkhomedir adcli openldap-clients
# AD 서버가 먼저 준비돼 있어야 한다.
realm join -v --computer-ou="OU=Computers,OU=AD,DC=DOMAIN_NAME,DC=COM" --user=<AD 관리자 계정> ad.domain_name.com
systemctl restart sssd
id <AD 계정>@ad.domain_name.com
echo umask 022 >> /etc/profile
Base 노드와 반대로 IPv6 를 켜고, Kubernetes 용 커널 설정을 더한다. Cloudera Inspector 가 DS 역할 노드에 배포하는 값이다.
cat > /etc/sysctl.d/99-cdp-ds.conf <<'EOF'
net.ipv4.ip_forward = 1
net.ipv4.conf.all.forwarding = 1
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
fs.inotify.max_user_watches = 524288
fs.inotify.max_user_instances = 8192
EOF
echo br_netfilter > /etc/modules-load.d/br_netfilter.conf
modprobe br_netfilter
sysctl --system
systemd.unified_cgroup_hierarchy=0 을 넣고 재부팅한다. ECS 버전별 지원 범위는 공식 문서로 확인한다.폐쇄망 등의 경우 패키지 설치가 어려울 수 있으므로, RPM 파일, Cloudera Parcels 파일 등을 반입한다.
Tuned 는 시스템 모듈로서 시스템 사용에 대한 데이터를 모니터링 하고, 수집하여 이 데이터를 기반으로 동적으로 시스템 설정을 조절하기 위한 데몬. 패키지 이름은 tuned. ↩︎
패키지킷(PackageKit)은 리처드 휴스(Richard Hughes)이 만든, 다양한 패키지 관리 시스템들을 위한 고차원적이고 일관성 있는 프론트엔드의 제공을 목적으로 하여 설계된 자유 오픈 소스 소프트웨어군. ↩︎
하이퍼바이저 가상화 관련 서비스. ↩︎
Cloudera Base on premises 7.3.2 Release Summary — JDK 17 only. 2026-09-17 확인. https://docs.cloudera.com/cdp-private-cloud/latest/release-summaries/topics/announcement-202603-732.html ↩︎
같은 문서 — Cloudera Manager 7.13.2 는 Python 3.11 만 지원. ↩︎
System Security Service Daemon. 원격 디렉터리 및 인증 메커니즘에 액세스할 수 있는 시스템 서비스. ↩︎
Active Directory (AD) 도메인과의 통합을 지원하는 서비스. ↩︎