建msdos类型的分区表:
#parted --script /dev/sda1 mklabel msdos
3 在/dev/sda1创建partition1:
#parted --script -- /dev/sda1 mkpart primary 1 -1
4 用ext4文件系统格式化/dev/sda1:
#mkfs.ext4 -L $label -N 61050880 -m 1 -O sparse_super /dev/sda1
"-N"表示inode的数量,这个数值如果不指定的话,系统会默认把它设的尽量小,如果硬盘中小文件较多的话,有可能会造成inode不够用的情况。HDFS/Hadoop设计的目的是处理大文件的,默认块的大小是64MB,是Linux文件系统默认值(4KB)的16384倍,又考虑到一块硬盘中不可能全部是HDFS 文件,还会有很多日志文件等,所以在设置inode 数量的时候最好根据经验来判断,或者保险点你可以采取以下公式计算得出:
Inode数量 = (硬盘大小 /4KB )* 10
"-m 1"表示保留百分之一的硬盘空间,默认保留百分之五,保留的空间可在硬盘被用完的情况下,root用户任然有操作硬盘的机会;
"-O sparse_super"表示使用更少的superblock backup copies,来节约硬盘空间。
5 在/dev/sda1上禁止e2fsck文件系统在开机时自检:
#tune2fs -c 0 -i 0 /dev/sda1
"-c 0"表示无论这块硬盘被mount多少次,系统都不会调用e2fsck扫描硬盘。
硬盘若长期不自检是不好的,可能会造成数据丢失。对于HDFS而言,默认会保留3份blocks文件,所以就算丢失了一份数据,还有2份数据呢,当blocks的保存数不足3份时,HDFS会重新找一台新的服务器来做备份,从而维持3份数据的目的,所以在HDFS里面数据是相对安全的,硬盘扫描就不那么重要了。
?