日本乱偷中文字幕,美女脱内衣18禁免费看,亚洲国产精品丝袜在线观看,18女人腿打开无遮挡,廖承宇chinese野战做受

container-executor 詳解

簡(jiǎn)介

container-executor 是NodeManager管理Container很重要的一個(gè)工具,是深入學(xué)習Yarn作業(yè)調度不可缺少的一個(gè)知識點(diǎn),值得深入學(xué)習。本文只描述比較基礎的功能點(diǎn)(目前不會(huì )包含Docker相關(guān))。

核心功能點(diǎn)

checksetup

主要是檢查container-executor的配置是否ok,沒(méi)有其他功能。核心代碼如下:

case CHECK_SETUP:
  //we already did this 
  exit_code = 0;
  break;

mount-cgroups

在配置項feature.mount-cgroup.enabled為true的時(shí)候為nodemanager掛載cgroup。核心是調用系統函數mount。下面代碼中的是配置的掛載點(diǎn)。由命令行參數傳入。

if (mount("none", mount_path, "cgroup", 0, controller) == 0) {
  // 掛載成功
    if (mkdirs(hier_path, perms) == 0) {
        change_owner(hier_path, nm_uid, nm_gid);
        // 修改子目錄權限。
        chown_dir_contents(hier_path, nm_uid, nm_gid);
    }
}

exec-container

前提條件:配置feature.terminal.enabled=true

當前功能的核心實(shí)現在container-executor.c的函數int exec_container(const char *command_file)中。
在非Docker模式下,主要步驟如下:

// 切換用戶(hù)
if (change_user(user_detail->pw_uid, user_detail->pw_gid) != 0) {
  _exit(DOCKER_EXEC_FAILED);
}
// 切換工作目錄
ret = chdir(workdir);
if (ret != 0) {
  fprintf(ERRORFILE, "chdir failed - %s", strerror(errno));
  _exit(DOCKER_EXEC_FAILED);
}
// 執行啟動(dòng)腳本。
execve(binary, args, env);
fprintf(ERRORFILE, "exec failed - %s\n", strerror(errno));
_exit(DOCKER_EXEC_FAILED);

最后會(huì )執行配置launch-command中的命令。當前步驟的核心應該主要是判斷當前用戶(hù)是否有權限啟動(dòng)Container。

啟動(dòng)Container

真正啟動(dòng)Container,參數格式如下:

container-executor <user> <yarn-user> <command> <command-args>
源代碼中的解釋如下:

fprintf(stream,
    "       container-executor <user> <yarn-user> <command> <command-args>\n"
    "       where command and command-args: \n" \
    "            initialize container:  %2d appid containerid tokens nm-local-dirs "
    "nm-log-dirs cmd...\n"
    "            launch container:      %2d appid containerid workdir "
    "container-script tokens http-option pidfile nm-local-dirs nm-log-dirs resources ",
    INITIALIZE_CONTAINER, LAUNCH_CONTAINER);

可以看出提供了兩個(gè)功能:

  • 初始化Container。
  • 啟動(dòng)Container。



標 題:《container-executor 詳解
作 者:zeekling
提 示:轉載請注明文章轉載自個(gè)人博客:浪浪山旁那個(gè)村

    評論
    0 評論
avatar

取消
日本乱偷中文字幕,美女脱内衣18禁免费看,亚洲国产精品丝袜在线观看,18女人腿打开无遮挡,廖承宇chinese野战做受