HBASE-18015 Storage class aware block placement for procedure v2 WALs
This commit is contained in:
parent
0d0ccc38fe
commit
3dc38a4ff1
|
@ -49,6 +49,7 @@ import javax.servlet.http.HttpServletResponse;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.apache.hadoop.conf.Configuration;
|
import org.apache.hadoop.conf.Configuration;
|
||||||
|
import org.apache.hadoop.fs.FileSystem;
|
||||||
import org.apache.hadoop.fs.Path;
|
import org.apache.hadoop.fs.Path;
|
||||||
import org.apache.hadoop.hbase.ClusterStatus;
|
import org.apache.hadoop.hbase.ClusterStatus;
|
||||||
import org.apache.hadoop.hbase.CoordinatedStateException;
|
import org.apache.hadoop.hbase.CoordinatedStateException;
|
||||||
|
@ -1139,7 +1140,19 @@ public class HMaster extends HRegionServer implements MasterServices {
|
||||||
final Path walDir = new Path(FSUtils.getWALRootDir(this.conf),
|
final Path walDir = new Path(FSUtils.getWALRootDir(this.conf),
|
||||||
MasterProcedureConstants.MASTER_PROCEDURE_LOGDIR);
|
MasterProcedureConstants.MASTER_PROCEDURE_LOGDIR);
|
||||||
|
|
||||||
procedureStore = new WALProcedureStore(conf, walDir.getFileSystem(conf), walDir,
|
final FileSystem walFs = walDir.getFileSystem(conf);
|
||||||
|
|
||||||
|
// Create the log directory for the procedure store
|
||||||
|
if (!walFs.exists(walDir)) {
|
||||||
|
if (!walFs.mkdirs(walDir)) {
|
||||||
|
throw new IOException("Unable to mkdir " + walDir);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Now that it exists, set the log policy
|
||||||
|
FSUtils.setStoragePolicy(walFs, conf, walDir, HConstants.WAL_STORAGE_POLICY,
|
||||||
|
HConstants.DEFAULT_WAL_STORAGE_POLICY);
|
||||||
|
|
||||||
|
procedureStore = new WALProcedureStore(conf, walFs, walDir,
|
||||||
new MasterProcedureEnv.WALStoreLeaseRecovery(this));
|
new MasterProcedureEnv.WALStoreLeaseRecovery(this));
|
||||||
procedureStore.registerListener(new MasterProcedureEnv.MasterProcedureStoreListener(this));
|
procedureStore.registerListener(new MasterProcedureEnv.MasterProcedureStoreListener(this));
|
||||||
MasterProcedureScheduler procedureScheduler = procEnv.getProcedureScheduler();
|
MasterProcedureScheduler procedureScheduler = procEnv.getProcedureScheduler();
|
||||||
|
|
Loading…
Reference in New Issue