Hive基础之Hive环境搭建
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环境搭建的更多相关文章
- Appium基础知识与环境搭建
基础知识: 环境搭建: 1.安装jdk,配置java环境变量 (1)新建变量"JAVA_HOME",变量值"D:\Frameworks\Java\jdk1.8.0_18 ...
- Python基础学习之环境搭建
Python如今成为零基础编程爱好者的首选学习语言,这和Python语言自身的强大功能和简单易学是分不开的.今天我们将带领Python零基础的初学者完成入门的第一步——环境搭建.本文会先来区分几个在P ...
- Hadoop基础教程-运行环境搭建
一.Hadoop是什么 一个分布式系统基础架构,由Apache基金会所开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速运算和存储. Hadoop实现了一个分布式 ...
- Maven基础:Maven环境搭建及基本使用(1)
1. Maven环境搭建 1.1 Maven简介 1.2 Maven下载及环境设置 Maven下载地址:http://maven.apache.org/download.cgi 当前下载版本:apac ...
- Spring MVC基础知识整理➣环境搭建和Hello World
概述 Spring MVC属于SpringFrameWork的产品,采用Model-View-Controller进行数据交互,已经融合在Spring Web Flow里面.Spring 框架提供了构 ...
- Hive基础之Hive体系架构&运行模式&Hive与关系型数据的区别
Hive架构 1)用户接口: CLI(hive shell):命令行工具:启动方式:hive 或者 hive --service cli ThriftServer:通过Thrift对外提供服务,默认端 ...
- Java基础学习之基础概念与环境搭建(1)
1.Java基础概念 1.1.Java语言的特点 Java语言是简单易学的 Java语言是面向对象(封装.继承和多态) Java语言是平台无关的(一次编译,到处运行) Java语言是可靠的.安全的(异 ...
- 1. react 基础 简介 及 环境搭建
一.简介 由 Facebook 推出 2013 年 开源 的 函数式编程的 使用人数最多的 前端框架 拥有健全的文档与完善的社区 ( 官网 ) react 16 称为 React Fiber ( 底层 ...
- python从零开始基础入门——开发环境搭建:Visual Studio Code
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:山海皆可平z PS:如有需要Python学习资料的小伙伴可以加点击下方 ...
随机推荐
- Codeforces Round #252 (Div. 2) D
http://codeforces.com/problemset/problem/441/D 置换群的基本问题,一个轮换内交换成正常顺序需要k-1次,k为轮换内元素个数 两个轮换之间交换元素,可以把两 ...
- 如何用移动硬盘安装win7 系统
身边没有U盘和光盘,就只有一个移动硬盘.移动硬盘安装系统是怎么进行的.在这里小毛孩来给大家上一课. 前期准备: 1.移动硬盘. 2.win7 32位的操作系统(*.iso). 3.有系统且可开机的电脑 ...
- HihoCoder - 1886 :中位数2(贪心)
描述 对于一个长度为n的数列A,我们如下定义A的中位数med(A): 当n是奇数时,A的中位数是第(n+1)/2大的数:当n是偶数时,A的中位数是第n/2大的数和第n/2+1大的数的平均值. 同时,我 ...
- URAL - 1397:Points Game (博弈,贪心)
Two students are playing the following game. There are 2· n points on the plane, given with their co ...
- 前端css规范
文章整理了Web前端开发中的各种CSS规范,包括文件规范.注释规范.命名规范.书写规范.测试规范等. 一.文件规范 1.文件均归档至约定的目录中(具体要求以豆瓣的CSS规范为例进行讲解): 所有的CS ...
- hasura graphql server 集成gatsby
hasura graphql server 社区基于gatsby-source-graphql 开发了gatsby-postgres-graphql 插件, 可以快速的开发丰富的网站 基本使用 安装h ...
- TensorFlow笔记-03-张量,计算图,会话
TensorFlow笔记-03-张量,计算图,会话 搭建你的第一个神经网络,总结搭建八股 基于TensorFlow的NN:用张量表示数据,用计算图搭建神经网络,用会话执行计算图,优化线上的权重(参数) ...
- WebApi_使用技巧
1.自动生成帮助文档 http://www.shaoqun.com/a/234059.aspx 2.Json序列化循环引用的问题http://www.mamicode.com/info-detail ...
- JS页面打印预览功能
点击按钮后就可以直接打印预览,并且隐藏了按钮,如果你不希望按钮显示,可以把那部分代码删除就可以了. <html><head><meta http-equiv=" ...
- 【转】每天一个linux命令(6):rmdir 命令
原文网址:http://www.cnblogs.com/peida/archive/2012/10/27/2742076.html 今天学习一下linux中命令: rmdir命令.rmdir是常用的命 ...