Hadoop启动脚本全面详解(3)

/usr/lib/Hadoop-hdfs/bin/hdfs
 #1.加载/usr/lib/hadoop/libexec/hdfs-config.sh,但好像没啥作用
 
#2.根据启动参数指定java的启动mainclass:
 
if [ "$COMMAND" = "namenode" ] ; then
 
  HADOOP_OPTS="$HADOOP_OPTS $HADOOP_NAMENODE_OPTS"

#3.启动Java程序
exec "$JAVA" -Dproc_$COMMAND $JAVA_HEAP_MAX $HADOOP_OPTS $CLASS "$@"

最后介绍几个配置的小例子。

1.如何指定hadoop的log目录:

从启动脚本中看几个配置的优先级排序是hadoop-env.sh>hadoop-config.sh>/etc/default/hadoop,因此我们如果想指定hadoop的log目录只需在hadoop-env.sh中添加一行:

export HADOOP_LOG_DIR=xxxxx

2.如何添加自己的jar包到hadoop中被namenode,datanode使用

export HADOOP_CLASSPATH=xxxxx

3.如何单独设定namenode的java heapsize。

比如想设置namenode10G,datanode1G,这个就有点意思了。如果直接指定HADOOP_HEAPSIZE那么此参数会作用于namenode,datanode,而单独在namenode的参数中指定也会有点小问题哦,不过基本是可以使用的。

总之,由于hadoop的启动脚本极其多而且琐碎,再加上hbase hive的启动脚本都是类似的结构,导致在添加修改一些配置时会产生很多莫名的问题,大家也可以在使用的过程中细细体会啦。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/27dea5bfb551815ab20432c31aab93ba.html