Hadoop

Hadoop 설치시 os kernel parameter 설정

Sencia 2021. 3. 22. 15:39
반응형

Hadoop을 설치할때 os kernel parameter를 같이 만져주면 성능에 좋다. 

아래 설정은 RHEL 7버전 이상 기준으로 작성하였다. 

 

# 01. file descriptor를 max로 설정 
# 기본 설정인 1024로 할 경우 프로세스당 open file descriptor 속도 느림 
unlimit -S 4096 
unlimit -H 32832 


# 02. 네임노드에서 저널노드 요청시 리스닝 큐 크기나 
# 서버가 한 번에 연결할 수 있는 수 설정을 설정 
sysctl -w net.somaxconn=1024  


# 03. 전송 대기열 길이를 변경하여 
# 네트워크 트래픽에서 볼 수 있는 버스트 트래픽 수용 
ifconfig eth# txqueuelen 4096 


# 04. 네트워크 스택의 read, write 및 cache 크기 증가 
# TCP buffer 크기 설정 
net.core.rmem_max=134217728 
net.core.wmem_max=134217728 


# 05. TCP autotunning TCP limit 설정 
net.ipv4.tcp_rmem=134217728 
net.ipv4.tcp_wmem=134217728


# 06. 프로세스의 input 큐 길이 설정 
net.core.netdev_max_backlog=30000 


# 06. Transparent Huge pages가 활성화된 경우 
# 압축 작업으로 하둡 성능에 영향을 미칠 수 있음 
# 따라서 해당 설정 비활성화 
echo never > /sys/kernel/mm/transparent_hugepages/defrag


# 07. 아래 설정은 사용되지 않는 메모리를 확인하고 하드드라이브로 스왑 
# 이런 write 관련 프로세스는 하둡 성능저하를 유발할 수 있어 0으로 설정 
# 완전한 기능의 비활성화는 아니고 메모리 및 디스크 대기 시간을 줄일 수 있음
sysctl -w vm.swappiness=0 
sysctl  -w vm.overcommit_memory = 1 


# 08. I/O가 많이 발생하는 하둡서버에서 dirty page를 얼마나 동기화할지 설정 
# 첫번째 옵션은 dirty page의 내용을 백그라운드로 동기화할때 그 기준이 되는 비율
# 비율이 적으면 I/O가 자주 발생하고 크면 휘발성 메모리에 너무 많은 데이터 저장 
# 두번째 옵션은 dirty page의 내용을 모든 I/O작업을 멈추고 동기화할지에 대한 비율
sysctl -p vm.dirty_background_ratio=20
sysctl -p vm.dirty_ratio=50


# 08. IO 스케줄러 NOOP 설정 
# 하둡 클러스터가 RAID 구성인 경우 noop, 아닌 경우 cfg 
echo noop > /sys/block/sda/queue/scheduler

 

반응형

'Hadoop' 카테고리의 다른 글

ZKFC란 무엇인가  (0) 2021.03.29
[Hadoop3] Observer Namenode  (0) 2021.03.25
[Hadoop3] Erasure Coding  (0) 2021.03.25