Hive1.2.2安装步骤(Ubuntu17.04环境下搭建)

来源:互联网 发布:怎么盗取淘宝装修代码 编辑:程序博客网 时间:2024/06/06 00:23

一、Hive简介

Hive是基于Hadoop文件系统上的数据仓库架构,支持类SQL语言——HiveQL,允许用户进行类似于传统关系型数据库的操作,同时允许开发人员使用MapReduce,Hive将指令解析成为一个Map-Reduce可执行计划,再交给Hadoop集 群进行处理。

二、Hive安装(以Hive1.2.2为例)

1.下载Hive安装包,官网下载
2.选择路径解压,我选择到了/usr/local/hadoop-2.8.0/hive (Hadoop也已经装好并且环境也以配置好,大家可以参考其他配置Hadoop博客)
3.配置环境变量,打开命令行

sudo vim /ect/profile

添加Hive的bin的Path

export HIVE_HOME=/usr/local/hadoop-2.8.0/hiveexport PATH=$PATH:$HIVE_HOME/bin

保存退出

在命令行中输入

source /etc/profile

4.修改Hive配置文档
在hive/conf目录下,有一个hive-default.xml.template文件,这是默认配置的一个模板,需要将该文档变成用户自定义所需要的配置文件。命令行中输入。

cd $HIVE_HOME/confsudo vim hive-site.xml

下面是我自己的配置文件

<configuration>    <property>        <name>javax.jdo.option.ConnectionUserName</name>        <value>hive</value>        <description>Username to use against metastore database</description>    </property>    <property>        <name>javax.jdo.option.ConnectionPassword</name>        <value>hive</value>        <description>password to use against metastore database</description>    </property>    <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></configuration>

其中只配置了元数据库为MySQL,其他未配置的项目都是采用Hive的默认配置。

5.此时需要在MySQL中建立一个用户名为hive,密码为hive的用户并授予权限
进入Mysql命令行之后,输入

CREATE USER ‘hive'@'%' IDENTIFIED BY 'HIVE';GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;flush privileges;

6.若需要远程访问MySQL,则需要修改”/etc/mysql/mysql.conf.d/mysqld.cnf”,注释掉bind-address这一行即可。

三、JDBC连接Hive并进行操作

需要导包”mysql-connector-java-5.1.41.jar”,将其复制到$HIVE_HOME/lib,且放入java 工程下面
启动hadoop及hive的两个service

cd /usr/local/hadoop-2.8.0/sbin/./start-all.shhive --service hiveserver2 &hive --service metastore &

成功启动后命令行输入jps查看当前状态,如下图即正确启动(有两个RunJar)
这里写图片描述

java 代码如下

public class Hive {    private static String driverName = "org.apache.hive.jdbc.HiveDriver";    private static String url = "jdbc:hive2://localhost:10000/default";    private static String username = "hive";    private static String password = "hive";    private static String hdfsUri = "hdfs://localhost:9000";    public static String selectFromHive() {        Connection con = null;        String s = "";        //注册Hive的JDBC        try {            Class.forName(driverName);            //创建连接            con = DriverManager.getConnection(url,username,password);            //Statement用来执行SQL语句            Statement stat = con.createStatement();            //展示分区            String sql = "show partitions wifi_data";            ResultSet rs = stat.executeQuery(sql);            while (rs.next()) {                System.out.println();                s +=rs.getString(1)+'\n';//hive的索引从1开始            }        } catch (ClassNotFoundException e) {            e.printStackTrace();            return null;        }  catch (SQLException e) {            e.printStackTrace();        }finally {            try {                con.close();            } catch (SQLException e) {                e.printStackTrace();            }        }        return s;    }}

运行截图如下:
这里写图片描述

1 0
原创粉丝点击