• spark sql metastore 配置 mysql


    本文主要介绍如何为 spark sql 的 metastore 配置成 mysql 。

    spark 的版本 2.4.0 版本

    hive script 版本为 hive 1.2.2 

    mysql 为 5.7.18 

    mysql 的安装部署就不在这里介绍了。

    首先为 mysql 的root 用户设置密码

    mysql -uroot
    > set password= password('mysql');

    设置mysql 允许其他机器登录

    > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mysql' WITH GRANT OPTION;
    > FLUSH PRIVILEGES;

    创建一个新的database

    > CREATE DATABASE metastore;

    初始化创建hive 的metastore 表

    > use metastore;
    > source /opt/hive-1.2.2/scripts/metastore/upgrade/mysql/hive-schema-1.2.0.mysql.sql;

    初始化过程中,会报告一些错误,但是不影响后续的对接,错误信息如下

    ERROR: 
    Failed to open file 'hive-txn-schema-0.13.0.mysql.sql', error: 2

    Oracle 官网下载 mysql 的jdbc 驱动,然后将 jdbc jar 包放到 ${SPARK_HOME}/jars 目录下。

    配置 spark sql 的hive-site.xml 配置文件,新增以下内容

    <property>
      <name>javax.jdo.option.ConnectionURL</name>
      <value>jdbc:mysql://HOSTNAME/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>DB_USER</value>
    </property>
    
    <property>
      <name>javax.jdo.option.ConnectionPassword</name>
      <value>DB_PASSWD</value>
    </property>
    
    <property>
      <name>datanucleus.autoCreateSchema</name>
      <value>false</value>
    </property>
    
    <property>
      <name>datanucleus.fixedDatastore</name>
      <value>true</value>
    </property>

    HOSTNAME,填写mysql 的ip 地址或者hostname

    DB_USER,填写mysql 的登陆用户名

    DB_PASSWD,填写mysql 的登陆密码

    然后直接启动 spark-sql 命令,执行 show tables 测试是否正常,不报错即为正常。

    Cloudera 官网中,详细地介绍了如何为 hive metastore 配置 mysql, postgresql 和 oracle 数据库,具体地址为:

    https://www.cloudera.com/documentation/enterprise/latest/topics/cdh_ig_hive_metastore_configure.html

  • 相关阅读:
    WCF客户端链接服务超时客户端close
    C# byte数组常用扩展浅析(转)
    代码生成相关工具及技术
    已处理证书链,但是在不受信任提供程序信任的根证书中终止。
    清理SQL Server数据库日志的两种方法
    开源框架项目列表
    SQL Server数据库文件恢复技术
    VS2008找不到导出模板
    jquery 学习笔记(二)
    方法的参数的默认值设置
  • 原文地址:https://www.cnblogs.com/chenfool/p/10770197.html
Copyright © 2020-2023  润新知