文档首页 > > 开发指南> Spark应用开发> 环境准备> 在Windows环境中准备HiveODBC开发环境

在Windows环境中准备HiveODBC开发环境

分享
更新时间: 2019/12/11 GMT+08:00

概要说明

为了运行MRS产品Spark组件的HiveODBC接口样例代码,需要完成下面的操作。

操作步骤

  1. 确认客户端机器的时间与MRS集群的时间一致,时间差要小于5分钟。

    MRS集群的时间可通过登录主管理节点(cluster管理IP地址所在节点)运行date命令查询。

  2. 下载并安装MIT Kerberos,具体软件请到对应的官方网站获取。

    记录安装路径,例如:“C:\Program Files\MIT\Kerberos”。

  3. 设置Kerberos的配置文件。

    向MRS集群管理员获取集群Kerberos的“krb5.conf”文件,把相应的“krb5.conf”文件重命名为“krb5.ini”,并放到“C:\ProgramData\MIT\Kerberos5”目录中。

    “C:\ProgramData”目录一般是隐藏的,需要设置显示隐藏文件。

  4. 在Windows上进行认证。

    • 使用“人机”用户登录
      1. 从MRS集群管理员那里获取集群的用户名和密码,用户名的格式为:用户名@Kerberos域名。
      2. 打开MIT Kerberos,单击“get Ticket”,在弹出的“MIT Kerberos: Get Ticket”窗口中,“Pricipal”输入用户名,“Password”输入密码,单击“OK”。
        图1 “人机”用户登录界面
    • 使用“机机”用户登录
      1. 使用命令行进入到MIT Kerberos安装路径,找到可执行文件“kinit.exe”,例如:“C:\Program Files\MIT\Kerberos\bin”。
      2. 执行如下命令。

        kinit -k -t /path_to_userkeytab/user.keytab UserName

        其中path_to_userkeytab为存放用户keytab文件的路径,user.keytab为用户的keytab文件,UserName为用户名。

  5. 安装编译示例代码需要的软件:Visual Studio 2012。
  6. 下载客户端程序。

    1. 登录MRS Manager系统。

      在浏览器地址栏中输入访问地址,地址格式为“https://MRS Manager系统的WebService浮动IP地址:28443/web”。

    2. 选择“服务管理 > Spark > 下载客户端”,下载客户端压缩文件到本地机器。

      下载所有组件的客户端程序安装包,可通过在界面选择“服务管理 > 下载客户端”进行下载。

    3. 解压缩该客户端压缩文件,生成解压目录。
    4. 进入客户端解压后的目录(以下简称解压目录)。
    5. 将解压目录下的“Spark/DataSight_Spark_V100R002CXX_HiveODBC.zip”解压到指定的目录,例如:“C:\DataSight_Spark_HiveODBC”。

  7. 安装OpenSSL 1.x版本。

    1. 下载并安装ActivePerl(版本:5.24.0,64-bit,x64),下载路径:http://www.activestate.com/activeperl/downloads。
    2. 到官网下载并安装ActivePerl(版本:5.24.0,64-bit,x64)。
    3. 打开Windows操作系统“开始”菜单,输入cmd命令,打开一个命令行窗口,进入“${ActivePerl安装目录}/eg”,执行以下命令验证ActivePerl是否安装成功。

      perl example.pl

      运行结果显示如下信息说明安装成功。

      Hello from ActivePerl!
    4. 进入“C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin”目录,执行“vcvars32.bat”配置VS2012环境变量。
    5. 到官网下载并解压“openssl-1.x.tar.gz”。

      HiveODBC驱动需要使用OpenSSL 1.0以上的版本。

    6. 在Windows系统的命令行窗口中,进入“${openssl解压目录}”执行以下命令。

      perl Configure VC-WIN32

    7. 进入“${openssl解压目录}”执行以下命令。

      ms\do_ms

    8. 进入“${openssl解压目录}”执行以下命令。

      nmake -f ms\ntdll.mak

    9. 打开“${openssl解压目录}/out32dll”目录,获取该目录下的libeay32.dll和ssleay32.dll文件,并拷贝至HiveODBC解压目录下的Windows目录。

  8. 安装Cyrus SASL(版本:2.1.23)。

    1. 到官网下载并解压“cyrus-sasl-2.1.23-static-x86.zip”。
    2. 直接运行解压后的exe文件进行安装。
    3. 进入“C:\CMU\bin”目录,获取“libsasl.dll”并拷贝至HiveODBC解压目录下的Windows目录。

  9. 注册驱动。

    1. 打开Windows操作系统“开始”菜单,输入cmd命令,打开一个命令行窗口,进入6.e目录下的Windows目录。
    2. 执行如下命令。

      odbcreg /i hiveodbc hiveodbc.dll C:\DataSight_Spark_HiveODBC\WindowS

      其中,“C:\DataSight_Spark_HiveODBC\Windows”为HiveODBC解压目录下的Windows目录,用户需根据实际目录做相应修改。

      出现提示后,输入y

      运行结果如下:

      C:\DataSight_Spark_HiveODBC\Windows>odbcreg /i hiveodbc hiveodbc.dll C:\DataSight_Spark_HiveODBC\Windows
      ODBCREG - to register or unregister ODBC driver
      Proceeding to register...
      driver: hiveodbc
      dll: hiveodbc.dll
      path: C:\DataSight_Spark_HiveODBC\Windows
      Confirm(y/n)
      hiveodbc installed/registered successfully

      关于odbcreg工具的参数说明,参考表 2 odbcreg工具参数说明表2

    3. 查看注册表。

      在注册表的“HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI”下可以看到有名字为hiveodbc的驱动存在。

      Windows 32位操作系统的注册表路径为“HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI”。

  10. 配置连接ZooKeeper需要的认证信息和文件。

    从MRS Manager上下载已经创建好的Kerberos用户(例如sparkuser)的Kerberos认证文件“krb5.conf”和“user.keytab”,将这两个文件拷贝至指定的目录,例如“C:\DataSight_Spark_HiveODBC\odbcconf”目录,在该目录下创建“jaas.conf”文件,内容如下:

    Client {
    com.sun.security.auth.module.Krb5LoginModule required
    useKeyTab=true
    keyTab="C:\\DataSight_Spark_HiveODBC\\odbcconf\\user.keytab"
    principal="sparkuser@HADOOP.COM"
    useTicketCache=false
    storeKey=true
    debug=true;
    };

    其中的keyTab为“user.keytab”存放的绝对路径,“principal”为用户的“principal”。

  11. 配置数据源。

    • 配置文件数据源。
      1. 可将HiveODBC解压目录下的Windows目录中的“template.dsn”重命名为后缀是“.dsn”的文件,例如“hive.dsn”。
      2. 下面是配置非集群模式“hive.dsn”的内容示例。
        [ODBC]
        DRIVER=hiveodbc
        MODE=0
        HOST=127.0.0.1
        PORT=23040
        DATABASE=default
        PRINCIPAL=spark/hadoop.hadoop.com@HADOOP.COM
        FRAMED=0
        NAMESPACE=
        KRB5PATH=
        JAASPATH=

        关于文件数据源的配置参数说明请参考表3

    • 配置机器数据源。
      1. 可将HiveODBC解压目录下的Windows目录中的“template.dsn”重命名为后缀是.ini的文件,例如“hive.ini”。
      2. 修改“hive.ini”文件中的内容,必须将“[ODBC]”改成“[Hive]”。hive.ini内容示例:
        [Hive]
        DRIVER=hiveodbc
        MODE=0
        HOST=127.0.0.1
        PORT=23040
        DATABASE=default
        PRINCIPAL=spark/hadoop.hadoop.com@HADOOP.COM
        FRAMED=0
        NAMESPACE=
        KRB5PATH=
        JAASPATH=

        关于机器数据源的配置参数说明请参考表3

      3. 打开Windows操作系统开始菜单,输入cmd命令,打开一个命令行窗口,进入6.e目录下的Windows目录。
      4. 执行如下命令。

        odbcreg /d hiveodbcds C:\DataSight_Spark_HiveODBC\Windows\hive.ini

        其中,“C:\DataSight_Spark_HiveODBC\Windows”为HiveODBC解压目录下的Windows目录,用户需根据实际目录做相应修改。

      5. 出现提示后,确认打印的内容是否和“hive.ini”文件的内容一致,确认一致后输入y
      6. 运行结果如下:
        ODBCREG - to register or unregister ODBC driver
        Attribute to be register are:
        DRIVER = hiveodbc
        DATABASE = default
        HOST = 127.0.0.1
        PORT = 23040
        FRAMED = 0
        MODE = 0
        PRINCIPAL = spark/hadoop.hadoop.com@HADOOP.COM
        NAMESPACE =
        KRB5PATH =
        JAASPATH =
        Confirm(y/n)
        Add datasource.

        样例代码需使用机器数据源。

  12. 安装JDK1.8。

    • 在Oracle官网下载32位的JDK1.8进行安装。
    • 安装完成后,配置系统环境变量PATH,将JDK1.8安装路径下的“jre\bin\client”目录加入PATH里面去。具体操作如下:
      1. 点击Windows“开始”菜单,选择“计算机”,点击右键,选择“属性”。
      2. 在弹出界面中点击“高级系统设置”,在“系统属性”对话框中点击“环境变量”。
      3. 在“系统变量”中找到Path变量,点击“编辑”,在“变量值”中添加“;${JAVA_HOME}\ jre\bin\client”,点击“确定”。

  13. 配置ODBCCLASSPATH环境变量。

    如果是集群模式,需要配置系统环境变量ODBCCLASSPATH,将连接ZooKeeper需要的jar路径加入到ODBCCLASSPATH里面,ODBCCLASSPATH的值为:

    C:/DataSight_Spark_HiveODBC/Windows/jars/zookeeper-3.5.1.jar;C:/DataSight_Spark_HiveODBC/Windows/jars/slf4j-api-1.7.10.jar;C:/DataSight_Spark_HiveODBC/Windows/jars/log4j-1.2.17.jar;C:/DataSight_Spark_HiveODBC/Windows/jars/slf4j-log4j12-1.7.10.jar;C:/DataSight_Spark_HiveODBC/Windows/jars/zk-helper.jar;C:/DataSight_Spark_HiveODBC/Windows/jars/log4j.properties;C:/DataSight_Spark_HiveODBC/Windows/jars/commons-logging-1.1.3.jar

    其中“C:/DataSight_Spark_HiveODBC”为HiveODBC驱动的实际安装路径。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区