我下载了一个用于设置hadoop配置的附带文件。它包含 /scripts/directories.sh
包含以下块的文件:
# Space separated list of directories where NameNode will store file system image. For example, /grid/hadoop/hdfs/nn /grid1/hadoop/hdfs/nn
DFS_NAME_DIR="TODO-LIST-OF-NAMENODE-DIRS";
# Space separated list of directories where DataNodes will store the blocks. For example, /grid/hadoop/hdfs/dn /grid1/hadoop/hdfs/dn /grid2/hadoop/hdfs/dn
DFS_DATA_DIR="TODO-LIST-OF-DATA-DIRS";
# Space separated list of directories where SecondaryNameNode will store checkpoint image. For example, /grid/hadoop/hdfs/snn /grid1/hadoop/hdfs/snn /grid2/hadoop/hdfs/snn
FS_CHECKPOINT_DIR="TODO-LIST-OF-SECONDARY-NAMENODE-DIRS";
“目录列表”是什么意思?据我所知,list shpuld应该是来自不同hdd的目录,如果我只使用一个驱动器(例如用于测试目的),那么只创建和设置一个驱动器就足够了。我错了吗?
1条答案
按热度按时间i7uq4tfw1#
hadoop的一般原则是拥有更多的磁盘总是有帮助的,例如,给namenode多个磁盘可以让namenode将其元数据复制到多个磁盘,这样namenode就可以在单个磁盘故障下生存,同样地,给datanode提供更多的磁盘可以让datanode以循环方式将数据剥离并写入所有磁盘,从而获得更好的吞吐量。类似地,如果提供了多个磁盘,所有守护程序都会利用多个磁盘。
据我所知,列表应该是不同硬盘的目录
是的,建议将每个磁盘装载到一个单独的目录,否则如果提供多个目录,并且所有目录都创建在同一个物理磁盘中,那么多个守护进程/线程将在磁盘i/o上成为瓶颈。
如果我只使用一个驱动器(例如用于测试目的),那么只创建和设置一个驱动器就足够了
是的,为了测试的目的,只要您有足够的空间,提供一个安装到单个物理磁盘甚至根分区的目录就足够了。