默认情况下,Hive元数据保存在内嵌的 Derby 数据库中,只能允许一个会话连接,只适合简单的测试。为了支持多用户多会话,则需要一个独立的元数据库,我们使用 MySQL 作为元数据库,Hive 内部对 MySQL 提供了很好的支持,配置一个独立的元数据库需要增加以下
默认情况下,Hive元数据保存在内嵌的 Derby 数据库中,只能允许一个会话连接,只适合简单的测试。为了支持多用户多会话,则需要一个独立的元数据库,我们使用 MySQL 作为元数据库,Hive 内部对 MySQL 提供了很好的支持,配置一个独立的元数据库需要增加以下几步骤:
第一步:安装MySQL服务器端和MySQL客户端,并启动MySQL服务。
此步省略,具体请看http://www.cnblogs.com/linjiqin/archive/2013/03/04/2942497.html
第二步:安装Hive
此步省略,具体请看http://www.cnblogs.com/linjiqin/archive/2013/03/04/2942402.html
第三步:为Hive建立相应的MySQL账户,并赋予足够的权限,执行命令如下:
hadoop@ubuntu:~$ mysql -uroot -pmysql mysql> CREATE USER <span>'</span><span>hive</span><span>'</span> IDENTIFIED BY <span>'</span><span>mysql</span><span>'</span>; mysql> GRANT ALL PRIVILEGES ON *.* TO <span>'</span><span>hive</span><span>'</span>@<span>'</span><span>%</span><span>'</span> WITH GRANT OPTION; mysql> flush privileges;
默认情况下Mysql只允许本地登录,所以需要修改配置文件将地址绑定给注释掉:
root@ubuntu:~# <span>sudo</span> gedit /etc/mysql/my.cnf
找到如下内容:
# Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. #bind-address = 127.0.0.1 <span><span>---</span><span>注释掉这一行就可以远程登录了</span></span>
重启mysql服务:
<span>sudo</span> service mysql restart
第四步:建立 Hive 专用的元数据库,记得创建时用刚才创建的“hive”账号登陆。
mysql> exit; hadoop@ubuntu:~$ mysql -uhive -pmysql mysql> create database hive;
第五步:在Hive的conf目录下的文件“hive-site.xml”中增加如下配置:
<span></span><span>xml version="1.0"</span><span>?></span> <span></span><span>xml-stylesheet type="text/xsl" href="configuration.xsl"</span><span>?></span> <span><span>configuration</span><span>></span> <span><span>property</span><span>></span> <span><span>name</span><span>></span>hive.metastore.local<span></span><span>name</span><span>></span> <span><span>value</span><span>></span>true<span></span><span>value</span><span>></span> <span></span><span>property</span><span>></span> <span><span>property</span><span>></span> <span><span>name</span><span>></span>javax.jdo.option.ConnectionURL<span></span><span>name</span><span>></span> <span><span>value</span><span>></span>jdbc:mysql://192.168.11.157:3306/hive?characterEncoding=UTF-8<span></span><span>value</span><span>></span> <span></span><span>property</span><span>></span> <span><span>property</span><span>></span> <span><span>name</span><span>></span>javax.jdo.option.ConnectionDriverName<span></span><span>name</span><span>></span> <span><span>value</span><span>></span>com.mysql.jdbc.Driver<span></span><span>value</span><span>></span> <span></span><span>property</span><span>></span> <span><span>property</span><span>></span> <span><span>name</span><span>></span>javax.jdo.option.ConnectionUserName<span></span><span>name</span><span>></span> <span><span>value</span><span>></span>hive<span></span><span>value</span><span>></span> <span></span><span>property</span><span>></span> <span><span>property</span><span>></span> <span><span>name</span><span>></span>javax.jdo.option.ConnectionPassword<span></span><span>name</span><span>></span> <span><span>value</span><span>></span>mysql<span></span><span>value</span><span>></span> <span></span><span>property</span><span>></span> <span></span><span>configuration</span><span>></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
从前面我们知道我们的“hive-site.xml”是一个“hive-default.xml.template”的一个拷贝,里面的配置参数非常之多,但是并不是我们都需要的,我们知道,Hive 系统会加载两个配置文件一个默认配置文件“hive-default.xml”,另一个就是用户自定义文件“hive-site.xml”。当“hive-site.xml”中的配置参数的值与“hive-default.xml”文件中不一致时,以用户自定义的为准。所以我们就把我们不需要的参数都删除掉,只留下上面所示的内容。
备注:其实修改这里的配置文件如果在Linux下面进行则非常麻烦,尽然我们都建立了FTP了,为何不用,所以把Master.Hadoop上面的这个配置文件下载下来,按照要求进行修改,这样的文件在Windows进行操作是非常方便的,弄好之后在上传上去,覆盖原来的即可。
第六步:把MySQL的JDBC驱动包复制到Hive的lib目录下。
JDBC驱动包的版本:mysql-connector-java-5.1.18-bin.jar
第七步:启动 Hive Shell, 执行“show tables;”命令,如果不报错,表明基于独立元数据库的 Hive 已经安装成功了。
hadoop@ubuntu:~$ hive Logging initialized using configuration <span>in</span> <span>file</span>:/home/hadoop/hive-<span>0.9</span>.<span>0</span>/conf/hive-log4j.properties Hive history <span>file</span>=/tmp/hadoop/hive_job_log_hadoop_201303041631_450140463.txt hive> show tables; OK Time taken: <span>1.988</span> seconds hive>
第八步:验证Hive配置是否有误,进入Hive的shell新建表,在MySQL的Hive数据库中可以看到相应的元数据库信息。
1)在Hive上建立数据表
hive> CREATE TABLE xp(id INT,name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
2)从 MySQL 数据库上查看元数据信息
用到的 SQL 语句:
use hive; //使用 hive 数据库库
show tables;//显示 hive 数据库中的数据表
select * from TBLS;//查看 hive 的元数据信息
到此Hive集成Mysql作为元数据已完成。
远程模式安装
远程模式安装是把 metastore 配置到远程机器上,可以配置多个。在独立模式的基础上需要在 hive-site.xml 文件中增加的配置项如下:
<span><span>property</span><span>></span> <span><span>name</span><span>></span>hive.metastore.local<span></span><span>name</span><span>></span> <span><span>value</span><span>></span>local<span></span><span>value</span><span>></span> <span></span><span>property</span><span>></span> <span><span>property</span><span>></span> <span><span>name</span><span>></span>hive.metastore.uris<span></span><span>name</span><span>></span> <span><span>value</span><span>></span>uri1,uri2,... <span></span><span>value</span><span>></span>//可配置多个 uri <span><span>description</span><span>></span>JDBC connect string for a JDBC metastore<span></span><span>description</span><span>></span> <span></span><span>property</span><span>></span></span></span></span></span></span></span></span>

MySQL适合初学者学习数据库技能。1.安装MySQL服务器和客户端工具。2.理解基本SQL查询,如SELECT。3.掌握数据操作:创建表、插入、更新、删除数据。4.学习高级技巧:子查询和窗口函数。5.调试和优化:检查语法、使用索引、避免SELECT*,并使用LIMIT。

MySQL通过表结构和SQL查询高效管理结构化数据,并通过外键实现表间关系。1.创建表时定义数据格式和类型。2.使用外键建立表间关系。3.通过索引和查询优化提高性能。4.定期备份和监控数据库确保数据安全和性能优化。

MySQL是一个开源的关系型数据库管理系统,广泛应用于Web开发。它的关键特性包括:1.支持多种存储引擎,如InnoDB和MyISAM,适用于不同场景;2.提供主从复制功能,利于负载均衡和数据备份;3.通过查询优化和索引使用提高查询效率。

SQL用于与MySQL数据库交互,实现数据的增、删、改、查及数据库设计。1)SQL通过SELECT、INSERT、UPDATE、DELETE语句进行数据操作;2)使用CREATE、ALTER、DROP语句进行数据库设计和管理;3)复杂查询和数据分析通过SQL实现,提升业务决策效率。

MySQL的基本操作包括创建数据库、表格,及使用SQL进行数据的CRUD操作。1.创建数据库:CREATEDATABASEmy_first_db;2.创建表格:CREATETABLEbooks(idINTAUTO_INCREMENTPRIMARYKEY,titleVARCHAR(100)NOTNULL,authorVARCHAR(100)NOTNULL,published_yearINT);3.插入数据:INSERTINTObooks(title,author,published_year)VA

MySQL在Web应用中的主要作用是存储和管理数据。1.MySQL高效处理用户信息、产品目录和交易记录等数据。2.通过SQL查询,开发者能从数据库提取信息生成动态内容。3.MySQL基于客户端-服务器模型工作,确保查询速度可接受。

构建MySQL数据库的步骤包括:1.创建数据库和表,2.插入数据,3.进行查询。首先,使用CREATEDATABASE和CREATETABLE语句创建数据库和表,然后用INSERTINTO语句插入数据,最后用SELECT语句查询数据。

MySQL适合初学者,因为它易用且功能强大。1.MySQL是关系型数据库,使用SQL进行CRUD操作。2.安装简单,需配置root用户密码。3.使用INSERT、UPDATE、DELETE、SELECT进行数据操作。4.复杂查询可使用ORDERBY、WHERE和JOIN。5.调试需检查语法,使用EXPLAIN分析查询。6.优化建议包括使用索引、选择合适数据类型和良好编程习惯。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Dreamweaver Mac版
视觉化网页开发工具

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

WebStorm Mac版
好用的JavaScript开发工具