Hive学习之配置MySQL为Metastore

php中文网
发布: 2016-06-07 15:19:49
原创
1834人浏览过

Hive默认情况下以内嵌模式使用Derby数据库做为metastore,该模式最大的缺陷是不支持多个客户端同时连接到metastore上,因此只适合用于学习测试的目的,要在实际生产上使用Hive需要将metastore配置为本地模式或者远程模式,现在就介绍如何以本地模式配置metas

   hive默认情况下以内嵌模式使用derby数据库做为metastore,该模式最大的缺陷是不支持多个客户端同时连接到metastore上,因此只适合用于学习测试的目的,要在实际生产上使用hive需要将metastore配置为本地模式或者远程模式,现在就介绍如何以本地模式配置metastore,使用的数据库为mysql5.6.19。在进行配置之前先要安装mysql数据库,一般情况下linux系统中已经安装了mysql(至少我的系统中已经安装了),但往往数据库版本比较低,为了使用mysql的最新版本需要先卸载之前的版本。可以使用下面的语句查询已经安装的mysql:

rpm –qa | grep –i mysql
登录后复制

    然后根据查询结果使用下面的语句删除MySQL:

rpm -e xxxxx 或者
rpm -e --nodeps xxxxx
登录后复制

   卸载完成后,使用下面的语句安装MySQL的服务器:

[root@hadoophadoop]# rpm -ivh MySQL-server-5.6.19-1.el6.x86_64.rpm
Preparing...          ###################################[100%]
1:MySQL-server      ###################################[100%]
A RANDOMPASSWORD HAS BEEN SET FOR THE MySQL root USER !You will find that password in'/root/.mysql_secret'.Also, the account for the anonymous user has beenremoved.
##MySQL-5.6.19版本中会为root用户生成一个随机密码,并保存在/root/.mysql_secret中,在使用root用户首次登录时会用到该密码。
In addition, you can run:/usr/bin/mysql_secure_installation,which will also give you the option of removing the test database.This is strongly recommended for production servers.
##建议在生产中运行/usr/bin/mysql_secure_installation脚本,该脚本可以移除测试数据库,在生成环境中推荐该方式。
New default config file was created as /usr/my.cnf and will be used by default by the server when you start it.You may edit this file to change server settings
##新的配置文件保存在/usr/my.cnf
登录后复制

   安装MySQL客户端的语句及结果如下:

[root@hadoophadoop]# rpm -ivh MySQL-client-5.6.19-1.el6.x86_64.rpm
Preparing...           ###############################[100%]
1:MySQL-client       ################################ [100%]
登录后复制

   安装完MySQL后,运行下面的语句登录数据库,root用户的密码保存在/root/.mysql_secret中:

mysql –u root –p
登录后复制

   输入上述文件中的密码登录数据库,执行下面的语句,修改完root用户的密码后就可以在以后的登录中使用新密码。

mysql> use mysql
ERROR 1820(HY000): You must SET PASSWORD before executing this statement
mysql> set PASSWORD=PASSWORD('123456');
Query OK, 0 rowsaffected (0.12 sec)
登录后复制

   在完成了MySQL数据库的安装后,需要创建存储metastore的数据库,或者在连接时创建数据库。先创建数据库hive_db:

create database hive_db;
登录后复制

   然后创建metastore数据库的用户,并为该用户分配最大权限:

grant all privileges on hive_db.* to Hadoop identified by ‘hadoop’
登录后复制

   做完数据库的配置后,现在需要修改Hive的配置文件。将$HIVE_HOME/conf目录下的hive-default.xml.template复制为hive-site.xml:

Android 本地数据存储 中文WORD版
Android 本地数据存储 中文WORD版

本文档主要讲述的是Android 本地数据存储;对于需要跨应用程序执行期间或生命期而维护重要信息的应用程序来说,能够在移动设备上本地存储数据是一种非常关键的功能。作为一名开发人员,您经常需要存储诸如用户首选项或应用程序配置之类的信息。您还必须根据一些特征(比如访问可见性)决定是否需要涉及内部或外部存储器,或者是否需要处理更复杂的、结构化的数据类型。跟随本文学习 Android 数据存储 API,具体来讲就是首选项、SQLite 和内部及外部内存 API。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以

Android 本地数据存储 中文WORD版 0
查看详情 Android 本地数据存储 中文WORD版
cp hive-default.xml.template hive-site.xml
登录后复制

   然后修改下面的配置信息,指定使用MySQL做为存储metastore的数据库:

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://Hadoop:3306/hive_db?createDatabaseIfNotExist=true</value>
  <description>JDBC connect string for aJDBC metastore</description>
</property>
<property>
 <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
  <description>Driver class name for aJDBC metastore</description>
</property>
<property>
 <name>javax.jdo.option.ConnectionUserName</name>
  <value>hadoop</value>
  <description>username to use againstmetastore database</description>
</property>
<property>
 <name>javax.jdo.option.ConnectionPassword</name>
  <value>hadoop</value>
  <description>password to use againstmetastore database</description>
</property>
登录后复制

   修改完配置文件后,将连接MySQL的驱动程序包放置到CLASSPATH中,可以放置到${HIVE_HOME}/lib下,然后成功启动Hive。

   使用hadoop用户登录到MySQL中,进入hive_db数据库,执行show tables语句,可以发现存在许多表,比如DBS、TBLS等,如下图所示:

Hive学习之配置MySQL为Metastore

   可以查询Hive中存在哪些数据库,如下所示:

Hive学习之配置MySQL为Metastore

   至此,配置MySQL以本地模式存储metastore已经完成,上面的图示也说明了这点。当然在实际执行过程中,也出现了一些问题,如没有将MySQL驱动程序加到CLASSPATH中,MySQL的安装问题,其中最大的问题不是来自Hive的,而是安装MySQL,这也说明在MySQL正常的情况下,配置其为metastore的数据库还是很简单的。

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号