hive between Bash 3.1 and 3.2

启动hive 报错:
[hadoop@master hadoop]$ hive
/exapp/hive/hive-0.8.1/bin/hive: line 179: conditional binary operator expected
/exapp/hive/hive-0.8.1/bin/hive: line 179: syntax error near `=~'

/exapp/hive/hive-0.8.1/bin/hive: line 179: `if [[ "$HADOOP_VERSION" =~ $hadoop_version_re ]]; then'

自己查看代码


# between Bash 3.1 and 3.2
hadoop_version_re="^([[:digit:]]+)\.([[:digit:]]+)(\.([[:digit:]]+))?.*$"

if [[ "$HADOOP_VERSION" =~ $hadoop_version_re ]]; then.......


上面说的bash 版本 必须在3.1和3.2之间


查看下自己bash 版本

[hadoop@master hadoop]$ bash --version
GNU bash, version 2.05b.0(1)-release (i386-redhat-linux-gnu)
Copyright (C) 2002 Free Software Foundation, Inc.

貌似才2.05, 遂升级。

地址:http://ftp.gnu.org/gnu/bash/bash-3.1.tar.gz

下载后上传至服务器


[hadoop@master hadoop]$ ls
bash-3.1.tar.gz  hive-0.8.1.tar.gz  .....

权限不够切换用户:

[hadoop@master hadoop]$ su - root

[hadoop@master root]# mv bash-3.1.tar.gz /usr/local/src

[hadoop@master root]# cd /usr/local/src

[hadoop@master root]# tar zxvf bash-3.1.tar.gz

[hadoop@master root]# cd bash-3.1

[hadoop@master root]# ./configure

[hadoop@master root]# make

[hadoop@master root]# make install

重新登录用户,查看:

[hadoop@master hadoop]$ bash -version
GNU bash, version 3.1.0(1)-release (i686-pc-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.


[hadoop@master hadoop]$ hive
Logging initialized using configuration in file:/exapp/hive/hive-0.8.1/conf/hive-log4j.properties
Hive history file=/tmp/hadoop/hive_job_log_hadoop_201302050055_247239527.txt

hive>


进来了,搞定!








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值