• Hadoop 2.2.0启动脚本——libexec/hadoop-config.sh


    start-all.sh调用start-dfs.sh和start-yarn.sh

    start-dfs.sh和start-yarn.sh都调用libexec/hadoop-config.sh初始化环境配置

    一. libexec/hadoop-config.sh

    1. 初始化库文件环境变量,包括share/hadoop/*和lib/native,share目录是jar库文件,lib/native目录下是C/C++库文件

    2. 如果使用--config <config-dir>参数,则设置<config-dir>为自定义配置文件目录HADOOP_CONF_DIR

    3. 检测conf/hadoop-env.sh是否存在,存在则设置conf为默认配置文件目录DEFAULT_CONF_DIR,不存在则设置etc/hadoop为默认配置文件目录

    4. 设置$HADOOP_CONF_DIR为配置文件目录,不存在则设置$HADOOP_HOME/$DEFAULT_CONF_DIR为配置文件目录

    (通过export HADOOP_CONF_DIR="${HADOOP_CONF_DIR:-$HADOOP_PREFIX/$DEFAULT_CONF_DIR}"设置)

    5. HADOOP_SLAVES和HADOOP_SLAVE_NAMES,要么设置两项,要么都不设置;获取--hosts或--hostnames参数来设置两个变量 

    6. 加载$HADOOP_CONF_DIR/hadoop-env.sh 

    7. 检测IPv6,及HADOOP是否允许IPv6

    8. 设置MALLOC_ARENA_MAX,glibc虚拟内存使用相关?

    9. 检测JAVA_HOME

    10. 设置JAVA_HEAP_MAX默认值(-Xmx1000m),如果设置HADOOP_HEAPSIZE(数字,不带m),则设-Xms${HADOOP_HEAPSIZE}m

    11. 设置CLASSPATH为$HADOOP_CONF_DIR,

    $HADOOP_COMMON_DIR(share/hadoop/common)————如果存在webapps目录,

    $HADOOP_COMMON_LIB_JARS_DIR/*(share/hadoop/common/lib/*)

    $HADOOP_COMMON_DIR/*(share/hadoop/common/*)

    12. 设置LOG_DIR和LOG_FILE,设置POLICY_FILE

    13. 设置JAVA_LIBRARY_PATH为lib/native

    14. 设置TOOL_PATH为share/hadoop/tools/lib/*

    15. 设置-Dhadoop.log.dir=$HADOOP_LOG_DIR 

    -Dhadoop.log.file=$HADOOP_LOGFILE 

    -Dhadoop.home.dir=$HADOOP_PREFIX 

    -Dhadoop.id.str=$HADOOP_IDENT_STRING

    -Dhadoop.root.logger=${HADOOP_ROOT_LOGGER:-INFO,console}

    -Djava.library.path=$JAVA_LIBRARY_PATH 

    -Dhadoop.policy.file=$HADOOP_POLICYFILE 

    -Djava.net.preferIPv4Stack=true 

    设置LD_LIBRARY_PATH,export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$JAVA_LIBRARY_PATH 

    16. 设置HADOOP_HDFS_HOME为etc/hadoop/hdfs

    设置CLASSPATH,同common

    17. YARN/MAPRED同上

    18. 检测HADOOP_CLASSPATH,如果设置HADOOP_USER_CLASSPATH_FIRST,则HADOOP_CLASSPATH设置在CLASSPATH前,否则设置其后

  • 相关阅读:
    phpmyadmi 上传大文件
    wget 命令用法详解
    cuDnn的安装ubuntu16.04环境下(tensorflow正式安装之前的必备安装操作)
    ubuntu16.04 源码安装Python3.7 (可以在此基础上安装Tensorflow) (确保Tensorflow计算框架与系统的彻底隔离)
    大工软件学院 校园网登录脚本
    UML图 之 活动图 (汇总版)
    详解UML图之类图 (转)
    Java中private、protected、public和default的区别 (转)
    AI产业将更凸显个人英雄主义 周志华老师的观点是如此的有深度
    对什么样的人应该敬而远之
  • 原文地址:https://www.cnblogs.com/hujunfei/p/3617745.html
Copyright © 2020-2023  润新知