55 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| import ../make-test-python.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 = ''
 | |
|     start_all()
 | |
| 
 | |
|     namenode.wait_for_unit("hdfs-namenode")
 | |
|     namenode.wait_for_unit("network.target")
 | |
|     namenode.wait_for_open_port(8020)
 | |
|     namenode.wait_for_open_port(9870)
 | |
| 
 | |
|     datanode.wait_for_unit("hdfs-datanode")
 | |
|     datanode.wait_for_unit("network.target")
 | |
|     datanode.wait_for_open_port(9864)
 | |
|     datanode.wait_for_open_port(9866)
 | |
|     datanode.wait_for_open_port(9867)
 | |
| 
 | |
|     namenode.succeed("curl -f http://namenode:9870")
 | |
|     datanode.succeed("curl -f http://datanode:9864")
 | |
|   '';
 | |
| })
 | 
