55 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| import ../make-test.nix ({...}: {
 | |
|   nodes = {
 | |
|     namenode = {pkgs, ...}: {
 | |
|       services.hadoop = {
 | |
|         package = pkgs.hadoop_3_1;
 | |
|         hdfs.namenode.enabled = true;
 | |
|         coreSite = {
 | |
|           "fs.defaultFS" = "hdfs://namenode:8020";
 | |
|         };
 | |
|         hdfsSite = {
 | |
|           "dfs.replication" = 1;
 | |
|           "dfs.namenode.rpc-bind-host" = "0.0.0.0";
 | |
|           "dfs.namenode.http-bind-host" = "0.0.0.0";
 | |
|         };
 | |
|       };
 | |
|       networking.firewall.allowedTCPPorts = [
 | |
|         9870 # namenode.http-address
 | |
|         8020 # namenode.rpc-address
 | |
|       ];
 | |
|     };
 | |
|     datanode = {pkgs, ...}: {
 | |
|       services.hadoop = {
 | |
|         package = pkgs.hadoop_3_1;
 | |
|         hdfs.datanode.enabled = true;
 | |
|         coreSite = {
 | |
|           "fs.defaultFS" = "hdfs://namenode:8020";
 | |
|         };
 | |
|       };
 | |
|       networking.firewall.allowedTCPPorts = [
 | |
|         9864 # datanode.http.address
 | |
|         9866 # datanode.address
 | |
|         9867 # datanode.ipc.address
 | |
|       ];
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   testScript = ''
 | |
|     startAll
 | |
| 
 | |
|     $namenode->waitForUnit("hdfs-namenode");
 | |
|     $namenode->waitForUnit("network.target");
 | |
|     $namenode->waitForOpenPort(8020);
 | |
|     $namenode->waitForOpenPort(9870);
 | |
| 
 | |
|     $datanode->waitForUnit("hdfs-datanode");
 | |
|     $datanode->waitForUnit("network.target");
 | |
|     $datanode->waitForOpenPort(9864);
 | |
|     $datanode->waitForOpenPort(9866);
 | |
|     $datanode->waitForOpenPort(9867);
 | |
| 
 | |
|     $namenode->succeed("curl http://namenode:9870");
 | |
|     $datanode->succeed("curl http://datanode:9864");
 | |
|   '';
 | |
| })
 | 
