当前位置: 首页>>代码示例>>Java>>正文


Java CheckedVolume类代码示例

本文整理汇总了Java中org.apache.hadoop.hdfs.server.namenode.NameNodeResourceChecker.CheckedVolume的典型用法代码示例。如果您正苦于以下问题:Java CheckedVolume类的具体用法?Java CheckedVolume怎么用?Java CheckedVolume使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


CheckedVolume类属于org.apache.hadoop.hdfs.server.namenode.NameNodeResourceChecker包,在下文中一共展示了CheckedVolume类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testLowResourceVolumePolicy

import org.apache.hadoop.hdfs.server.namenode.NameNodeResourceChecker.CheckedVolume; //导入依赖的package包/类
/**
 * Test that the NN is considered to be out of resources only once all
 * redundant configured volumes are low on resources, or when any required
 * volume is low on resources. 
 */
@Test
public void testLowResourceVolumePolicy() throws IOException, URISyntaxException {
  Configuration conf = new Configuration();
  File nameDir1 = new File(BASE_DIR, "name-dir1");
  File nameDir2 = new File(BASE_DIR, "name-dir2");
  nameDir1.mkdirs();
  nameDir2.mkdirs();
  
  conf.set(DFSConfigKeys.DFS_NAMENODE_EDITS_DIR_KEY,
      nameDir1.getAbsolutePath() + "," + nameDir2.getAbsolutePath());
  conf.setInt(DFSConfigKeys.DFS_NAMENODE_CHECKED_VOLUMES_MINIMUM_KEY, 2);
  
  NameNodeResourceChecker nnrc = new NameNodeResourceChecker(conf);
  
  // For the purpose of this test, we need to force the name dirs to appear to
  // be on different volumes.
  Map<String, CheckedVolume> volumes = new HashMap<String, CheckedVolume>();
  CheckedVolume volume1 = Mockito.mock(CheckedVolume.class);
  CheckedVolume volume2 = Mockito.mock(CheckedVolume.class);
  CheckedVolume volume3 = Mockito.mock(CheckedVolume.class);
  CheckedVolume volume4 = Mockito.mock(CheckedVolume.class);
  CheckedVolume volume5 = Mockito.mock(CheckedVolume.class);
  Mockito.when(volume1.isResourceAvailable()).thenReturn(true);
  Mockito.when(volume2.isResourceAvailable()).thenReturn(true);
  Mockito.when(volume3.isResourceAvailable()).thenReturn(true);
  Mockito.when(volume4.isResourceAvailable()).thenReturn(true);
  Mockito.when(volume5.isResourceAvailable()).thenReturn(true);
  
  // Make volumes 4 and 5 required.
  Mockito.when(volume4.isRequired()).thenReturn(true);
  Mockito.when(volume5.isRequired()).thenReturn(true);
  
  volumes.put("volume1", volume1);
  volumes.put("volume2", volume2);
  volumes.put("volume3", volume3);
  volumes.put("volume4", volume4);
  volumes.put("volume5", volume5);
  nnrc.setVolumes(volumes);
  
  // Initially all dirs have space.
  assertTrue(nnrc.hasAvailableDiskSpace());
  
  // 1/3 redundant dir is low on space.
  Mockito.when(volume1.isResourceAvailable()).thenReturn(false);
  assertTrue(nnrc.hasAvailableDiskSpace());
  
  // 2/3 redundant dirs are low on space.
  Mockito.when(volume2.isResourceAvailable()).thenReturn(false);
  assertFalse(nnrc.hasAvailableDiskSpace());
  
  // Lower the minimum number of redundant volumes that must be available.
  nnrc.setMinimumReduntdantVolumes(1);
  assertTrue(nnrc.hasAvailableDiskSpace());
  
  // Just one required dir is low on space.
  Mockito.when(volume3.isResourceAvailable()).thenReturn(false);
  assertFalse(nnrc.hasAvailableDiskSpace());
  
  // Just the other required dir is low on space.
  Mockito.when(volume3.isResourceAvailable()).thenReturn(true);
  Mockito.when(volume4.isResourceAvailable()).thenReturn(false);
  assertFalse(nnrc.hasAvailableDiskSpace());
}
 
开发者ID:naver,项目名称:hadoop,代码行数:69,代码来源:TestNameNodeResourceChecker.java

示例2: testLowResourceVolumePolicy

import org.apache.hadoop.hdfs.server.namenode.NameNodeResourceChecker.CheckedVolume; //导入依赖的package包/类
/**
 * Test that the NN is considered to be out of resources only once all
 * redundant configured volumes are low on resources, or when any required
 * volume is low on resources. 
 */
@Test
public void testLowResourceVolumePolicy() throws IOException, URISyntaxException {
  Configuration conf = new Configuration();
  File nameDir1 = new File(System.getProperty("test.build.data"), "name-dir1");
  File nameDir2 = new File(System.getProperty("test.build.data"), "name-dir2");
  nameDir1.mkdirs();
  nameDir2.mkdirs();
  
  conf.set(DFSConfigKeys.DFS_NAMENODE_EDITS_DIR_KEY,
      nameDir1.getAbsolutePath() + "," + nameDir2.getAbsolutePath());
  conf.setInt(DFSConfigKeys.DFS_NAMENODE_CHECKED_VOLUMES_MINIMUM_KEY, 2);
  
  NameNodeResourceChecker nnrc = new NameNodeResourceChecker(conf);
  
  // For the purpose of this test, we need to force the name dirs to appear to
  // be on different volumes.
  Map<String, CheckedVolume> volumes = new HashMap<String, CheckedVolume>();
  CheckedVolume volume1 = Mockito.mock(CheckedVolume.class);
  CheckedVolume volume2 = Mockito.mock(CheckedVolume.class);
  CheckedVolume volume3 = Mockito.mock(CheckedVolume.class);
  CheckedVolume volume4 = Mockito.mock(CheckedVolume.class);
  CheckedVolume volume5 = Mockito.mock(CheckedVolume.class);
  Mockito.when(volume1.isResourceAvailable()).thenReturn(true);
  Mockito.when(volume2.isResourceAvailable()).thenReturn(true);
  Mockito.when(volume3.isResourceAvailable()).thenReturn(true);
  Mockito.when(volume4.isResourceAvailable()).thenReturn(true);
  Mockito.when(volume5.isResourceAvailable()).thenReturn(true);
  
  // Make volumes 4 and 5 required.
  Mockito.when(volume4.isRequired()).thenReturn(true);
  Mockito.when(volume5.isRequired()).thenReturn(true);
  
  volumes.put("volume1", volume1);
  volumes.put("volume2", volume2);
  volumes.put("volume3", volume3);
  volumes.put("volume4", volume4);
  volumes.put("volume5", volume5);
  nnrc.setVolumes(volumes);
  
  // Initially all dirs have space.
  assertTrue(nnrc.hasAvailableDiskSpace());
  
  // 1/3 redundant dir is low on space.
  Mockito.when(volume1.isResourceAvailable()).thenReturn(false);
  assertTrue(nnrc.hasAvailableDiskSpace());
  
  // 2/3 redundant dirs are low on space.
  Mockito.when(volume2.isResourceAvailable()).thenReturn(false);
  assertFalse(nnrc.hasAvailableDiskSpace());
  
  // Lower the minimum number of redundant volumes that must be available.
  nnrc.setMinimumReduntdantVolumes(1);
  assertTrue(nnrc.hasAvailableDiskSpace());
  
  // Just one required dir is low on space.
  Mockito.when(volume3.isResourceAvailable()).thenReturn(false);
  assertFalse(nnrc.hasAvailableDiskSpace());
  
  // Just the other required dir is low on space.
  Mockito.when(volume3.isResourceAvailable()).thenReturn(true);
  Mockito.when(volume4.isResourceAvailable()).thenReturn(false);
  assertFalse(nnrc.hasAvailableDiskSpace());
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:69,代码来源:TestNameNodeResourceChecker.java


注:本文中的org.apache.hadoop.hdfs.server.namenode.NameNodeResourceChecker.CheckedVolume类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。