/// <exception cref="System.Exception"/> protected override void ServiceInit(Configuration conf) { lock (this) { Configuration config = new YarnConfiguration(conf); // create nm-local-dirs and configure them for the nodemanager string localDirsString = this.PrepareDirs("local", this._enclosing.numLocalDirs); config.Set(YarnConfiguration.NmLocalDirs, localDirsString); // create nm-log-dirs and configure them for the nodemanager string logDirsString = this.PrepareDirs("log", this._enclosing.numLogDirs); config.Set(YarnConfiguration.NmLogDirs, logDirsString); config.SetInt(YarnConfiguration.NmPmemMb, config.GetInt(YarnConfiguration.YarnMiniclusterNmPmemMb , YarnConfiguration.DefaultYarnMiniclusterNmPmemMb)); config.Set(YarnConfiguration.NmAddress, MiniYARNCluster.GetHostname() + ":0"); config.Set(YarnConfiguration.NmLocalizerAddress, MiniYARNCluster.GetHostname() + ":0"); WebAppUtils.SetNMWebAppHostNameAndPort(config, MiniYARNCluster.GetHostname(), 0); // Disable resource checks by default if (!config.GetBoolean(YarnConfiguration.YarnMiniclusterControlResourceMonitoring , YarnConfiguration.DefaultYarnMiniclusterControlResourceMonitoring)) { config.SetBoolean(YarnConfiguration.NmPmemCheckEnabled, false); config.SetBoolean(YarnConfiguration.NmVmemCheckEnabled, false); } MiniYARNCluster.Log.Info("Starting NM: " + this.index); this._enclosing.nodeManagers[this.index].Init(config); base.ServiceInit(config); } }