动态修改配置项
    
    
    
    前言
   
    Hadoop 在运行态可以动态的通过
    
     hdfs dfsadmin -reconfig [namenode|datanode] dnip:port start
    
    的方式去刷新配置文件
    
     core-site.xml
    
    或者
    
     hdfs-site.xml
    
    中的配置到 Namenode 或者 Datanode 的 jvm 中,让其生效。那么哪些配置能让其生效呢
   
    
    
    Namenode 的可修改配置项
   
    
    
    结论
   
# 心跳时间
dfs.heartbeat.interval  
# 超时时长间隔(毫秒)
dfs.namenode.heartbeat.recheck-interval
# 此设置可用于防止重要系统目录因管理员错误而意外删除
fs.protected.directories
hadoop.caller.context.enabled
dfs.storage.policy.satisfier.mode
dfs.namenode.replication.max-streams
dfs.namenode.replication.max-streams-hard-limit
dfs.namenode.replication.work.multiplier.per.iteration
dfs.block.replicator.classname
dfs.block.placement.ec.classname
# 是否开启并行加载特性
dfs.image.parallel.load
直接上源代码
private final TreeSet<String> reconfigurableProperties = Sets
      .newTreeSet(Lists.newArrayList(
          DFS_HEARTBEAT_INTERVAL_KEY,
          DFS_NAMENODE_HEARTBEAT_RECHECK_INTERVAL_KEY,
          FS_PROTECTED_DIRECTORIES,
          HADOOP_CALLER_CONTEXT_ENABLED_KEY,
          DFS_STORAGE_POLICY_SATISFIER_MODE_KEY,
          DFS_NAMENODE_REPLICATION_MAX_STREAMS_KEY,
          DFS_NAMENODE_REPLICATION_STREAMS_HARD_LIMIT_KEY,
          DFS_NAMENODE_REPLICATION_WORK_MULTIPLIER_PER_ITERATION,
          DFS_BLOCK_REPLICATOR_CLASSNAME_KEY,
          DFS_BLOCK_PLACEMENT_EC_CLASSNAME_KEY,
          DFS_IMAGE_PARALLEL_LOAD_KEY));
    
    
    Datanode 的可修改配置项
   
    
    
    结论
   
# datanode 存储数据目录
dfs.datanode.data.dir
# 能够同时移动的块(英文说法叫in-flight)数量,默认值50。
dfs.datanode.balance.max.concurrent.moves
直接上源代码
  public Collection<String> getReconfigurableProperties() {
    return RECONFIGURABLE_PROPERTIES;
  }
  private static final List<String> RECONFIGURABLE_PROPERTIES =
      Collections.unmodifiableList(
          Arrays.asList(
              DFS_DATANODE_DATA_DIR_KEY,
              DFS_DATANODE_BALANCE_MAX_NUM_CONCURRENT_MOVES_KEY));
    
    
    修改方式
   
- 
     首先编辑
 
 etc/hadoop/core-site.xml
 
 或者
 
 etc/hadoop/hdfs-site.xml
 
 任意配置文件,修改上述配置项的值
- 
     使用命令动态刷新
 
 Usage: hdfs dfsadmin [-reconfig <namenode|datanode> <host:ipc_port> <start|status|properties>]
 
 ,hadoop3之后datanode默认端口是 9867, namenode默认端口是 9820
    
     希望对正在查看文章的您有所帮助,记得关注、评论、收藏,谢谢您
    
   
 
版权声明:本文为u013412066原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
