博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hive基础之Hive环境搭建
阅读量:4582 次
发布时间:2019-06-09

本文共 2982 字,大约阅读时间需要 9 分钟。

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/confcp hive-env.sh.template hive-env.shvi 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

javax.jdo.option.ConnectionURL
jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
javax.jdo.option.ConnectionUserName
root
javax.jdo.option.ConnectionPassword
root

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

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

  
hive.metastore.warehouse.dir
  
/user/hive/warehouse

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中添加

hive.hwi.war.file
lib/hive-hwi-0.12.0-cdh5.0.0.jar

启动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 

转载于:https://www.cnblogs.com/luogankun/p/3901717.html

你可能感兴趣的文章
activity生命周期
查看>>
动画学习之Music图形绘制
查看>>
2019 2.15模拟赛
查看>>
基于H5 pushState实现无跳转页面刷新
查看>>
关于同余与模运算的总结
查看>>
js中top、clientTop、scrollTop、offsetTop的区别 文字详细说明版
查看>>
【转载】法线贴图Nomal mapping 原理
查看>>
prado 初步分析
查看>>
php 做守护进程1
查看>>
简单员工管理实例
查看>>
SAP 到出XLS
查看>>
HSV
查看>>
JAVA程序中SQL语句无法传递中文参数
查看>>
Android学习_数据库查询使用rawQuery遇到的问题
查看>>
|待研究|委托付款的支付状态触发器
查看>>
redis集群中的主从复制架构(3主3从)
查看>>
初始Linux(其实之前接触过(*^__^*) 嘻嘻……)
查看>>
一些多项式的整理
查看>>
NIO selector
查看>>
MySQL中DATETIME、DATE和TIMESTAMP类型的区别
查看>>