Hardware
Namenode
- Namenode에는 HDFS의 metadata가 저장되어 있으므로 RAID10으로 묶는 것을 권장하나
- JBOD(Just Bunch Of Disk) 형태로 구성해도 무방함
Datanode
- Data Locality 및 I/O Throughput을 위해서 JBOD 방식으로 구성함
JBOD로 HDFS를 구성하기 위해서 다음과 같이 개별 HDD를 각각 마운팅함.
mkdir -p /mnt/hdfs/{1..4} vim /etc/fstab # append the new disks /dev/sdb1 /mnt/hdfs/1 ext4 inode_readahead_blks=128,commit=30,data=writeback,noatime,nodiratime,nodev,nobarrier 0 0 /dev/sdc1 /mnt/hdfs/2 ext4 inode_readahead_blks=128,commit=30,data=writeback,noatime,nodiratime,nodev,nobarrier 0 0 /dev/sdd1 /mnt/hdfs/3 ext4 inode_readahead_blks=128,commit=30,data=writeback,noatime,nodiratime,nodev,nobarrier 0 0 /dev/sde1 /mnt/hdfs/4 ext4 inode_readahead_blks=128,commit=30,data=writeback,noatime,nodiratime,nodev,nobarrier 0 0 mount /mnt/hdfs/1 mount /mnt/hdfs/2 mount /mnt/hdfs/3 mount /mnt/hdfs/4
하둡 설정 파일인 hdfs-site.xml
파일에는 다음과 같이 설정함
hdfs-site.xml 파일
<configuration> <property> <name>dfs.name.dir</name> <value>/mnt/hdfs/1/namenode,/mnt/hdfs/2/namenode,/mnt/hdfs/3/namenode,/mnt/hdfs/4/namenode</value> </property> <property> <name>dfs.data.dir</name> <value>/mnt/hdfs/1/datanode,/mnt/hdfs/2/datanode,/mnt/hdfs/3/datanode,/mnt/hdfs/4/datanode</value> </property> </configuration>
참고