mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-12 04:35:41 +03:00
nixos/hadoop: Add HA capabilities
- Add HDFS journalnode and ZKFC services - Test failover of HDFS and YARN master services in full hadoop test - Check if a minimal HDFS cluster works in the minimal HDFS test
This commit is contained in:
parent
455e7f19d0
commit
39c007ce9c
5 changed files with 286 additions and 65 deletions
|
@ -1,9 +1,13 @@
|
|||
# Test a minimal HDFS cluster with no HA
|
||||
import ../make-test-python.nix ({...}: {
|
||||
nodes = {
|
||||
namenode = {pkgs, ...}: {
|
||||
services.hadoop = {
|
||||
package = pkgs.hadoop;
|
||||
hdfs.namenode.enabled = true;
|
||||
hdfs.namenode = {
|
||||
enabled = true;
|
||||
formatOnInit = true;
|
||||
};
|
||||
coreSite = {
|
||||
"fs.defaultFS" = "hdfs://namenode:8020";
|
||||
};
|
||||
|
@ -13,10 +17,6 @@ import ../make-test-python.nix ({...}: {
|
|||
"dfs.namenode.http-bind-host" = "0.0.0.0";
|
||||
};
|
||||
};
|
||||
networking.firewall.allowedTCPPorts = [
|
||||
9870 # namenode.http-address
|
||||
8020 # namenode.rpc-address
|
||||
];
|
||||
};
|
||||
datanode = {pkgs, ...}: {
|
||||
services.hadoop = {
|
||||
|
@ -26,11 +26,6 @@ import ../make-test-python.nix ({...}: {
|
|||
"fs.defaultFS" = "hdfs://namenode:8020";
|
||||
};
|
||||
};
|
||||
networking.firewall.allowedTCPPorts = [
|
||||
9864 # datanode.http.address
|
||||
9866 # datanode.address
|
||||
9867 # datanode.ipc.address
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -50,5 +45,9 @@ import ../make-test-python.nix ({...}: {
|
|||
|
||||
namenode.succeed("curl -f http://namenode:9870")
|
||||
datanode.succeed("curl -f http://datanode:9864")
|
||||
|
||||
datanode.succeed("sudo -u hdfs hdfs dfsadmin -safemode wait")
|
||||
datanode.succeed("echo testfilecontents | sudo -u hdfs hdfs dfs -put - /testfile")
|
||||
assert "testfilecontents" in datanode.succeed("sudo -u hdfs hdfs dfs -cat /testfile")
|
||||
'';
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue