ambari集群中hadoop-env.sh的配置


      # 在这里设置特定于hadoop的环境变量.

      # 惟一需要的环境变量是JAVA_HOME。其他所有选项都是可选的。在运行分布式配置时,最好在这个文件中设置JAVA_HOME,以便正确地在上面定义它远程节点

      # 要使用的java实现。要求
      export JAVA_HOME=/home/hadoop/software/jdk1.8.0_171
      export HADOOP_HOME_WARN_SUPPRESS=1

      # Hadoop主目录
      export HADOOP_HOME=${HADOOP_HOME:-/usr/hdp/2.6.5.0-292/hadoop}

      # Hadoop配置目录

      
      # 安全HDP 2.0 datanode所需的jsvc路径
      export JSVC_HOME=/usr/lib/bigtop-utils


      # 要使用的堆的最大数量(单位为MB)。默认值为1000。
      export HADOOP_HEAPSIZE="1024"

      export HADOOP_NAMENODE_INIT_HEAPSIZE="-Xms1024m"

      # 额外的Java运行时选项。默认空.
      export HADOOP_OPTS="-Djava.net.preferIPv4Stack=true ${HADOOP_OPTS}"

      USER="$(whoami)"

      # 指定时附加到HADOOP_OPTS的命令特定选项
      HADOOP_JOBTRACKER_OPTS="-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile=/data/var/log/hadoop/$USER/hs_err_pid%p.log -XX:NewSize=200m -XX:MaxNewSize=200m -Xloggc:/data/var/log/hadoop/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xmx1024m -Dhadoop.security.logger=INFO,DRFAS -Dmapred.audit.logger=INFO,MRAUDIT -Dhadoop.mapreduce.jobsummary.logger=INFO,JSA ${HADOOP_JOBTRACKER_OPTS}"

      HADOOP_TASKTRACKER_OPTS="-server -Xmx1024m -Dhadoop.security.logger=ERROR,console -Dmapred.audit.logger=ERROR,console ${HADOOP_TASKTRACKER_OPTS}"

      
      SHARED_HADOOP_NAMENODE_OPTS="-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile=/data/var/log/hadoop/$USER/hs_err_pid%p.log -XX:NewSize=128m -XX:MaxNewSize=128m -Xloggc:/data/var/log/hadoop/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly -Xms1024m -Xmx1024m -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT"
      export HADOOP_NAMENODE_OPTS="${SHARED_HADOOP_NAMENODE_OPTS} -XX:OnOutOfMemoryError=\"/usr/hdp/current/hadoop-hdfs-namenode/bin/kill-name-node\" -Dorg.mortbay.jetty.Request.maxFormContentSize=-1 ${HADOOP_NAMENODE_OPTS}"
      export HADOOP_DATANODE_OPTS="-server -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:ErrorFile=/data/var/log/hadoop/$USER/hs_err_pid%p.log -XX:NewSize=200m -XX:MaxNewSize=200m -Xloggc:/data/var/log/hadoop/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xms1024m -Xmx1024m -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT ${HADOOP_DATANODE_OPTS} -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly"

      export HADOOP_SECONDARYNAMENODE_OPTS="${SHARED_HADOOP_NAMENODE_OPTS} -XX:OnOutOfMemoryError=\"/usr/hdp/current/hadoop-hdfs-secondarynamenode/bin/kill-secondary-name-node\" ${HADOOP_SECONDARYNAMENODE_OPTS}"

      # 下面的命令适用于多个命令(fs、dfs、fsck、distcp等)
      export HADOOP_CLIENT_OPTS="-Xmx${HADOOP_HEAPSIZE}m $HADOOP_CLIENT_OPTS"
      

      HADOOP_NFS3_OPTS="-Xmx1024m -Dhadoop.security.logger=ERROR,DRFAS ${HADOOP_NFS3_OPTS}"
      HADOOP_BALANCER_OPTS="-server -Xmx1024m ${HADOOP_BALANCER_OPTS}"


      # 在安全的数据阳极上,用户可以在删除特权后运行数据阳极
      export HADOOP_SECURE_DN_USER=${HADOOP_SECURE_DN_USER:-""}

      #额外的ssh选项。默认空
      export HADOOP_SSH_OPTS="-o ConnectTimeout=5 -o SendEnv=HADOOP_CONF_DIR"

      # 日志文件存储的地方。$ HADOOP_HOME /默认日志。
      export HADOOP_LOG_DIR=/data/var/log/hadoop/$USER

      # 历史服务器日志
      export HADOOP_MAPRED_LOG_DIR=/data/var/log/hadoop-mapreduce/$USER

      # 日志文件存储在安全数据环境中的何处.
      export HADOOP_SECURE_DN_LOG_DIR=/data/var/log/hadoop/$HADOOP_SECURE_DN_USER

      # 文件命名远程从主机。$ HADOOP_HOME / conf /默认的奴隶.
      # export HADOOP_SLAVES=${HADOOP_HOME}/conf/slaves

      # host:path 应该从哪里同步hadoop代码。默认设置.
      # export HADOOP_MASTER=master:/home/$USER/src/hadoop

      # 从命令之间的睡眠时间。默认设置。这在大型集群中非常有用,例如,在大型集群中,从rsync可能比主rsync到达得更快。
      # export HADOOP_SLAVE_SLEEP=0.1

      # pid文件存储的目录。默认/ tmp。
      export HADOOP_PID_DIR=/var/run/hadoop/$USER
      export HADOOP_SECURE_DN_PID_DIR=/var/run/hadoop/$HADOOP_SECURE_DN_USER

      # 历史服务PID
      export HADOOP_MAPRED_PID_DIR=/var/run/hadoop-mapreduce/$USER

      YARN_RESOURCEMANAGER_OPTS="-Dyarn.server.resourcemanager.appsummary.logger=INFO,RMSUMMARY"

      # 表示hadoop实例的字符串。$ USER默认情况下.
      export HADOOP_IDENT_STRING=$USER

      # 守护进程的调度优先级。见“人好”.

      # export HADOOP_NICENESS=10

      # 添加数据库库
      JAVA_JDBC_LIBS=""
      if [ -d "/usr/share/java" ]; then
      for jarFile in `ls /usr/share/java | grep -E "(mysql|ojdbc|postgresql|sqljdbc)" 2>/dev/null`
      do
      JAVA_JDBC_LIBS=${JAVA_JDBC_LIBS}:$jarFile
      done
      fi

      # 向hadoop类路径添加库——有些可能不需要冒号,因为它们已经包含冒号了
      export HADOOP_CLASSPATH=${HADOOP_CLASSPATH}${JAVA_JDBC_LIBS}

      # 设置hdfs命令行路径
      export HADOOP_LIBEXEC_DIR=/usr/hdp/2.6.5.0-292/hadoop/libexec

      # 主要是hadoop 2.0所需要的
      export JAVA_LIBRARY_PATH=${JAVA_LIBRARY_PATH}:/usr/hdp/2.6.5.0-292/hadoop/lib/native/Linux-amd64-64

      export HADOOP_OPTS="-Dhdp.version=$HDP_VERSION $HADOOP_OPTS"


      # 修正临时的错误,当ulimit从conf文件没有拾起,没有完全重新登录。只有在将DN作为根运行时才需要修复
      if [ "$command" == "datanode" ] && [ "$EUID" -eq 0 ] && [ -n "$HADOOP_SECURE_DN_USER" ]; then
      
      ulimit -n 128000
      fi

      

      # 如果需要,在zookeper znodes上启用acl
      

 

你可能感兴趣的:(hadoop)