/// <summary> /// Creates the driver folder structure in this given folder as the root /// </summary> /// <param name="appParameters">Job submission information</param> /// <param name="driverFolderPath">Driver folder path</param> internal void CreateDefaultFolderStructure(AppParameters appParameters, string driverFolderPath) { Directory.CreateDirectory(Path.Combine(driverFolderPath, _fileNames.GetReefFolderName())); Directory.CreateDirectory(Path.Combine(driverFolderPath, _fileNames.GetLocalFolderPath())); Directory.CreateDirectory(Path.Combine(driverFolderPath, _fileNames.GetGlobalFolderPath())); var resourceHelper = new ResourceHelper(typeof(DriverFolderPreparationHelper).Assembly); foreach (var fileResources in ResourceHelper.FileResources) { var fileName = resourceHelper.GetString(fileResources.Key); if (ResourceHelper.ClrDriverFullName == fileResources.Key) { fileName = Path.Combine(driverFolderPath, _fileNames.GetBridgeExePath()); } if (!File.Exists(fileName)) { File.WriteAllBytes(fileName, resourceHelper.GetBytes(fileResources.Value)); } } // generate .config file for bridge executable var config = DefaultDriverConfigurationFileContents; if (!string.IsNullOrEmpty(appParameters.DriverConfigurationFileContents)) { config = appParameters.DriverConfigurationFileContents; } File.WriteAllText(Path.Combine(driverFolderPath, _fileNames.GetBridgeExeConfigPath()), config); // generate .config file for Evaluator executable File.WriteAllText(Path.Combine(driverFolderPath, _fileNames.GetGlobalFolderPath(), EvaluatorExecutable), DefaultDriverConfigurationFileContents); }
/// <summary> /// Builds the command to be submitted to YARNRM /// </summary> /// <returns>Command string</returns> public string GetJobSubmissionCommand() { var sb = new StringBuilder(); sb.Append(_fileNames.GetBridgeExePath()); sb.Append(" " + JavaExe); sb.Append(" " + JvmOptionsPermSize); sb.Append(" " + string.Format(JvmOptionsMaxPermSizeFormat, _driverMaxPermSizeMB)); sb.Append(" " + string.Format(JvmOptionsMaxMemoryAllocationPoolSizeFormat, _driverMaxMemoryAllocationPoolSizeMB)); sb.Append(" " + ClassPathToken); sb.Append(" " + string.Join(";", _yarnCommandLineEnvironment.GetYarnClasspathList())); sb.Append(" " + ProcReefProperty); if (_enableDebugLogging) { sb.Append(" " + JavaLoggingProperty); } sb.Append(" " + LauncherClassName); sb.Append(" " + string.Format("{0}/{1}/{2}", _fileNames.GetReefFolderName(), _fileNames.GetLocalFolderName(), _fileNames.GetJobSubmissionParametersFile())); sb.Append(" " + _fileNames.GetDriverLoggingConfigCommand()); return(sb.ToString()); }
/// <summary> /// Creates the driver folder structure in this given folder as the root /// </summary> /// <param name="jobSubmission">Job submission information</param> /// <param name="driverFolderPath">Driver folder path</param> internal void CreateDefaultFolderStructure(IJobSubmission jobSubmission, string driverFolderPath) { Directory.CreateDirectory(Path.Combine(driverFolderPath, _fileNames.GetReefFolderName())); Directory.CreateDirectory(Path.Combine(driverFolderPath, _fileNames.GetLocalFolderPath())); Directory.CreateDirectory(Path.Combine(driverFolderPath, _fileNames.GetGlobalFolderPath())); var resourceHelper = new ResourceHelper(typeof(DriverFolderPreparationHelper).Assembly); foreach (var fileResources in clientFileResources) { var fileName = resourceHelper.GetString(fileResources.Item1); if (ClrDriverFullName == fileResources.Item1) { fileName = Path.Combine(driverFolderPath, _fileNames.GetBridgeExePath()); } File.WriteAllBytes(fileName, resourceHelper.GetBytes(fileResources.Item2)); } var config = DefaultDriverConfigurationFileContents; if (!string.IsNullOrEmpty(jobSubmission.DriverConfigurationFileContents)) { config = jobSubmission.DriverConfigurationFileContents; } File.WriteAllText(Path.Combine(driverFolderPath, _fileNames.GetBridgeExeConfigPath()), config); }
public string BuildDriverCommand(int driverMemory) { var sb = new StringBuilder(); sb.Append(_fileNames.GetBridgeExePath()) .Append(" " + JavaExe) .Append(" " + string.Format(JvmOptionsMaxMemoryAllocationPoolSizeFormat, driverMemory)) .Append(" " + JvmOptionsPermSize) .Append(" " + JvmOptionsMaxPermSizeFormat) .Append(" " + ClassPathToken) .Append(" " + GetDriverClasspath()) .Append(" " + ProcReefProperty) .Append(" " + LauncherClassName) .Append(" " + Path.Combine(_fileNames.GetReefFolderName(), _fileNames.GetJobSubmissionParametersFile())); return(string.Format(_osCommandFormat, _commandPrefix + sb.ToString())); }