Hive的安装(超详细)
Hive的安装模式嵌入模式:使用内嵌的 Derby数据库存储元数据,这种方式是Hive的默认安装方式,配置简单,但是一次只能连接一个客户端,适合用来测试,不适合生产环境。本地模式:采用外部数据库存储元数据,该模式不需要单独开启Metastore服务,因为本地模式使用的是和Hive在同一个进程中的Metastore服务。远程模式:与本地模式一样,远程模式也是采用外部数据库存储元数据。
Hive的安装模式
Hive的安装模式分为三种,分别是嵌入模式、本地模式和远程模式。下面针对这三种模式进行介绍。
- 嵌入模式:使用内嵌的 Derby数据库存储元数据,这种方式是Hive的默认安装方式,配置简单,但是一次只能连接一个客户端,适合用来测试,不适合生产环境。
- 本地模式:采用外部数据库存储元数据,该模式不需要单独开启Metastore服务,因为本地模式使用的是和Hive在同一个进程中的Metastore服务。
- 远程模式:与本地模式一样,远程模式也是采用外部数据库存储元数据。不同的是,远程模式需要单独开启Metastore服务,然后每个客户端都在配置文件中配置连接该Metastore服务。远程模式中,Metastore服务和Hive运行在不同的进程中。
7.3.2 Hive安装之嵌入模式
- 下载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查看
- 使用命令:tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /export/servers将压缩包解压至/export/servers文件夹下。
- 嵌入模式下,无需对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。具体步骤如下:
- 安装MySQL服务
MySQL安装方式有许多种,可以直接解压安装包进行相关配置,也可以选择在线安装,本节选用在线安装MySQL方式。在线安装MySQL的具体指令和说明如下:
- 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成功,可用使用命令查看:
- 启动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
- 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;
- Hive的配置
- 修改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环境变量,因此可以不设置该参数。
- 添加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客户端,都可以访问相同的元数据信息。
更多推荐
所有评论(0)