說明: 某天 ,把hadoop-env。sh的注釋看了看 , 感覺受益匪淺,於是想要寫一篇告訴大家,文檔是最靠譜的,鑒於我的水平有限,只能翻譯大概,切勿吐槽,提建議請留言
摘要:
1.這個文件中只有JAVA_HOME是必須要寫的,其他的都是有默認值的PS 這個變量最好寫地址, 而不要寫${JAVA_HOME}
# Set Hadoop-specific environment variables here.
在這個文件中設置hadoop特有的環境變量
# The only required environment variable is JAVA_HOME. All others are
# optional. When running a distributed configuration it is best to
# set JAVA_HOME in this file, so that it is correctly defined on
# remote nodes.
這里只要求JAVA_HOME的環境變量 , 其他的都是可選的。正確運行這個分布式的配置文件時,
最好在這個文件里面設置JAVA_HOME ,所以在遠程的節點中也要正確的定義它
# The java implementation to use. Required.
# export JAVA_HOME=/usr/lib/j2sdk1.5-sun
使用一個符合java的 , 這是必須要求的。
export JAVA_HOME=“《寫入你的JDK所在位置》”
# Extra Java CLASSPATH elements. Optional. 額外的java的alsspath元素 ,這個是可選的
# export HADOOP_CLASSPATH=
# The maximum amount of heap to use, in MB. Default is 1000. Heap區使用的大小,默認是1000M
# export HADOOP_HEAPSIZE=2000
# Extra Java runtime options. Empty by default. java的運行選項,有默認值
# export HADOOP_OPTS=-server
# Command specific options appended to HADOOP_OPTS when specified以下指定的選項追加到HADOOP_OPTS中
export HADOOP_NAMENODE_OPTS="-Dcom.sun.management.jmxremote $HADOOP_NAMENODE_OPTS"
export HADOOP_SECONDARYNAMENODE_OPTS="-Dcom.sun.management.jmxremote $HADOOP_SECONDARYNAMENODE_OPTS"
export HADOOP_DATANODE_OPTS="-Dcom.sun.management.jmxremote $HADOOP_DATANODE_OPTS"
export HADOOP_BALANCER_OPTS="-Dcom.sun.management.jmxremote $HADOOP_BALANCER_OPTS"
export HADOOP_JOBTRACKER_OPTS="-Dcom.sun.management.jmxremote $HADOOP_JOBTRACKER_OPTS"
# export HADOOP_TASKTRACKER_OPTS=
# The following applies to multiple commands (fs, dfs, fsck, distcp etc)
# export HADOOP_CLIENT_OPTS
# Extra ssh options. Empty by default.SSH的選項,有默認值
# export HADOOP_SSH_OPTS="-o ConnectTimeout=1 -o SendEnv=HADOOP_CONF_DIR"
# Where log files are stored. $HADOOP_HOME/logs by default. 指明日志放在哪里,$HADOOP_HOME/logs 是默認值
# export HADOOP_LOG_DIR=${HADOOP_HOME}/logs
# File naming remote slave hosts. $HADOOP_HOME/conf/slaves by default.指定從哪個 遠程的從節點的主機名, $HADOOP_HOME/conf/slaves 是默認讀取的文件
# export HADOOP_SLAVES=${HADOOP_HOME}/conf/slaves
# host:path where hadoop code should be rsync'd from. Unset by default.
# export HADOOP_MASTER=master:/home/$USER/src/hadoop
# Seconds to sleep between slave commands. Unset by default. This
# can be useful in large clusters, where, e.g., slave rsyncs can
# otherwise arrive faster than the master can service them.
# export HADOOP_SLAVE_SLEEP=0.1
在salve命令中 , 沒有設置的話使用默認值。 這個在大型的集群里面很有用
# The directory where pid files are stored. /tmp by default.
# NOTE: this should be set to a directory that can only be written to by
# the users that are going to run the hadoop daemons. Otherwise there is
# the potential for a symlink attack.
# export HADOOP_PID_DIR=/var/hadoop/pids
指定PID文件放在那里 。默認是/tmp by default.
注意:應該設置一個用戶可以在hadoop運行的守護進程 , 否則會有潛在的符號鏈接的攻擊
# A string representing this instance of hadoop. $USER by default. 一個代表hadoop實例的字符串 , 默認是$USER
# export HADOOP_IDENT_STRING=$USER
# The scheduling priority for daemon processes. See 'man nice'. 一個為守護進程調節優先級的進程
# export HADOOP_NICENESS=10
export JAVA_HOME=/usr/java/jdk1.7.0_76