배경
- CentOS 환경에서 복수의 하드디스크로 DFS(분산 파일 시스템) 환경 구성하기
HDD 설정
- HDD 확인
- $ vi /proc/partitions
- 가용한 모든 파티션을 확인
- $ df -T
- 현재 마운트된 파티션 및 종류 확인
- $ ls /dev/disk/by-id/
- 가용한 모든 디스크 확인
- $ sudo fdisk -l
- 현재 디스크 상태 확인
- 또는 $ sudo fdisk -l /dev/sdb
- partitioning
- 2TB 이상 디스크는 fdisk에서 파티셔닝 불가; parted 사용 필요
- $ yum install parted
- parted 설치
- $ parted -l
- 현재 파티션 정보 확인
- $ parted /dev/sdb
- 파티션 설정
- $$ mklabel
- gpt
- $$ unit TB
- $$ mkpart primary 0.0TB 4.0TB
- $$ quit
- 디스크 타입 포맷
- $ sudo mkfs.ext4 /dev/sdb
- mkfs.ext4는 root 권한에서(sudo -i 또는 /sbin을 path에 설정하여) 수행 가능.
- 포맷된 디스크를 리눅스 특정 위치(=mounting point)에 마운트
- 디스크를 마운트 시킬 때 noatime, nodirtime 방식으로 처리하는 것이 성능 개선.
- 파일 access가 발생하는 시간(atime)을 매번 기록하면 성능 저하되므로.
- $ cd /
- $ sudo mkdir -p data/1
- $ sudo mount /dev/sdb /data/1
- $ sudo mkdir -p /data/1/dfs/dn
- $ sudo chown -R ksb:ksb /data/1/dfs/dn
- $ df -kh
- 마운트된 상태 및 사용량 확인
- (부팅 시 자동 로딩) $ blkid
- (디스크 확인) $ ls -l /dev/disk/by-uuid
- 최종 결과 확인
- $ cat /etc/fstab
- 마운트된 상태 확인
- 마운트가 되어있지 않다면 UUID 확인해서 추가해야함.
- $ reboot
참고
- 파일시스템
- ex3
- Red Hat Enterprise Linux 5 기본 파일 시스템
- 2.3TB 이상을 지원하지 않음.
- 서브 디렉토리 최대 개수 32,000
- ex4
- Red Hat Enterprise Linux 6 기본 파일 시스템
- 최대 16TB 지원
- xfs
- 16TB 이상의 파일도 지원
여러개 디스크 하나로 묶기LVM(Local Volumn Management)각 디스크별로 LVM 물리 볼륨 설정한 뒤볼륨 그룹 생성해서 LVM 물리 볼륨 선택LVM 논리 볼륨 생성한 뒤 마운트 지점 설정- Hadoop
- 64MB 블록 단위로 파일 보관
- HDFS2.0부터는 Active-Standby 지원
- Name Node의 경우, 자체적인 3배수 복제를 통해 고가용성 지원 --> 물리적 Disk 백업 불필요
- 리눅스의 LVM 사용 금지
- JBOD (just bunch of disks) vs RAID
- Since HDFS is taking care of fault-tolerance and "striped" reading, there is no need to use RAID underneath an HDFS.
- Since the namenode is a single-point-of-failure in HDFS, it requires a more reliable hardware setup. Therefore, the use of RAID is recommended on namenodes.
- RAID 구성
- Name Node는 RAID 5 (또는 여유가 된다면 10)
- Data Node는 JBOD
>> RAID 0 RAID0 = Striping단점: 한쪽 디스크가 깨지면, 전체 데이터를 사용하지 못하게 됨.참고 블로그1$ mdadm -C /dev/md0 -l 0 -n 2 /dev/sdb /dev/sdc2개의 하드 디스크를 raid level 0으로 md0이라는 이름으로 생성.(확인) $ mdadm -D /dev/md0(RAID 비활성화) $ madam -S /dev/md0(포맷) $ mkfs.ext4 /dev/md0(마운트) $ mkdir /mp | mount /dev/md0 /mp(적절한 접근 권한 설정) $ sudo chmod -R 755 /media/New/hdfs/data(적절한 접근 권한 설정) $ sudo chown -R user:user /media/New/hdfs/data(부팅시 자동 마운트) $ mdadm -D -s /dev/md0 > /etc/mdadm.conf(fstab에 정보 추가) $ vi /etc/fstab- 하둡에 새로운 하드 디스크 추가시
- hdfs-site.xml 파일에 dfs.data.dir 부분에 새로운 마운트를 콤마로 구분하여 입력하기.
- 예: /data/1/dfs/dn, /data/2/dfs/dn
- 특정 data node만 사용하는 하드디스크라면 해당 data node 만 재시작. 만약, 전체 클러스터가 공유하는 하드디스크라면, dfs 자체를 재시작.
No comments:
Post a Comment