首先先简单介绍下hive:

Hive是一个基于Hadoop的数据仓库工具,可以将结构化的数据文件映射成一张数据表,并可以使用类似SQL的方式来对数据文件进行读写以及管理。这套Hive SQL 简称HQL。Hive的执行引擎可以是MR、Spark、Tez。

核心架构:

 

 

 

 

Hive官网地址

 

http://hive.apache.org/

下载地址

 

 

http://archive.apache.org/dist/hive/

 

hive的安装部署

Hive常用的安装分三种

(注意:Hive会自动监测Hadoop的环境变量,所以在安装hive之前就必须启动Hadoop,如未安装hadoop,请移步看本人的另一篇博客

地址:https://www.cnblogs.com/s1023/p/12439518.html

第一种:本地模式(多用户模式)

使用hive自带默认元数据库derby来进行存储,通常用于测试

a.优点:使用简单,不用进行配置

b.缺点:只支持单session

安装步骤:

首先将下载好的hive安装包上传到linux上

1、解压hive,并配置环境变量

 tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /opt/module/

 vi /etc/profile

 source /etc/profile

export HIVE_HOME=/opt/app/hive
export PATH=$HIVE_HOME/bin:$PATH

2、配置hive-env.sh,如果不存在,就用hive.env.sh.template复制一个

export HIVE_CONF_DIR=/opt/app/hive/conf
export JAVA_HOME=/opt/app/jdk
export HADOOP_HOME=/opt/app/hadoop

3、启动hive:(注:启动之前要启动hdfs  sbin/start-dfs.sh 和yarn  sbin/start-yarn.sh )

bin/hive

进入后可以执行下面命令进行操作

show dataases;  #查看数据库
show tables;   #查看表

简单sql演示执行

# 创建表
create table dog(id int,name string);
select * from dog;
insert into dog values(1,"wangcai");
desc dog; #查看表结构
quit # 退出

配置安装mysql:

安装包准备

#查看mysql是否安装,如果安装了,卸载mysql
 rpm -qa|grep mysql  #如果出现下面的提示,就说明系统已经有了mysql,要卸载
mysql-libs-5.1.73-7.el6.x86_64
# 卸载mysql
rpm -e --nodeps mysql-libs-5.1.73-7.el6.x86_64
安装MySql服务器

==mysql安装的步骤介绍==

1.安装mysql服务端(先从本地上传服务端和客户端到服务器,尽量使用root用户操作)

rpm -ivh MySQL-server-5.6.rpm

#注意:如果是mini版本安装,提前要安装下面一个依赖库:
yum install libaio

2.查看产生的随机密码

 cat /root/.mysql_secret

3.查看mysql状态

service mysql status

4.启动mysql

service mysql start

安装MySql客户端

1.安装mysql客户端

rpm -ivh MySQL-client-5.6.rpm

2.链接mysql

命令格式:mysql -u用户名 -p密码

mysql -uroot -pabcdefafd
注意:
abcdefafd为安装mysql服务端时第2部查看产生的随机密码,直接复制即可

3.修改密码

mysql>SET PASSWORD=PASSWORD('123123');

 

第二种模式:远程模式1

将元数据库放在该台机器上)(多用户模式)

通常使用关系型数据库来进行元数据存储(mysql、oracle等执行带jdbc驱动的数据库)

  • 优点:支持多session
  • 缺点:需要配置、还需要安装mysql等关系型数据库(已安装好)

步骤:

–           1、解压并配置环境变量

–           2、配置hive的配置文件

–           cp hive-env.sh.template hive-env.sh vi hive-env.sh(可以配置jdk、hive的conf路径)

–           3、在Hive的conf配置hive的自定义配置文件 vi hive-site.xml:如下:

<configuration>
<!--配置mysql的连接字符串-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<!--配置mysql的连接驱动-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<!--配置登录mysql的用户-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<!--配置登录mysql的密码-->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123123</value>
<description>password to use against metastore database</description>
</property>
</configuration>

4、将mysql的驱动包mysql-connector-java-5.1.27-bin.jar上传到$HIVE_HOME/lib下(==注意:驱动是jar结尾,不是tar结尾==)

5、启动hive

第三种模式:远程模式2

(将元数据库放在其他机器上)(多用户模式)

和1差不多,只是将元数据放在别的服务器上,这种的就是咱们常说的集群模式。
可以有一个hive的server和多个hive的client。