Hive的安装模式

Hive的安装模式分为三种,分别是嵌入模式、本地模式和远程模式。下面针对这三种模式进行介绍。

  1. 嵌入模式:使用内嵌的 Derby数据库存储元数据,这种方式是Hive的默认安装方式,配置简单,但是一次只能连接一个客户端,适合用来测试,不适合生产环境。
  2. 本地模式:采用外部数据库存储元数据,该模式不需要单独开启Metastore服务,因为本地模式使用的是和Hive在同一个进程中的Metastore服务。
  3. 远程模式:与本地模式一样,远程模式也是采用外部数据库存储元数据。不同的是,远程模式需要单独开启Metastore服务,然后每个客户端都在配置文件中配置连接该Metastore服务。远程模式中,Metastore服务和Hive运行在不同的进程中。

7.3.2 Hive安装之嵌入模式

  1. 下载Hive安装包

首先在Apache镜像网站下载Linux下的Hive安装包,上传资料,apache-hive-1.2.1-bin.tar.gz。下载完毕后,将安装包apache-hive-1.2.1-bin.tar.gz上传至Linux系统中(本次操作在hadoop01节点上进行演示说明)的/export/software文件夹下,将压缩包解压至/export/servers文件夹下。步骤如下所示:

使用ls查看

  1. 使用命令:tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /export/servers将压缩包解压至/export/servers文件夹下。

  1. 嵌入模式下,无需对Hive配置文件进行修改,只需要启动Hive安装包下的bin目录下的Hive程序即可,具体指令如下所示:

bin/hive

执行上述指令后,就进入到Hive交互式界面,效果如下图所示。

从下图可以看出,使用与MySQL操作相同的“show databases”语句查询Hive当前所有数据库列表成功,并返回唯一个 default 数据仓库,该default数据仓库是Hive自带的也是默认的存储仓库。

 

退出Hive客户端时我们发现,在当前路径下默认生成了derby.log 文件,该文件是记录用户操作Hive的日志文件,由于嵌入模式元数据不会共享,那么在其他路径下打开Hive客户端会创建新的derby.1og文件,因此上一客户端进行的任何操作当前用户均无法访问。

7.3.3 Hive安装之本地模式和远程模式

本地和远程模式安装配置方式大致相同,本质上是将Hive默认的元数据存储介质由自带的Derby数据库替换为MySQL数据库,这样无论在任何目录下以任何方式启动Hive,只要连接的是同一台Hive服务,那么所有节点访问的元数据信息是一致的,从而实现元数据的共享。下面就以本地模式为例,讲解安装过程。

本地模式的Hive安装主要包括两个步骤:首先安装MySQL服务,再安装Hive。具体步骤如下:

  1. 安装MySQL服务

MySQL安装方式有许多种,可以直接解压安装包进行相关配置,也可以选择在线安装,本节选用在线安装MySQL方式。在线安装MySQL的具体指令和说明如下:

  1. yum install mysql mysql-server mysql-devel  //下载MySQL

/etc/init.d/mysqld start

虚拟机是cent7的同学,在此处无法运行,cent6.x的同学,忽略此处。以下是解决办法:

首先,查看/etc/init.d/mysqld我们发现,该目录下并没有mysqld

查看MySQL服务器,使用命令:./support-files/mysql.server

安装MySQL服务,使用命令:yum install -y mysql-server报错,提示没有可用的软件包mysql-server

此时,不要丧气,我们继续解决此问题。

  • 安装从网上下载文件的wget命令

  • 下载mysql的repo源

使用命令: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

  • 查看一下

使用命令:ls -1 /etc/yum.repos.d/mysql-community*

会获得两个mysql的yum repo源:

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

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

  • 安装mysql

使用命令:yum install mysql-server

至此,安装MySQL成功,可用使用命令查看:

  1. 启动MySQL服务:systemctl start mysqld.service

查看MySQL服务当前状态:systemctl status mysqld.service

停止MySQL服务:systemctl stop mysqld.service

设置mysql服务开机自启动:systemctl enable mysqld.service

停止mysql服务开机自启动:systemctl disable mysqld.service

  1. MySQL连接并登陆MySQL服务

上述指令中,首先通过“yum install”命令下载并安装MySQL程序,并且启动MySQL服务(若cent7无法启动MySQL服务,请查看上述解决办法),然后就可以使用MySQL命令连接到MySQL客户端。

接下来,进入MySQL客户端后,分别对MySQL数据库密码进行修改(可选),并设置允许远程登录权限,具体指令如下:

//修改用户名及密码

use mysql;
UPDATE user SET Password=PASSWORD('123456')WHERE user='root';

//设置允许远程登录

GRANT ALL PRIVILEGES  ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

//强制写入

FLUSH PRIVILEGES;

  1. Hive的配置
  1. 修改hive-env.sh配置文件,配置Hadoop环境变量

进入Hive安装包下的conf文件夹,将hive-env.sh.template文件进行拷贝并重命名为hive-env.sh,具体指令如下:

cp hive-env.sh.template  hive-env.sh

使用命令:vi hive-env.sh修改配置文件,在48行修改Hadoop环境变量。如下图所示。

上述操作是设置Hadoop环境变量,作用是无论系统是否配置Hadoop环境变量,在Hive执行时,一定能够通过hive-env.sh 配置文件去加载Hadoop环境变量,由于在部署Hadoop集群时已经配置了全局Hadoop环境变量,因此可以不设置该参数。

  1. 添加hive-site.xml配置文件,配置MySQL相关信息

由于Hive安装包conf目录下,没有提供hive-site.xml文件,这里需要创建并编辑一个hive-site.xm1配置文件,具体内容如下所示:

<configuration>

        <property>

                <name>javax.jdo.option.ConnectionURL</name>

                <value>jdbc:mysql://localhost:3306/hive?                
                         createDatabaseIfNotExist=true</value>

                <description>MySQL连接协议 </description>

        </property>

        <property>

                <name>javax.jdo.option.ConnectionDriverName</name>

                <value>com.mysql.jdbc.Driver</value>

                <description>JDBC连接驱动</description>

        </property>

        <property>

                <name>javax.jdo.option.ConnectionUserName</name>

                <value>root</value>

                <description>用户名</description>

        </property>

        <property>

                <name>javax.jdo.option.ConnectionPassword</name>

                <value>123456</value>

                <description>密码</description>

        </property>

</configuration>

完成配置后,Hive就会把默认使用Derby数据库方式所覆盖。这里需要注意的是,由于使用了MySQL数据库,那么就需要上传MySQL连接驱动的Jar包到Hive安装包的lib文件夹下,教材使用mysq1-comnector-java-5.1.32.jar

下载地址:上传资料中mysq1-comnector-java-5.1.32.jar使用rz命令上传即可。至此就完成了本地模式的安装。

如果使用远程模式的安装方式,只需要将hive-site.xm1配置文件中的localhost修改为具有MySQL服务的节点IP即可,这样无论用户通过什么路径下启动Hive客户端,都可以访问相同的元数据信息。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐