一、安装mysql

  $ sudo apt-get install mysql-server

启动守护进程

  $ sudo service mysql start

二、配置mysql服务与连接器

  1、安装mysql连接器  

    $ sudo apt-get install libmysql-java

    注:将/usr/share/java/下的连接器jar包copy到$HIVE_HOME/lib下

    如图所示

    

  2、设置mysql root密码

    $ sudo /usr/bin/mysql_secure_installation

    [...] Enter current password for root (enter for none):

    OK, successfully used password, moving on...

    [...] Set root password? [Y/n] y

    New password:

    Re-enter new password:

    Remove anonymous users? [Y/n] Y

    [...]

    Disallow root login remotely? [Y/n] N

    [...]

    Remove test database and access to it [Y/n] Y

    [...]

    Reload privilege tables now? [Y/n] Y

    All done!

三、创建数据库与用户

  创建初始数据库模式。Cloudera的建议使用Hive schema tool来做到这一点。

  如果不打算使用,可通过hive-schema-*.*.*.mysql.sql文件来代替,该文件位置: $HIVE_HOME/scripts/metastore/upgrade/mysql目录下

  以hive-schema-1.2.0.mysql.sql为例

   $ mysql -u root -p

   Enter password:

   mysql> CREATE DATABASE metastore;

   mysql> USE metastore;

   mysql> SOURCE $HIVE_HOME/scripts/metastore/upgrade/mysql/hive-schema-1.2.0.mysql.sql;

  我们还需要为hive配置一个mysql账号用于访问该metastore。

  例:

    mysql> CREATE USER 'hive'@'localhost' IDENTIFIED BY 'password';

    ...

    mysql> REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'hive'@'localhost';

   mysql> GRANT ALL PRIVILEGES ON metastore.* TO 'hive'@'localhost';

    mysql> FLUSH PRIVILEGES;

    mysql> quit;

  注:如果mysql与hive安装在不同hostname下,如要将localhost换成hive所在的hostname

四、配置hive与mysql的通信

  在$HIVE_HOME/conf下创建hive-site.xml,配置如下:    

  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://127.0.0.1/metastore</value>
    <description>the URL of the MySQL database</description>
  </property>

  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
  </property>

  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>hive</value>
  </property>

  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>password</value>
  </property>

  <property>
    <name>datanucleus.autoCreateSchema</name>
    <value>false</value>
  </property>

  <property>
    <name>datanucleus.fixedDatastore</name>
    <value>true</value>
  </property>

  <property>
    <name>datanucleus.autoStartMechanism</name>
    <value>SchemaTable</value>
  </property>

  <property>
    <name>hive.metastore.uris</name>
    <value>thrift://127.0.0.1:9083</value>
  </property>

  <property>
    <name>hive.metastore.schema.verification</name>
    <value>true</value>
  </property>

在启动hive过程中如果出现以下错误,可通过删除$HADOOP_HOME/share/hadoop/yarn/lib/ 下的jline-0.9.94.jar文件,它与beeline的依赖产生冲突

ubuntu中为hive配置远程MYSQL database的更多相关文章

  1. 如何配置远程mysql服务器

    如何配置远程mysql服务器 分配用户权限 可以先看一下目前的用户权限状况: use mysql; select host,user,password from user; 然后分配新的权限给某一用户 ...

  2. Ubuntu安装redis并配置远程、密码以及开启php扩展

    一.前言 redis是当前流行的nosql数据库,很多网站都用它来做缓存,今天我们来安装并配置下redis 二.安装并配置redis 1.安装redis sudo apt-get install re ...

  3. Ubuntu中安装和配置 Java JDK,并卸载自带OpenJDK(以Ubuntu 14.04为例)

    1.下载jdk-7u67-linux-x64.tar.gz 2.用ftp客户端工具filezilla上传到ubuntu的合适文件夹.如果如果不能上传到指定文件夹可能是文件夹权限不足,修改文件夹可执行权 ...

  4. 在ubuntu中安装与配置zsh与oh-my-zsh

    先补充点东西 1.ubuntu中默认安装了那些shell jiang@Linux:~$ cat /etc/shells # /etc/shells: valid login shells/bin/sh ...

  5. ubuntu中防火墙iptables配置

    特别说明:此文章完全转载于https://www.cnblogs.com/EasonJim/p/6851007.html 1.查看系统是否安装防火墙 root@localhost:/usr# whic ...

  6. hive配置元数据库mysql文件配置

    hive中conf/hive-site.xml文件配置(没有该文件则新建) <?xml version="1.0"?> <?xml-stylesheet type ...

  7. Ubuntu中FTP安装配置及基本概念(原创)

    注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 本文源链接:https://www.cnblogs.com/chloneda/p/ftp-inst ...

  8. ubuntu 中DNAT SNAT配置实验.

    1.      目的 图1 如图1所示,有A,B两台计算机,其中A配置成普通PC,B是网关.实现由A向一个不存在的IP 发起tcp连接,并能向这个不存在的ip发送数据. 同时响应这个tcp连接的是B中 ...

  9. ubuntu 14.04 安装mysql,并配置远程连接和中文乱码

    1. 安装MySQL的jar root@computer-PowerEdge-T30:~# sudo apt-get install mysql-server mysql-client在本次安装中,根 ...

随机推荐

  1. scrapy, 自带命令行调用工具.

    #-*- coding:utf-8 -*- from scrapy import cmdline cmdline.execute("scrapy crawl dmoz".split ...

  2. 10.13_extjs,combox,效率为什么这么低

    (1)今天很累!经过三天的奋斗,终于完成了完全最优界面的快捷选址功能.今天是最后一天,最紧张,也最累. 为何我的效率不高呢?!我的时间都花费到哪儿呢?①阅读代码理解过去的逻辑:②关键技术上的再复习再巩 ...

  3. isset(), empty()

    isset()测试$a = '';isset($a); // true $a = FALSE;var_dump(isset($a)); // true $a = NULL;var_dump(isset ...

  4. [转]Android应用的自动更新

    软件的自动更新一般都与Splash界面绑定在一起, 由于需要维护的软件界面很复杂, 一个Activity中嵌入ViewPager, 并且逻辑比较复杂, 索性重新写一个Activity, 现在的软件都很 ...

  5. [C#]『Task』任务并行库使用小计

    1.简单创建使用 using System; using System.Diagnostics; using System.Threading; using System.Threading.Task ...

  6. HTML实体

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  7. Yii render和renderPartial的区别

    以下由我们在信易网络公司开发项目的时候终结出的一些经验 在进行页面输出渲染的时候. 1.render 输出父模板的内容,将渲染的内容,嵌入父模板.|2.renderPartial 则不输出父模板的内容 ...

  8. SQL SERVER 2008 使用TDE加密和解密

    SQL SERVER 2008 加密和解密,这样的文件在互联网上不胜枚举,本文的寓意还是一样,一为记录,二可以为开发者提供在实现过程中的注意事项. TDE: Transparent data encr ...

  9. C++有关类的符号总结

    因为我先学习的java,尽管c++与java在类声明与使用上很相似,但是看到c++的源码还是有一些符号不太明白..现在就用一个例子总结一下: #include <iostream> cla ...

  10. 将yyyyMMdd HH:mm:ss格式的时间转换成时间类型

    DateTime.ParseExact(gmt_withdrawal, "yyyyMMddHHmmss", System.Globalization.CultureInfo.Cur ...