2021-11-02 07:29:58 +01:00
|
|
|
# This only tests if YARN is able to start its services
|
2022-01-08 14:08:34 +01:00
|
|
|
import ../make-test-python.nix ({ package, ... }: {
|
|
|
|
name = "hadoop-yarn";
|
|
|
|
|
2018-05-21 03:09:31 +02:00
|
|
|
nodes = {
|
2022-01-08 14:08:34 +01:00
|
|
|
resourcemanager = { ... }: {
|
|
|
|
services.hadoop = {
|
|
|
|
inherit package;
|
|
|
|
yarn.resourcemanager = {
|
|
|
|
enable = true;
|
|
|
|
openFirewall = true;
|
|
|
|
};
|
2018-05-21 03:09:31 +02:00
|
|
|
};
|
|
|
|
};
|
2022-02-28 16:11:43 +01:00
|
|
|
nodemanager = { options, lib, ... }: {
|
2022-01-08 14:08:34 +01:00
|
|
|
services.hadoop = {
|
|
|
|
inherit package;
|
|
|
|
yarn.nodemanager = {
|
|
|
|
enable = true;
|
|
|
|
openFirewall = true;
|
|
|
|
};
|
2022-02-28 16:11:43 +01:00
|
|
|
yarnSite = options.services.hadoop.yarnSite.default // {
|
2022-01-08 14:08:34 +01:00
|
|
|
"yarn.resourcemanager.hostname" = "resourcemanager";
|
|
|
|
"yarn.nodemanager.log-dirs" = "/tmp/userlogs";
|
|
|
|
};
|
2018-05-21 03:09:31 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
testScript = ''
|
2019-12-16 21:45:46 +01:00
|
|
|
start_all()
|
2018-05-21 03:09:31 +02:00
|
|
|
|
2019-12-16 21:45:46 +01:00
|
|
|
resourcemanager.wait_for_unit("yarn-resourcemanager")
|
|
|
|
resourcemanager.wait_for_unit("network.target")
|
|
|
|
resourcemanager.wait_for_open_port(8031)
|
|
|
|
resourcemanager.wait_for_open_port(8088)
|
2018-05-21 03:09:31 +02:00
|
|
|
|
2019-12-16 21:45:46 +01:00
|
|
|
nodemanager.wait_for_unit("yarn-nodemanager")
|
|
|
|
nodemanager.wait_for_unit("network.target")
|
|
|
|
nodemanager.wait_for_open_port(8042)
|
2018-05-21 03:09:31 +02:00
|
|
|
|
2020-09-16 19:01:10 +02:00
|
|
|
resourcemanager.succeed("curl -f http://localhost:8088")
|
|
|
|
nodemanager.succeed("curl -f http://localhost:8042")
|
2018-05-21 03:09:31 +02:00
|
|
|
'';
|
|
|
|
})
|