at 18.09-beta 1.5 kB view raw
1import ../make-test.nix ({...}: { 2 nodes = { 3 namenode = {pkgs, ...}: { 4 services.hadoop = { 5 package = pkgs.hadoop_3_1; 6 hdfs.namenode.enabled = true; 7 coreSite = { 8 "fs.defaultFS" = "hdfs://namenode:8020"; 9 }; 10 hdfsSite = { 11 "dfs.replication" = 1; 12 "dfs.namenode.rpc-bind-host" = "0.0.0.0"; 13 "dfs.namenode.http-bind-host" = "0.0.0.0"; 14 }; 15 }; 16 networking.firewall.allowedTCPPorts = [ 17 9870 # namenode.http-address 18 8020 # namenode.rpc-address 19 ]; 20 }; 21 datanode = {pkgs, ...}: { 22 services.hadoop = { 23 package = pkgs.hadoop_3_1; 24 hdfs.datanode.enabled = true; 25 coreSite = { 26 "fs.defaultFS" = "hdfs://namenode:8020"; 27 }; 28 }; 29 networking.firewall.allowedTCPPorts = [ 30 9864 # datanode.http.address 31 9866 # datanode.address 32 9867 # datanode.ipc.address 33 ]; 34 }; 35 }; 36 37 testScript = '' 38 startAll 39 40 $namenode->waitForUnit("hdfs-namenode"); 41 $namenode->waitForUnit("network.target"); 42 $namenode->waitForOpenPort(8020); 43 $namenode->waitForOpenPort(9870); 44 45 $datanode->waitForUnit("hdfs-datanode"); 46 $datanode->waitForUnit("network.target"); 47 $datanode->waitForOpenPort(9864); 48 $datanode->waitForOpenPort(9866); 49 $datanode->waitForOpenPort(9867); 50 51 $namenode->succeed("curl http://namenode:9870"); 52 $datanode->succeed("curl http://datanode:9864"); 53 ''; 54})