`

Hive的安装

 
阅读更多

 

 

环境 Centos 5.5 (32位) ,  hadoop-1.2.1   ,hive-0.14.0(替代品spark可以学一下)

 

目录:

 1 Hive 来历与作用 

 2 Hive官网

 3 Hive 安装的三种模式

 4 安装前提 (Hadoop 与mysql已经安装并测试完毕)

 5 安装Hive 

 6 配置环境变量 并生效 

 7 创建Hive的配置文件 hive-log4j.properties 和hive-site.xml 

 8 修改hive-site.xml,将数据库连接改为Mysql 

 9 创建hive在hdfs上的目录并赋予写权限 

 

 10 修改  hive-log4j.properties 和hive-site.xml 中将${system:java.io.tmpdir},替换为/home/hive/tmp/

   否者会出异常

 11 拷贝mysql的驱动包到hive/lib目录中 

 12 启动hive并测试 

-------------------------------------------------------------------------------------------------

 

 详细:

 1 Hive 来历与作用 

  Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 

  其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

 

 2 Hive官网 

  http://hive.apache.org/

 

 3 Hive 安装的三种模式

     

 

  1 内嵌模式:将元数据保存在内嵌的Derby的数据库中,优点:安装简单
    缺点:因为一个内嵌的Derby的数据库只能访问一个数据文件,这意味着这种方式不支持多回话连接,所以紧共初学者熟悉Hive使用
  2)本地模式:将元数据保存在本地独立的数据库中(如:Mysql)能够支持多用户多回话连接。
  3)远程模式:如果我们的Hive客户端比较多,在每个客户端都安装MySQL服务还是会造成一定的冗余和浪费,这种情况下,就可以更进一步,
将MySQL也独立出来,将元数据保存在远端独立的MySQL服务中。
 

 

 4 安装前提  

Hadoop 与mysql已经安装并测试完毕 

 5 安装Hive

   

tar -xvf  apache-hive-0.14.0-bin.tar.gz 

 

 

 6 配置环境变量 并生效 ,这里讲java,hadoop,pig、hive的所有文件列出来,根据需要添加到/etc/profile最后

   

export JAVA_HOME=/web/jdk1.7.0_60
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
 
export HADOOP_INSTALL=/web/hadoop-1.2.1
export PATH=$PATH:$HADOOP_INSTALL/bin:$HADOOP_INSTALL/sbin
 
export PIG_HOME=/web/pig-0.13.0
export PATH=$PATH:$PIG_HOME/bin
export PIG_CLASSPATH=/web/hadoop-1.2.1/conf
 
export HIVE_HOME=/web/apache-hive-0.14.0-bin
export PATH=$PATH:$HIVE_HOME/bin

 

 

添加环境变量后执行下面语句使环境变量配置生效 

source /etc/profile

 

 7 创建Hive的配置文件 hive-log4j.properties 和hive-site.xml 

     

cp hive-default.xml.template hive-site.xml
cp hive-log4j.properties.template hive-log4j.properties

 

   也可以复制一个hive-default.xml 文件,则hive-default.xml用于默认设置 ,hive-site.xml 用于个性化设置,可覆盖默认配置

 8 修改hive-site.xml,将数据库连接改为Mysql 

这里用户名和密码是hive,需要在mysql数据库中创建用户hive,并赋予连接权限

   

<property>
 <name>javax.jdo.option.ConnectionURL</name>         //所连接的MySQL数据库实例
  <value>jdbc:mysql://127.0.0.1:3306/hive_metadata?createDatabaseIfNotExist=true</value>
 <description>JDBC connect string for a JDBC metastore</description>
</property>
 
<property>
 <name>javax.jdo.option.ConnectionDriverName</name>  //连接的MySQL数据库驱动
 <value>com.mysql.jdbc.Driver</value>
 <description>Driver class name for a JDBC metastore</description>
</property>
 
<property>
 <name>javax.jdo.option.ConnectionUserName</name>   //连接的MySQL数据库用户名
 <value>hive</value>
 <description>username to use against metastore database</description>
</property>
 
<property>
 <name>javax.jdo.option.ConnectionPassword</name>    //连接的MySQL数据库密码
 <value>hive</value>
 <description>password to use against metastore database</description>
</property>

 

 

 9 创建hive在hdfs上的目录并赋予写权限 

   在HDFS上建立/tmp和/user/hive/warehouse目录,并赋予组用户写权限。这是Hive默认的数据文件存放目录,在hive-site.xml文件中为默认配置

 

   

hadoop-1.2.1]$ bin/hadoop fs -mkdir /tmp
hadoop-1.2.1]$ bin/hadoop fs -mkdir /usr/hive/warehouse
hadoop-1.2.1]$ bin/hadoop fs -chmod a+w /tmp
hadoop-1.2.1]$ bin/hadoop fs -chmod a+w /usr/hive/warehouse

 

 10 修改  hive-log4j.properties 和hive-site.xml 中将${system:java.io.tmpdir},替换为/home/hive/tmp/(任何一个临时目录都行)

   否者会出异常,这个参数解析不出来,具体原因不知道

   异常 :Caused by: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D

 11 拷贝mysql的驱动包到hive/lib目录中 

 驱动包mysql-connector-java-3.1.14-bin.jar复制到hive的lib目录下

 

 12 启动hive 

    hive 直接启动hive 

 

  13 测试

  1)创建表

hive> create table test(id INT,str STRING)

   > row format delimited 

   > fields terminated by ','

   > stored as textfile;

   

 

创建表的时候可能,会出现下面的异常
Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:javax.jdo.JDOException: Couldnt obtain a new sequence (unique id) : Binary logging not possible. Message: Transaction level 'READ-COMMITTED' in InnoDB is not safe for binlog mode 'STATEMENT
可能是因为元数据在mysql存储的配置问题
解决:在mysql中 set global binlog_format='MIXED'; 就可以了

   

 

  2) 查看新建的表

hive> show tables; 

 

   3)加载本地测试数据  

创建文件,内容:

1,   a

2,   b

3,   c

4,  d

5,  e

6,  f

7,  g

8, h

9,  i

10,  j

  执行加载命令:

  hive> load data local inpath '/home/hadoop/data_test.txt'

    > overwrite into table test;                         

Copying data from file:/home/hadoop/data_test.txt

Copying file: file:/home/hadoop/data_test.txt

Loading data to table default.test

OK

Time taken: 4.322 seconds

 

    4)查询前10行信息

       select * from test limit 10; 

 

    5)查询该文件中存在多少条数据,这时hive将执行一个map-reduce的过程来计算该值

    hive> select count(1) from test; 

 

 

 

分享到:
评论

相关推荐

    HIVE安装及详解

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

    大数据技术基础实验报告-Hive安装配置与应用.doc

    【大数据技术基础实验报告-Hive安装配置与应用】 在大数据处理领域,Apache Hive是一个非常重要的组件,它提供了基于Hadoop的数据仓库工具,用于数据查询、分析以及存储。本实验报告将详细阐述如何安装、配置Hive,...

    hive安装所需配置文件

    本压缩包文件"hive"可能包含了Hive安装过程中所需的配置文件,这些文件对于正确、高效地运行Hive至关重要。以下是对Hive安装配置文件的详细解释: 1. **`core-site.xml`**: 这个文件包含了Hadoop核心的配置参数,...

    hive0.13安装PPT

    hive安装

    hive安装文档

    ### Hive安装知识点详解 #### 一、Hive简介与安装目的 Hive 是基于 Hadoop 的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的 SQL 查询功能,可以将 SQL 语句转换为 MapReduce 任务进行运行...

    Hive安装与配置

    ### Hive安装与配置详解 #### 一、软件准备与环境规划 在进行Hive的安装与配置之前,首先需要对所需的软件及环境进行规划。以下为本次安装与配置的环境规划: - **操作系统**: Ubuntu - **Java版本**: Java 1.6.0...

    hive安装步骤

    6. Hive安装完成后,需要创建元数据库。Hive默认使用derby数据库,但为了生产环境的稳定性和性能,建议使用MySQL。配置文件位于$HIVE_HOME/conf目录下,需要修改hive-site.xml来指定MySQL连接信息: ```xml ...

    hive安装与python访问hive

    内容包括hive如何安装与启动,以及如何使用python访问hive,希望对大家有帮助。

    Hive安装指南,Hive 嵌入模式安装指南

    Hive安装指南,Hive 嵌入模式安装指南 Hive 是一个基于 Hadoop 的数据仓库工具,提供了 类似 SQL 的查询语言 HiveQL,能够快速地查询和分析大规模数据。Hive 安装指南将指导您完成 Hive 的安装和配置。 知识点 1: ...

    大数据教程-Hive的安装与配置.pdf

    从提供的文件内容中,我们可以提取到关于Hive安装与配置的相关知识点,同时也包括了MySQL的安装知识,因为MySQL是Hive常用的后端数据库。接下来,我将详细介绍这些知识点。 **Hive的安装与配置** 1. Hive是一个...

    hive安装依赖以及启动脚本

    hive安装依赖以及启动脚本 文件包含如下: 01_mysql-community-common-5.7.29-1.el7.x86_64.rpm 02_mysql-community-libs-5.7.29-1.el7.x86_64.rpm 03_mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm 04_...

    Hadoop之hive安装

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

    hive的安装与配置头歌.zip

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

    Hive安装讲义(linux_hive windows_mysql)

    Hive安装讲义(linux_hive windows_mysql) Hive是基于Hadoop的数据仓库工具,用于存储、查询和分析大规模数据。为了实现Hive的安装和配置,需要满足一定的前提条件和环境要求。下面是Hive安装讲义的详细步骤和相关...

    Hive安装讲义(linux_hive linux_mysql)

    Hive安装讲义(linux_hive linux_mysql) Hive安装讲义中涵盖了Hive的安装过程,包括Hadoop和MySQL的安装。下面是从给定的文件中生成的相关知识点: 一、Hadoop 安装 * Hadoop 安装是Hive 运行环境的前提条件 * ...

    CDH550@hive安装部署

    cdh5.5.0下的hive的安装部署详细操作。hive的安装其实有两部分组成,一个是Server端、一个是客户端,所谓服务端其实就是Hive管理Meta的那个Hive,服务端可以装在任何节点上,当hive服务并发量不高时推荐部署在数据...

    Hive安装配套资源.zip

    本压缩包“Hive安装配套资源.zip”提供了在Linux CentOS环境下安装Hive所需的关键组件,包括Hive安装包、MySQL连接器、环境配置文件以及Hive的配置文件。 首先,`apache-hive-3.1.2-bin.tar.gz`是Hive的安装包,...

    hive安装

    【Hive安装详解】 Hive是Apache软件基金会的一个开源项目,它提供了一个基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,使得用户可以通过类SQL的方式进行大数据处理。...

Global site tag (gtag.js) - Google Analytics