概述:
Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。
Hive搭建与基本操作:
1.下载hive,进入官方地址: http://hive.apache.org/
2. vi /etc/profile
export HIVE_HOME=/home/centos/soft/hive
export HIVE_CONF_DIR=$HIVE_HOME/conf
export CLASSPATH=$CLASSPATH:$HIVE_HOME/lib
export PATH=$PATH:$HIVE_HOMW/bin
MYSQL操作:
1、我们下载安装mysql,数据库下载官网:https://dev.mysql.com/downloads/mysql/
2、
选择Generic版本,64位下载
#卸载系统自带的Mariadb
[root@hadoop01 ~]#rpm -qa|grep mariadb
mariadb-libs-5.5.44-2.el7.centos.x86_64
[root@hadoop01 ~]# rpm-e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
#检查mysql组和用户是否存在,如无创建
[root@hadoop02 ~]# cat /etc/group | grep mysql
[root@hadoop02 ~]# cat /etc/passwd | grep mysql
#创建mysql用户组
[root@hadoop02 ~]# groupadd mysql
#创建一个用户名为mysql的用户并加入mysql用户组
[root@hadoop02~]# useradd -g mysql mysql
#制定password 为111111
[root@hadoop02 ~]# passwd mysql
更改用户 mysql 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@hadoop02 ~]#
将下载好的mysql上传到文件夹解压
[root@hadoop02softwares]# tar -zxvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
[root@hadoop02softwares]# mv mysql-5.7.11-linux-glibc2.5-x86_64 mysql
[root@hadoop02softwares]# chown -R mysql mysql/
[root@hadoop02softwares]# chgrp -R mysql mysql/
[root@hadoop02 mysql]# mkdir data
[root@hadoop02 mysql]# chown -R mysql:mysqldata
修改配置文件
修改mysql的配置文件
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
skip-name-resolve
#设置3306端口
port =3306
# 设置mysql的安装目录
basedir=/usr/softwares/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/softwares/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
[root@hadoop01bin]#
mysqld --initialize --user=mysql --basedir=/var/mysql/--datadir=/var/mysql/data/
cp ./support-files/mysql.server /etc/init.d/mysqld
chown 777 /etc/my.cnf
chmod +x /etc/init.d/mysqld
返回主目录
免密码登录修改root密码
mysql> update user set authentication_string=password('123abc') where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
1.2.2 Hive搭建配置
1. 内嵌模式
修改hive-site.xml 文件 在命令行中使用替换命令:
:%s@\${system:java.io.tmpdir}@/usr/softwares/hive/tmp@g
大概替换四处位置
复制jline包给hadoop
cp usr/softwares/hive/lib/jline-2.12.jar/usr/softwares/Hadoop-2.7.1/share/Hadoop/yarn/lib
初始化数据库
Schematool –dbType derby –initSchema
启动hive
2.远程模式与本地模式
创建新用户,赋予全部权限
mysql> create database hive;
CREATE USER 'hive'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO hive IDENTIFIED BY'123456' WITH GRANT OPTION;
上传Mysql的连接包到hive的lib目录下
修改hive-site.xml 以下属性:
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive</value>
<description>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBCmetastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>Username to use against metastoredatabase</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
<description>password to use against metastoredatabase</description>
</property>
启动hive
[root@hadoop01 bin]# hive --servicemetastore &
[root@hadoop01 bin]# hive
使用本地的mysql数据库,不在生成数据库文件。
在可视化数据库软件中可以看到hive数据库多了许多hive的元数据表
远程模式修改连接的URL即可。