前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据之脚踏实地学10--Hive独立式安装

大数据之脚踏实地学10--Hive独立式安装

作者头像
1480
发布2019-07-15 14:45:47
5460
发布2019-07-15 14:45:47
举报

前言

在《大数据之脚踏实地学09--Hive嵌入式安装》一文中我们详细介绍了Hive嵌入式的安装流程,即默认使用Hive的内置Derby数据库作为元信息的存储。但这样做存在一个非常大的弊端,那就是无法让多用户(即客户端)在同一个目录下同时访问数据库,这显然是有问题的。最常用的解决方案就是使用MySQL存储元信息,MySQL可以安装在master机器中,也可以安装在别的机器中。

如下图所示,在master机器上开两个客户端,最先开的客户端可以正常使用Hive,但第二个客户端却提示失败信息:

安装MySQL

这里直接在master机器上安装MySQL数据库,安装过程主要包含三个步骤,分别是

  • 检查master机器中是否预装了MySQL,,如果预装最好先卸载掉;
  • 使用rpm命令安装MySQL Client和MySQL Server两个软件;
  • 为MySQL数据库的root用户配置密码;

检查

查询master机器是否预装MySQL数据库的命令如下:

rpm -qa | grep -i mysql

命令和选项解释:

rpm(redhat packages manager):小红帽软件包管理命令,该命令既可以安装rpm后缀的软件包,也可以卸载rpm后缀的软件包;

-q(query):搜寻Linux系统中已安装的rpm包;

-a(all):指定搜索所有的已安装rpm包;

|:管道函数,即将rpm命令搜寻出来的内容传递给grep函数,继续做其他处理;

grep:文件内容的查询命令;

-i(ignore):忽略大小写;

如上结果所示,并没有查询出mysql相关的软件包,如果查询出结果,可以使用rpm命令对其强制卸载,命令如下:

rpm -e --nodeps 搜寻出来的rmp包名称

安装

MySQL的安装软件可以从官网下载,这里以MySQL5.7为例:

tar包下载下来后,将其解压,然后从中挑选出mysql-client和mysql-server两个rpm包,并通过xftp工具上传到Linux系统中。

使用rpm命令将上传的两个软件包进行安装,先安装client,再安装server,命令如下:

rpm -ivh mysql-community-client-5.7.24-1.el6.x86_64.rpm

rpm -ivh mysql-community-server-5.7.24-1.el6.x86_64.rpm

如果通过上面的命令出现依赖错误时(Failed dependencies),可以在命令末尾加上“--force --nodeps”,表示强制安装。

安装完成后,如果敲入MySQL的登录命令,并返回等待输入密码的状态,这说明你已经成功安装MySQL工具,接下来要做的就是输入密码。那问题来了,初始密码是什么呢?如果不知道初始密码,该如何无密码登录呢?这个就需要对MySQL的my.cnf作配置了,该文件默认在/etc目录下。

配置

在/etc目录下,配置my.cnf文件,在文件内添加skip-grant-tables,用来跳过密码的验证过程。配置好后,一定要记得重启MySQL服务,否则配置内容是无效的。

输入mysql -uroot -p命令,然后两次回车便可以登录进来。接下来要做的就是赶紧修改MySQL的root用户的密码,具体操作如下:

修改root用户的密码

update user set authentication_string=password('1q2w3e4r')

where user='root';

刷新权限

flush privileges;

测试是否可以登录

mysql -uroot -p

注销my.cnf文件中的skip-grant-tables

当你的MySQL成功安装后,将其用到Hive中,还需要做两件事,一个是将MySQL的驱动器(一个jar包)添加到hive的lib目录中;另一个则是配置Hive的hive-site.xml文件,目的是让hive无缝对接到MySQL上。

上传MySQL驱动器

MySQL的驱动器需要从官网下载,下载地址为https://dev.mysql.com/downloads/connector/j/,这里使用的是5.1的驱动器,读者也可以下载最新版的驱动器。

注意:下载后,它是一个压缩包,读者需要解压后,将其中的bin.jar文件上传至Linux系统中。然后通过如下命令将其拷贝到hive的lib目录:

cp mysql-connector-java-5.1.47-bin.jar ./hive/lib/

配置hive-site.xml文件

在hive-site.xml文件中需要修改4项内容,分别是Hive连接MySQL的主机信息、驱动器信息、访问MySQL数据库的用户名和密码。具体修改值如下:

最后一步,在任意目录下初始化MySQL数据库(这里不妨在root的家目录),命令如下:

schematool -initSchema -dbType mysql

如果初始化成功的话,会看见如下的提示:

为检验是否配置成功,我们可以在master机器上开两个客户端,并启动hive,看是否允许多用户访问,结果如下:

非常完美,可以同时在两个客户端访问hive,接下来大家就可以开心的玩耍Hive啦~。

结语

本期的内容就介绍到这里,如果你有任何问题,欢迎在公众号的留言区域表达你的疑问。同时,也欢迎各位朋友继续转发与分享文中的内容,让更多的人学习和进步。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-01-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据分析1480 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档