During a checkpoint the changes from the transaction log (Editlog) are applied to the metadata store (FsImage) (because it's not efficient to record each change on the metadata store (FsImage)
When the NameNode starts up, or a checkpoint is triggered by a configurable threshold,:
A checkpoint can be triggered:
If both of these properties are set, the first threshold to be reached triggers a checkpoint.
From the config file:
<property>
<name>dfs.namenode.checkpoint.period</name>
<value>21600</value>
</property>
<property>
<name>dfs.namenode.checkpoint.txns</name>
<value>1000000</value>
</property>
or command line:
hdfs getconf -confKey dfs.namenode.checkpoint.period
From the config file:
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>/hadoop/hdfs/namesecondary</value>
</property>
<property>
<name>dfs.namenode.checkpoint.edits.dir</name>
<value>${dfs.namenode.checkpoint.dir}</value>
</property>
or command line:
hdfs getconf -confKey dfs.namenode.checkpoint.dir
/hadoop/hdfs/namesecondary