Hive默认元数据信息存储在Derby里,Derby内置的关系型数据库、单Session的(只支持单客户端连接,两个客户端连接过去会报错);

Hive支持将元数据存储在关系型数据库中,比如:Mysql/Oracle;

本案例采用的是将hive的元数据存储在MySQL中,故需要先安装MySQL数据库,使用的是CentOS6.4版本。

MySQL安装

采用yum安装方式安装:

yum install mysql     #安装mysql客户端
yum install mysql-server #安装mysql服务端

判断MySQL是否已经安装好:

chkconfig --list|grep mysql

启动mysql服务:

service mysqld start
或者
/etc/init.d/mysqld start

检查是否启动mysql服务:

/etc/init.d/mysqld status

设置MySQL开机启动:

chkconfig mysqld on 

检查设置MySQL开机启动是否配置成功:

chkconfig --list|grep mysql

显示2 3 4 5为on表示开机启动配置成功

创建MySQL的root管理员帐号:

mysqladmin -uroot password root

登录MySQL

mysql -uroot -proot

Hive安装

安装依赖

Hive安装所需要的依赖:

1)JDK6以上;

2)Hadoop安装完毕;

安装版本

hive-0.12.0-cdh5.0.0.tar.gz

下载地址:http://archive.cloudera.com/cdh5/cdh/5/

一般hive是安装在NameNode上

安装步骤

1)解压

tar -zxvf hive-0.12.0-cdh5.0.0.tar.gz -C /app

2)修改Hive配置文件

cd /app/hive-0.12.0-cdh5.0.0/conf
cp hive-env.sh.template hive-env.sh
vi hive-env.sh
HADOOP_HOME=/app/hadoop-2.3.0-cdh5.0.0 #多hadoop集群中需要手工指向你需要的hadoop集群
export HIVE_CONF_DIR=/app/hive-0.12.0-cdh5.0.0/conf #多hive集群中需要手工指向安装hive的conf目录

hive-site.xml配置成如下

如果hive-site.xml文件不存在,则从hive-default.xml.template拷贝一份

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

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
</property> <property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property> <property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property> <property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
</property>
</configuration>

注意:此处的hive数据库不需要手工创建,在hive正常启动后,会自动创建hive数据库;hive启动成功会在mysql的hive数据库中自动创建一系列的表;

hive默认数据存储的目录是: /user/hive/warehouse,也可以手工指定

<property>
  <name>hive.metastore.warehouse.dir</name>
  <value>/user/hive/warehouse</value>
</property>

3)拷贝mysql驱动包到hive/lib

cp /home/hadoop/software/mysql-connector-java-5.1.17-bin.jar /app/hive-0.12.0-cdh5.0.0/lib/

4)为用户分配权限

在mysql中执行如下命令:

grant all on hive.* to root@'%' identified by 'root' WITH GRANT OPTION ;

意思是hive数据库中的任何对象都给任意主机的root用户以密码为root的方式远程访问。

5)配置环境变量

配置HIVE_HOME以及将$HIVE_HOME/bin添加到path中,方便操作

6)启动

在linux命令行执行:hive   因为已经将$HIVE_HOME/bin添加到bin中,所以直接使用hive即可

补充:

A)hive指定日志级别方式启动:

hive --hiveconf hive.root.logger=DEBUG,console

B)启动hive远程访问(thriftserver方式),比如java代码调用hive

hive --service hiveserver &

C)浏览器访问方式

在hive-site.xml中添加

<property>
<name>hive.hwi.war.file</name>
<value>lib/hive-hwi-0.12.0-cdh5.0.0.jar</value>
</property>

启动Hive的UI

hive --service hwi

浏览器访问:http://hostname:9999/hwi

Hive常用命令

先介绍几个Hive常用的命令,后续会详细介绍各种命令的用法

查看所有数据库: show databases

切换到hive数据库: use hive

显示hive数据库下的所有表: show tables

创建表: create table test(id int, name string)

查看表结构。仅包含字段信息: desc table_name

查看表结构详细信息。不仅包含字段信息,还包含存储路径等信息: desc extended table_name

查看function: desc function function_name

Hive基础之Hive环境搭建的更多相关文章

  1. Appium基础知识与环境搭建

    基础知识:  环境搭建: 1.安装jdk,配置java环境变量 (1)新建变量"JAVA_HOME",变量值"D:\Frameworks\Java\jdk1.8.0_18 ...

  2. Python基础学习之环境搭建

    Python如今成为零基础编程爱好者的首选学习语言,这和Python语言自身的强大功能和简单易学是分不开的.今天我们将带领Python零基础的初学者完成入门的第一步——环境搭建.本文会先来区分几个在P ...

  3. Hadoop基础教程-运行环境搭建

    一.Hadoop是什么 一个分布式系统基础架构,由Apache基金会所开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速运算和存储. Hadoop实现了一个分布式 ...

  4. Maven基础:Maven环境搭建及基本使用(1)

    1. Maven环境搭建 1.1 Maven简介 1.2 Maven下载及环境设置 Maven下载地址:http://maven.apache.org/download.cgi 当前下载版本:apac ...

  5. Spring MVC基础知识整理➣环境搭建和Hello World

    概述 Spring MVC属于SpringFrameWork的产品,采用Model-View-Controller进行数据交互,已经融合在Spring Web Flow里面.Spring 框架提供了构 ...

  6. Hive基础之Hive体系架构&运行模式&Hive与关系型数据的区别

    Hive架构 1)用户接口: CLI(hive shell):命令行工具:启动方式:hive 或者 hive --service cli ThriftServer:通过Thrift对外提供服务,默认端 ...

  7. Java基础学习之基础概念与环境搭建(1)

    1.Java基础概念 1.1.Java语言的特点 Java语言是简单易学的 Java语言是面向对象(封装.继承和多态) Java语言是平台无关的(一次编译,到处运行) Java语言是可靠的.安全的(异 ...

  8. 1. react 基础 简介 及 环境搭建

    一.简介 由 Facebook 推出 2013 年 开源 的 函数式编程的 使用人数最多的 前端框架 拥有健全的文档与完善的社区 ( 官网 ) react 16 称为 React Fiber ( 底层 ...

  9. python从零开始基础入门——开发环境搭建:Visual Studio Code

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:山海皆可平z PS:如有需要Python学习资料的小伙伴可以加点击下方 ...

随机推荐

  1. iOS runtime实用篇--和常见崩溃say good-bye

    源码 https://github.com/chenfanfang/AvoidCrash 程序崩溃经历 其实在很早之前就想写这篇文章了,一直拖到现在. 程序崩溃经历1 我们公司做的是股票软件,但集成的 ...

  2. U-Boot_bmp_logo_hacking

    /*********************************************************************** * U-Boot_bmp_logo_hacking * ...

  3. liunx系统和其它的基本命令

    1.su   更换用户 2.sudo   管理员权限 3.PATH 4.sudo shutdown -h now   现在关机 sudo shutdown -r now   现在重启 5.kill   ...

  4. Unity3D游戏-愤怒的小鸟游戏源码和教程(二)

    Unity愤怒的小鸟游戏教程(二) 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) AngryEva游戏效果 ...

  5. HTML5和CSS3阶段,我是如何学习的?

    经过一个月的学习,我收获了许多,今天的测验是做一个企业中文网站,令我自己感到吃惊的是,我前前后后用了4个小时就完成了,这在一个月前根本不可能,因为对布局属性的理解还不够深刻,常常会在调试中浪费大量时间 ...

  6. 使用EntityFramework6完成增删查改CRUD和事务

    使用EntityFramework6完成增删查改和事务 上一节我们已经学习了如何使用EF连接MySQL数据库,并简单演示了一下如何使用EF6对数据库进行操作,这一节我来详细讲解一下. 使用EF对数据库 ...

  7. JVM(下)

    持久代:不会被 gc 给轻易回收的,创建后一直存在,持久代在堆内存里面,但是不归 java 程序使用.持久代是 动态 load 的那些 class,局部变量,去 gc 其实也 gc 不了啥 1.8 之 ...

  8. NPOI控制Excel格式

    1.//sheet.SetColumnWidth(3, 50 * 256);  控制第三列宽,单位为1/256个字符 dataRow.Height = 18 * 20; 控制行高,单位为1/20点 s ...

  9. LOJ 164 【清华集训2015】V——线段树维护历史最值

    题目:http://uoj.ac/problem/164 把操作改成形如 ( a,b ) 表示加上 a 之后对 b 取 max 的意思. 每个点维护当前的 a , b ,还有历史最大的 a , b 即 ...

  10. bzoj 4484 [Jsoi2015]最小表示——bitset

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4484 每个点上存一下它到每个点的连通性.用 bitset 的话空间就是 \( \frac{n ...