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
# 콤포넌트 설치 계획에 맞춰 파티션을 생성한다.
보안 참고: 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
# NetworkManager
# RHEL 7 이전 버전에서는 비활성화 하고, RHEL 8 버전 이후에는 해제하지 않는다
# systemctl disable NetworkManager --now
/etc/sysctl.conf
sudo vi /etc/sysctl.conf
# 아래 내용들을 추가한다.
vm.swappiness=0
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=8192
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
폐쇄망 등의 경우 패키지 설치가 어려울 수 있으므로, RPM 파일, Cloudera Parcels 파일 등을 반입한다.