淘先锋技术网

首页 1 2 3 4 5 6 7

Hive:数据仓库

Apache Hive 是数据仓库软件便于阅读,写作,和管理大型数据集居住在分布式存储使用SQL。结构可以投射到数据已经存储。提供了一个命令行工具和JDBC驱动程序将用户连接到Hive

在搭建Hive之前要首先搭建好Hadoop,关于Hadoop的搭建 参考之前的 hadoop 2.x搭架文档

http://blog.csdn.net/liulihui1988/article/details/73189148

一、Hive 运行模式

1. 内嵌模式

将元数据保存在本地内嵌的 Derby 数据库中,这是使用 Hive 最简单的方式。但是这种方式缺点也比较明显,因为一个内嵌的 Derby 数据库每次只能访问一个数据文件,这也就意味着它不支持多会话连接。

2. 本地模式

这种模式是将元数据保存在本地独立的数据库中(一般是 MySQL),这用就可以支持多会话和多用户连接了。

3. 远程模式

此模式应用于 Hive 客户端较多的情况。把 MySQL 数据库独立出来,将元数据保存在远端独立的 MySQL 服务中,避免了在每个客户端都安装 MySQL 服务从而造成冗余浪费的情况。

二、安装 Hive

下载地址:http://apache.fayea.com/        

apache-hive-2.1.1-bin.tar.gz 解压

tar -zxvf hiveapache-hive-2.1.1-bin.tar.gz -C /usr/local

修改配置文件,命令进入 cd /usr/local/hiveapache-hive-2.1.1-bin/conf 目录下拷贝hive-default.xml.template文件

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

三、Mysql数据库安装

1、yum命令安装mysql 数据库

yum install mysql-server    

这里写图片描述

CentOS7下解决yum install mysql-server没有可用包

执行一下命令:

# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

mysql-community-release-el7-5.noarch.rpm

#  rpm -ivh mysql-community-release-el7-5.noarch.rpm  

1:mysql-community-release-el7-5 ################################# [100%]

# ls -1 /etc/yum.repos.d/mysql-community* 

/etc/yum.repos.d/mysql-community.repo
/etc/yum.repos.d/mysql-community-source.repo

# yum install mysql-server 

mysql数据库安装完成,启动数据库:

service mysql start

查看数据看端口:netstat -tunpl | grep 3306

这里写图片描述

登陆Mysql 设置用户权限,用grant命令对 Mysql数据库设置权限,命令登陆数据库

# mysql

mysql> grant all on *.* to root@'%' identified by 'root';

grant all(所有权限) on(所有数据库) (.)所有表 to root@(用户名)’%’(所有的id地址) identified by ‘root’(密码)

添加centos-node6访问数据库的权限

mysql> grant all on *.* to root@'centos-node6' identified by 'root';

创建一个 hive 数据库

create database hive

修改hive的配置文件

Hive 链接数据库 需要数据库驱动:导入数据库驱动 mysql-connector-java-5.1.35.jar,导入到apache-hive-2.1.1-bin下的lib目录下

scp mysql-connector-java-5.1.35.jar /usr/local/apache-hive-0.13.1-bin/lib/

# cd  usr/local/apache-hive-0.13.1-bin/lib/

这里写图片描述

修改配置文件 hive-site.xml

vi hive-sitx.xml

更改链接的数据库服务器

配置对应的数据库服务器

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://centos-node6/hive</value>
  <description>JDBC connect string for a JDBC metastore</description>
</property>

链接数据库 driverClass

<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
  <description>Driver class name for a JDBC metastore</description>
</property>

对应数据库服务器的 用户名和密码

<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>root</value>
  <description>username to use against metastore database</description>
</property>

<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>123456</value>
  <description>password to use against metastore database</description>
</property>

Hive 登陆本地数据库测试

这里写图片描述