Hive远程模式安装

来源:互联网 发布:数据库服务器部署 编辑:程序博客网 时间:2024/06/05 16:13

本文使用远程模式安装Hive,将元数据存储在远程的oracle数据库中(MySQL也可以)。

=============================

安装前

1、下载所需软件

下载hive-1.2.1 http://archive.apache.org/dist/hive/
下载oracle的jdbc驱动 http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html

2、创建oracle用户

--创建用户create user hive identified by oracle;--赋予权限grant dba to hive;

===============================

安装Hive

1、解压安装并配置环境变量

解压安装:

tar -zxvf apache-hive-1.2.1-bin.tar.gzmv apache-hive-1.2.1-bin ../labc

配置环境变量:

vi /etc/profile

末尾添加

export  HIVE_HOME=/home/hadoop/labc/apache-hive-1.2.1-binexport  PATH=$PATH:$HIVE_HOME/bin

使环境变量生效,source /etc/profile

将下载的oracle的jdbc驱动放到安装目录下的lib目录下。

2、编辑配置文件

cd apache-hive-1.2.1-bin/confvi hive-site.xml

将下面的配置信息复制黏贴到hive-site.xml文件下。

<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration>  <!-- Hive Execution Parameters -->  <property>    <name>javax.jdo.option.ConnectionURL</name>     <!-- oracle URL 换成你自己的 -->    <value>jdbc:oracle:thin:@10.0.0.221:1521/ORCL</value>    <description>JDBC connect string for a JDBC metastore</description>  </property>  <property>    <name>javax.jdo.option.ConnectionDriverName</name>    <value>oracle.jdbc.driver.OracleDriver</value>    <description>Driver class name for a JDBC metastore</description>  </property>  <property>    <name>javax.jdo.option.ConnectionUserName</name>     <!-- oracle user 第一步创建的用户名 -->    <value>hive</value>                     <description>username to use against metastore database</description>  </property>  <property>    <name>javax.jdo.option.ConnectionPassword</name>     <!-- oracle password 第一步创建的用户名对应的密码 -->    <value>oracle</value>                                <description>password to use against metastore database</description>  </property></configuration>

3、启动hive

如果配置了环境变量,你可以在任意目录启动hive,只需输入hive

这里写图片描述

在oracle数据库中验证是否启动成功(如果登录成功,会在oracle中自动创建一系列表)。

此下内容在sqlplus中输入:

SQL> show user;USER is "HIVE"SQL> select * from tab;TNAME TABTYPE CLUSTERID------------------------------ ------- ----------NUCLEUS_TABLES TABLEA TABLEDBS TABLESEQUENCE_TABLE TABLESERDES TABLETBLS TABLESDS TABLEPARTITION_KEYS TABLECOLUMNS TABLEBUCKETING_COLS TABLESD_PARAMS TABLETNAME TABTYPE CLUSTERID------------------------------ ------- ----------SORT_COLS TABLESERDE_PARAMS TABLETABLE_PARAMS TABLE14 rows selected.SQL> 

==============================

启动时出现的问题

1、oracle拒绝连接

  1. 首先判定远程主机是否关闭防火墙
  2. 关闭防火墙如果还拒绝连接,请在oracle服务器的主机上查看oracle端口是否被占用,默认是1521

    netstat -aon | findstr "1521"
  3. 如果端口绑定在127.0.0.1,则远程当然连接不上,具体解决办法oracle修改监听IP地址

2、org.apache.hadoop.dfs.SafeModeException: Cannot create /tmp/hive. Name node is in safe mode

这是由于hadoo运行在安全模式,此时没法对文件系统进行操作。

解决办法:

hadoop dfsadmin -safemode leave

3、15/12/25 09:38:06 WARN conf.HiveConf: HiveConf of name hive.metastore.local does not exist

解决办法:
这是在hive-site.xml中配置了

 <property> <name>hive.metastore.local</name>  <value>true</value>  <description>controls whether to connect to remove metastore server or open a new metastore server in Hive Client JVM</description></property>

而在0.10 0.11或者之后的HIVE版本中, hive.metastore.local 属性不再使用,删除掉此属性就行。

0 0
原创粉丝点击