ubuntu 平台hadoop2.6.0 按装hive 及注意事项

hive 是一个SQL 解析引擎,可以在hive 中创建表,执行sql 语句等。创建
的表是存储在hdfs 中,执行的sql 语句是通过MapReduce 执行的。可以通过执
行sql 语句来代替编写MapReduce 作业,具体安装配置方法如下:
(1)解压缩、设置环境
本文中hive 使用的版本是hive-1.1.0.tar.gz。我们在/usr/local/hadoop 目录下
解压缩、重命名文件。
tar -zxvf hive-1.1.0.tar.gz
mv hive-1.1.0 hive
在/etc/profile 中设置环境变量HIVE_HOME,指向/usr/local/hadoop /hiv e,
并把bin 目录设置到PATH 变量中如下:
#set hive
export HIVE_HOME=/usr/local/hadoop/hive
export PATH=$HIVE_HOME/bin:$PATH
(2)重命名配置文件
对conf 目录下的配置文件重命名,执行如下命令:
mv hive-env.sh.template hive-env.sh
mv hive-default.xml.template hive-site.xml
(3)修改配置信息
修改hadoop 的hadoop-env.sh(否则启动hive 汇报找不到类的错误)
export
HADOOP_CLASSPATH=.:$CLASSPATH:$HADOOP_CLASSPATH:$HADOOP_HOME/bin
修改$HIVE_HOME/bin 的hive-config.sh,增加以下内容:
#set hive option
export JAVA_HOME=/usr/java/jdk1.6.0_13      //换为自己的jdk 路径
export HADOOP_HOME=/usr/local/hadoop/hadoop-0.20.2

export HIVE_HOME=/usr/local/hadoop/hive

此时运行会有一下错误,需改正

ERROR] Terminal initialization failed; falling back to unsupported
原因是hadoop目录下存在老版本jline:
/hadoop-2.5.2/share/hadoop/yarn/lib:
解决方法是:
将hive下的新版本jline的JAR包拷贝到hadoop下:
cp /hive/apache-hive-1.1.0-bin/lib/jline-2.12.jar ./
/hadoop-2.5.2/share/hadoop/yarn/lib:  将hadoop的jline-9.9.94.jar替换为jline-2.12.jar


   Exception in thread "main" java.lang.RuntimeException: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
解决方法 
修改hive-site.xml 
<property>
    <name>hive.exec.scratchdir</name>
    <value>/tmp/hive</value>
    <description>HDFS root scratch dir for Hive jobs which gets created with write all (733) permission. For each connecting user, an HDFS scratch dir: ${hive.exec.scratchdir}/&lt;username&gt; is created, with ${hive.scratch.dir.permission}.</description>
  </property> 
  <property>
    <name>hive.exec.local.scratchdir</name>
    <value>/tmp/hive/local</value>
    <description>Local scratch space for Hive jobs</description>
  </property> 
  <property>
    <name>hive.downloaded.resources.dir</name>
    <value>/tmp/hive/resources</value>
    <description>Temporary local directory for added resources in the remote file system.</description>
  </property> 


改正后

启动hadoop 


启动hive 

ubuntu 平台hadoop2.6.0 按装hive 及注意事项_第1张图片



你可能感兴趣的:(hadoop,hive,ubuntu)