一、什么是Hive?
Hive是一个数据仓库基础工具在Hadoop中用来处理结构化数据。它架构在Hadoop之上,总归为大数据,并使得查询和分析方便。并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。术语“大数据”是大型数据集,其中包括体积庞大,高速,以及各种由与日俱增的数据的集合。使用传统的数据管理系统,它是难以加工大型数据。因此,Apache软件基金会推出了一款名为Hadoop的解决大数据管理和处理难题的框架。
HIve的架构
Hive的工作原理
二、Hive的安装
在Hadoop 集群搭建完毕的前提下:
下载Hive1.2.2的安装包,不要下载过高版本的,考虑到兼容问题
apache的下载官网:mirror.bit.edu.cn/apache/
将apache-hive-1.2.2-bin.tar.gz发送到node1
tar -zxvf apache-hive-1.2.2-bin.tar.gz
mv apache-hive-1.2.2-bin /usr/local/hive1.2.2
接下来进行环境配置:
1、在 /etc/profile 中添加以下配置
export HIVE_HOME=/usr/local/hive1.2.2 export PATH=$PATH:$HIVE_HOME/bin
source /etc/profile 刷新设置
2、验证mysql是否安装
查找:rpm -qa|grep -i mysql
卸载:yum -y remove <file>
在centOS7中使用mariadb替代了mysql,与mysql的功能一样
所以有两种安装mysql的方法:
2.1、安装mariadb,大小59 M。
yum install mariadb-server mariadb
mariadb数据库的相关命令是:
systemctl start mariadb #启动MariaDB
systemctl stop mariadb #停止MariaDB
systemctl restart mariadb #重启MariaDB
systemctl enable mariadb #设置开机启动
所以先启动数据库
systemctl start mariadb
然后就可以正常使用mysql了
2.2、官网下载安装mysql-server
按照以下步骤进行安装:
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install mysql-community-server
安装成功后重启mysql服务。
service mysqld restart
初次安装mysql,root账户没有密码
这里的数据库只需要设置用户密码和远程登陆就可以了
进入mysql>之后use mysql;并执行以下命令:
create user 'root'@'%' identified by '123456'; grant all privileges on *.* to root@'%'identified by '123456'; update user set password=PASSWORD('123456') where user='root'; flush privileges;
2.3、Hive的相关设置
进入$HIVE_HOME/conf目录下,分别初始化hive-env.sh和hive-site.xml两个文件
cp -a hive-default.xml.template hive-site.xml cp -a hive-env.sh.template hive-env.sh
首先修改hive-env.sh:
在最后添加上hadoop的目录:export HADOOP_HOME=/usr/local/hadoop2.8.5
然后修改hive-site.xml文件:
(主要是数据库的配置)
vi hive-site.xml
之后按下“/”后面跟上URL进行搜索(其他几个同样用搜索):
分别修改如下:
搜索关键字:/URL /Driver /UserName /Password (注意下面的描述中有metastore)
<property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://node1/hive</value> <description>JDBC connect string for a JDBC metastore</description> </property> <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启动时,报错RelativepathinabsoluteURI:${system:java.io.tmpdir}
这里可以提前配置,免得再回头(新建文件夹,修改配置)
修改 hive-site.xml 中所有包含${system:Java.io.tmpdir}字段的 value 即路径(vim下 / 表示搜索,后面跟你的关键词,比如搜索 hello,则为/hello, 再回车即可),你可以自己新建一个目录来替换它,例如/home/hive/iotmp.
我这边把hive-site.xml中所有出现${system:Java.io.tmpdir}的地方都替换成了:/usr/local/hive1.2.2/iotemp
2.4、这里补上连接所用的jar包
mysql-connector-java-5.1.39-bin.jar 这是连接所用的jar包
下载后放到 hive1.2.2的lib目录下即可
3、可以先启动进行验证配置
进入hive1.2.2目录下的bin文件夹
执行 ./hive 即可启动hive程序