32 lines
		
	
	
		
			884 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
		
		
			
		
	
	
			32 lines
		
	
	
		
			884 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
| 
								 | 
							
								{ hadoop, pkgs }:
							 | 
						||
| 
								 | 
							
								let
							 | 
						||
| 
								 | 
							
								  propertyXml = name: value: ''
							 | 
						||
| 
								 | 
							
								    <property>
							 | 
						||
| 
								 | 
							
								      <name>${name}</name>
							 | 
						||
| 
								 | 
							
								      <value>${builtins.toString value}</value>
							 | 
						||
| 
								 | 
							
								    </property>
							 | 
						||
| 
								 | 
							
								  '';
							 | 
						||
| 
								 | 
							
								  siteXml = fileName: properties: pkgs.writeTextDir fileName ''
							 | 
						||
| 
								 | 
							
								    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
							 | 
						||
| 
								 | 
							
								    <!-- generated by NixOS -->
							 | 
						||
| 
								 | 
							
								    <configuration>
							 | 
						||
| 
								 | 
							
								      ${builtins.concatStringsSep "\n" (pkgs.lib.mapAttrsToList propertyXml properties)}
							 | 
						||
| 
								 | 
							
								    </configuration>
							 | 
						||
| 
								 | 
							
								  '';
							 | 
						||
| 
								 | 
							
								  userFunctions = ''
							 | 
						||
| 
								 | 
							
								    hadoop_verify_logdir() {
							 | 
						||
| 
								 | 
							
								      echo Skipping verification of log directory
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  '';
							 | 
						||
| 
								 | 
							
								in
							 | 
						||
| 
								 | 
							
								pkgs.buildEnv {
							 | 
						||
| 
								 | 
							
								  name = "hadoop-conf";
							 | 
						||
| 
								 | 
							
								  paths = [
							 | 
						||
| 
								 | 
							
								    (siteXml "core-site.xml" hadoop.coreSite)
							 | 
						||
| 
								 | 
							
								    (siteXml "hdfs-site.xml" hadoop.hdfsSite)
							 | 
						||
| 
								 | 
							
								    (siteXml "mapred-site.xml" hadoop.mapredSite)
							 | 
						||
| 
								 | 
							
								    (siteXml "yarn-site.xml" hadoop.yarnSite)
							 | 
						||
| 
								 | 
							
								    (pkgs.writeTextDir "hadoop-user-functions.sh" userFunctions)
							 | 
						||
| 
								 | 
							
								  ];
							 | 
						||
| 
								 | 
							
								}
							 |