hive 脚本

本文介绍Hive启动脚本的配置细节,包括如何通过环境变量设置Hadoop的内存分配大小,以及如何通过脚本确定Hive安装目录的具体路径。此外,还介绍了如何设置和服务调用相关的关键参数。

hive 

bin=`dirname "$0"` 
bin=`cd "$bin"; pwd` 
//$0 命令行的第一个参数,代表命令本身(当前Shell程序的文件名) 
//dirname $0,获取当前Shell程序的路径(返回命令的路径) 
// 

. "$bin"/hive-config.sh  //运行hive-config.sh 


if [ "$SERVICE" = "" ] ; then 
  if [ "$HELP" = "_help" ] ; then 
    SERVICE="help" 
  else 
    SERVICE="cli"   //默认是cli 
  fi 
fi 




hive-config.sh : 

this="$0" 
while [ -h "$this" ]; do 
  ls=`ls -ld "$this"` 
  link=`expr "$ls" : '.*-> /(.*/)$'` 
  if expr "$link" : '.*/.*' > /dev/null; then 
    this="$link" 
  else 
    this=`dirname "$this"`/"$link" 
  fi 
done 

# convert relative path to absolute path 
bin=`dirname "$this"` 
script=`basename "$this"` 
bin=`cd "$bin"; pwd` 
this="$bin/$script" 

basename 
从文件名中去掉路径信息, 只打印出文件名. 结构 basename $0 可以让脚本知道它自己的名字, 也就是, 它被调用的名字. 可以用来显示用法信息, 比如如果你调用脚本的时候缺少参数, 可以使用如下语句: 
echo "Usage: `basename $0` arg1 arg2 ... argn" 

dirname 
从带路径的文件名中去掉文件名, 只打印出路径信息. 

basename 和 dirname 可以操作任意字符串. 参数可以不是一个真正存在的文件, 甚至可以不是一个文件名 

# the root of the Hadoop installation 
export HIVE_HOME=`dirname "$bin"` 

# Allow alternate conf dir location. 
HIVE_CONF_DIR="${HIVE_CONF_DIR:-$HIVE_HOME/conf}" 
export HADOOP_HEAPSIZE=${HADOOP_HEAPSIZE:-256} 
//  ${HADOOP_HEAPSIZE:-256}  若HADOOP_HEAPSIZE为空或未设置,则用256代替。 
${parameter:-word} 若parameter为空或未设置,则用word代替parameter进行替换,parameter的值不变。   变量替换。 


hive的脚本hive-0.6.0/bin/hive会调用运行bin/hive-config.sh、bin/ext/、bin/ext/util下面的脚本,最终会调用hadoop-0.20.2/conf/hadoop-env.sh、hadoop-0.20.2/bin/hadoop-config.sh、hadoop-0.20.2/conf/hadoop。 
所以需要在.bashrc或者bin/hive-config.sh里面设置HADOOP_HOME并export。 

跟踪进入hadoop的脚本hadoop-0.20.2/bin/hadoop 

exec /usr//bin/java 
-Dhadoop.log.dir=/home/tianzhao/hive/hadoop-0.20.2/bin/../logs -Dhadoop.log.file=hadoop.log 
-Dhadoop.home.dir=/home/tianzhao/hive/hadoop-0.20.2/bin/.. -Dhadoop.id.str= -Dhadoop.root.logger=INFO,console 
-Djava.library.path=/home/tianzhao/hive/hadoop-0.20.2/bin/../lib/native/Linux-i386-32 -Dhadoop.policy.file=hadoop-policy.xml 
org.apache.hadoop.util.RunJar 
/home/tianzhao/hive/hive-0.6.0/lib/hive-cli-0.6.0.jar 
org.apache.hadoop.hive.cli.CliDriver 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值