`

安装Hive

阅读更多
http://archive.cloudera.com/cdh/3/中下载hive-0.7.1-cdh3u1.tar.gz。
在安装了Hadoop的namenode上解压Hive:
$tar zxvf hive-0.7.1-cdh3u1.tar.gz -C /home/hadoop/cdh3 


修改hive安装目录下/conf/hive-env.sh.template中的HADOOP_HOME为实际的Hadoop安装目录;
添加环境变量
$sudo gedit /etc/profile

引用
export HIVE_HOME=/home/hadoop/cdh3/hive-0.7.1-cdh3u1
export PATH=$PATH:HIVE_HOME/bin


然后启动Hive
$hive

如果能够进入Hive的shell页面,并能浏览,则表示Hive已经可以使用了。
引用

hadoop@ubuntu:~$ hive
Hive history file=/tmp/hadoop/hive_job_log_hadoop_201110241652_1651346475.txt
hive> show tables;
OK
Time taken: 3.496 seconds


在安装过程中,第一次启动Hive没有成功,后来在网上查到原因如下,并成功解决:
错误如下:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hive/conf/HiveConf
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:247)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:149)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)


解决方法是,安装Hadoop时,修改Hadoop目录下/conf/hadoop-env.sh时,添加HADOOP_CLASSPATH变量覆盖了原有的变量,改成如下的形式即可:
HADOOP_CLASSPATH=$HADOOP_CLASSPATH:....
红色为添加部分。问题解决。

这样安装的元数据保持在内嵌的数据库Derby中,只能允许一个会话连接,如果要支持多用户多会话,则需要一个独立的元数据库,目前比较流行的是使用MySQL,下面进行配置。

1)安装好MySQL服务器端和MySQL客户端,并启动MySQL服务。
http://wadefall.iteye.com/admin/blogs/1209545

2)为Hive建立相应的MySQL帐号,并赋予足够的权限
进入MySQL控制台:
mysql -uroot -p

建立hive帐号
CREATE USER 'hive' IDENTIFIED BY 'hive';

赋予权限
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;


用hive帐号测试远程登录
mysql -h localhost -u hive -p


3) 建立Hive专用的元数据库
create database hive


4)在本地安装MySQL客户端

5)在Hive的conf目录下修改配置文件hive-site.xml(如果没有该文件,复制hive-default.xml并改名为hive-site.xml),配置文件修改如下,红色部分为修改内容
<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
  <description>JDBC connect string for a JDBC metastore</description>
</property>

<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
  <description>Driver class name for a JDBC metastore</description>
</property>

<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>root</value>
  <description>username to use against metastore database</description>
</property>

<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>root123</value>
  <description>password to use against metastore database</description>
</property>



6)把MySQL的JDBC驱动包(我使用的是mysql-connector-java-5.1.16-bin.jar)复制到Hive的lib目录下。

7)启动Hive shell,执行
show tables;

如果不报错,表明基于独立元数据库的Hive已经安装成功了。

查看一下元数据的效果。
在Hive上建立数据表
CREATE TABLE my(id INT,name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';

show tables;

select name from my;


然后我们以刚刚建立的hive帐号登录MySQL查看元数据信息。
引用
mysql> use hive
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

mysql> show tables;
+-----------------+
| Tables_in_hive  |
+-----------------+
| BUCKETING_COLS  |
| COLUMNS         |
| DATABASE_PARAMS |
| DBS             |
| PARTITION_KEYS  |
| SDS             |
| SD_PARAMS       |
| SEQUENCE_TABLE  |
| SERDES          |
| SERDE_PARAMS    |
| SORT_COLS       |
| TABLE_PARAMS    |
| TBLS            |
+-----------------+
13 rows in set (0.00 sec)

mysql> select * from TBLS;
+--------+-------------+-------+------------------+--------+-----------+-------+----------+---------------+--------------------+--------------------+
| TBL_ID | CREATE_TIME | DB_ID | LAST_ACCESS_TIME | OWNER  | RETENTION | SD_ID | TBL_NAME | TBL_TYPE      | VIEW_EXPANDED_TEXT | VIEW_ORIGINAL_TEXT |
+--------+-------------+-------+------------------+--------+-----------+-------+----------+---------------+--------------------+--------------------+
|      1 |  1319445990 |     1 |                0 | hadoop |         0 |     1 | my       | MANAGED_TABLE | NULL               | NULL               |
+--------+-------------+-------+------------------+--------+-----------+-------+----------+---------------+--------------------+--------------------+
1 row in set (0.00 sec)

在TBLS中可以看到Hive表的元数据。


Hive web service,Hive web接口,启动方法:
https://cwiki.apache.org/confluence/display/Hive/HiveWebInterface
export ANT_LIB=$ANT_HOME/lib

hive --service hwi


然后打开http://ip:9999/hwi/就能看到Hive的web页面。
分享到:
评论

相关推荐

    hive客户端安装_hive客户端安装_hive_

    本教程将详细讲解如何在Linux环境下安装Hive客户端,以便进行数据操作和分析。 一、Hadoop环境准备 在安装Hive客户端之前,确保你已经安装了Hadoop并且集群处于正常运行状态。Hadoop是Hive的基础,提供了分布式存储...

    windows下安装hive2.3.3缺少的可执行文件

    windows10下安装hive2.3.3的时候,无法执行hive命令,原因是官方下载文件中缺少可执行文件(好多个cmd文件),安装的时候无法执行成功。下载后,解压替换hive的bin目录即可执行成功。

    linux下安装hive2.3.6(完全分布式下).docx

    本文档将指导您在 Linux 中安装和配置 Hive 2.3.6,包括环境准备、Hive 元数据库的建立、下载和安装 Hive、配置 Hive 环境等步骤。 一、环境准备 在开始安装 Hive 之前,我们需要准备好环境,包括 CentOS 7、...

    Hive-2.3.3在window安装需要的cmd相关

    下面我们将详细介绍在Windows上安装Hive 2.3.3所需的CMD相关步骤。 首先,你需要下载Hive 2.3.3的二进制包,这个包通常包含了运行Hive所需的所有文件。解压缩下载的文件后,你会看到一个名为“bin”的目录,这个...

    HIVE安装及详解

    "HIVE安装及详解" HIVE是一种基于Hadoop的数据仓库工具,主要用于处理和分析大规模数据。下面是关于HIVE的安装及详解。 HIVE基本概念 HIVE是什么?HIVE是一种数据仓库工具,主要用于处理和分析大规模数据。它将...

    Hadoop上安装Hive的压缩包

    现在我们来详细探讨在Hadoop上安装Hive的过程及相关知识点。 Hadoop上的Hive安装涉及环境准备、Hive压缩包的下载和解压、配置文件修改、服务启动等多个步骤。理解这些知识点对于在大数据环境中高效地使用Hive进行...

    在CentOS7中安装Hive1.2.2

    "在 CentOS 7 中安装 Hive 1.2.2" Hive 是基于 Hadoop 的数据仓库工具,用于数据分析和查询。下面是安装 Hive 1.2.2 在 CentOS 7 中的步骤。 准备安装文件 首先,需要在 Windows 中下载 Hive 1.2.2 安装文件,...

    第7集-Hadoop环境搭建 - linux(centos7) - 安装配置hive2.1.1.pdf

    在开始安装Hive之前,确保已经完成了以下步骤: 1. **SSH免密码登录**: 通过公钥认证实现无密码登录,以便于后续的集群操作。 2. **JDK 1.8安装配置**: Hive 2.1.1 要求JDK 1.8 或以上版本。 3. **Hadoop 2.7.7安装...

    Ubuntu下安装hive数据库

    ### Ubuntu下安装Hive数据库知识点总结 #### 一、前言 Hive 是一个基于 Hadoop 的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的 SQL 查询功能,使得 Hadoop 更好的发挥处理大数据的能力。...

    spark下安装hive配置文件hive-site.xml

    spark下安装hive标准配置文档。Ubuntu安装hive,并配置mysql作为元数据库时候需要的标准hive-site.xml配置文件,可以根据这个文件联系我的博文内容就行修改,避免入坑。实现快捷启动hive。

    Hadoop之hive安装

    本篇文章将指导您如何在CentOS 6.4下安装Hive,并解决可能遇到的错误。 环境及软件介绍 本篇文章使用的环境是CentOS 6.4-x86_64-bin-DVD1.iso,软件版本为Hadoop 2.2.0和Hive 0.12.0,以及MySQL 5.1.66。 MySQL ...

    CentOS7.x安装hive.pdf

    在CentOS7.x上安装Hive涉及到一系列配置步骤,包括准备环境、解压安装包、配置数据库、编辑配置文件和设置环境变量等。在安装过程中,需要确保已经安装好了Java环境,且MySQL数据库服务可以正常运行。 2. Hive简介...

    centos7中hive的安装和使用

    CentOS 7 中 Hive 的安装和使用 Hive 是一个基于 Hadoop 的数据仓库工具,主要用于存储、查询和分析大规模数据。下面将详细介绍 CentOS 7 中 Hive 的安装和使用。 1. 安装 MySQL 在安装 Hive 之前,需要先安装 ...

    一键安装jdk+mysql+hadoop+hive+zeppelin.rar

    6. 安装Hive,创建metastore数据库,配置连接MySQL的参数。 7. 安装Zeppelin,配置其与Hadoop、Hive的连接。 8. 编写启动和停止脚本,方便管理和监控服务状态。 通过这种方式,用户无需逐个手动安装和配置组件,...

    hive的安装与配置头歌.zip

    在本压缩包中,"文档.pdf" 和 "资料必看.zip" 可能包含了关于 Hive 安装与配置的详细步骤和指南。现在,我们将深入探讨 Hive 的安装与配置过程。 首先,安装 Hive 需要先确保你已经安装了 Hadoop 环境,因为 Hive ...

    Hive1.2.1安装指南

    本文档将详细介绍如何安装Hive 1.2.1版本,并解决在安装过程中可能遇到的一个常见错误。Hive是一款基于Hadoop的数据仓库工具,可以将结构化的数据文件映射成一张表,并提供SQL查询功能。通过Hive,用户可以使用SQL...

Global site tag (gtag.js) - Google Analytics