反馈已提交

网络繁忙

配置Hadoop Hive(HDFS)数据源

  • 文档创建者:Roxy
  • 历史版本:18
  • 最近更新:Roxy 于 2024-12-20
  • icon提示: 本文档适用于 4.0.29 之前版本,4.0.29 及之后版本,请查看 配置Hadoop Hive数据源

    1. 概述

    1.1 版本

    FineDataLink 版本
    功能说明
    4.0.11支持使用Hadoop Hive (HDFS)写入数据

    1.2 应用场景

    FineDataLink 支持读取 Hadoop Hive 中的数据进行数据处理,但是直接通过Hive、Impala的接口写入数据性能不佳,因此 FDL 提供了Hive(HDFS) 写入数据。

    本文将介绍如何连接 Hadoop Hive (HDFS)数据源。

    2. 使用限制

    由于 Hive 底层存储(HDFS)的限制,数据同步、数据转换-DB表输出中仅支持追加写入数据,不支持更新数据。

    3. 准备工作

    3.1 前提条件

    详情请参见:前提条件

    3.2 版本和驱动

    下载驱动,并将其上传至 FineDataLink,如何上传可参见:驱动管理

    注:在上传驱动包时,需要解压下面的「日志jar」文件,和驱动一起上传至 FineDataLink。

    支持的数据库版本驱动包下载 日志jar下载
      hive_1.1

    Hive1.1.zip

    日志jar.rar

    Hadoop_Hive_1.2;hive2.3;
      hive2.1.2;hive2.1.1

    Hadoop Hive.rar 

    3.3 收集连接信息

    在连接数据库之前,请收集以下信息:

    • 数据库所在服务器的 IP 地址和端口号;

    • 数据库的名称;

    • 若是用户名密码认证,需要收集用户名和密码;若是 Kerberos 认证,需要收集客户端 principal 和 keytab 密钥路径;

    • HDFS 文件系统地址(IP 地址和端口号)注:同时需要保证 FineDataLink 所在服务器能访问 HDFS 文件系统端口,例如 HDFS 文件系统默认端口为 8020,且服务器开启了防火墙,则需要参考下文开放 8020 端口。

    Windows 系统开放端口步骤请参见:Windows服务器设置出入站规则 

    Linux 系统开放端口步骤请参见:Linux防火墙使用及配置

    4. 具体连接步骤

    1)管理员登录 FDL 工程,点击「管理系统>数据连接>数据连接管理」,选中某个文件夹后,新建数据连接。如下图所示:

    2)设置数据连接名称(可同时修改数据连接所在目录)。如下图所示:

    3)可根据数据源分类、支持形式、适配模块、数据源名称筛选数据库。如下图所示:

    4)切换驱动为「自定义」选择 3.2 节上传的驱动,并输入 3.3 节收集的连接信息,如下图所示:

    Kerberos 认证方式详情可参见:数据连接 Kerberos 认证

    使用 Kerberos 认证需要注意以下事项:

    • 连接前请检查 /etc/hosts 中的机器名对应 IP 是否为局域网 IP;

    • 检查 /etc/hostname 中机器名设置和 /etc/hosts 中是否配置一致;

    • 检查 FineDataLink 所在机器 hosts 配置的 IP+ 机器名是否正确;

    • 本地连接时需要配置 /etc/hosts 文件,添加远端映射:IP+机器名,例如: 192.168.5.206  centos-phoenix 。

    5)点击「测试连接」,若连接成功则「保存」该连接。如下图所示:

    5. 使用数据源

    可以在数据同步数据转换中使用数据源进行数据读取和写入。

    注:当数据去向为Hive(HDFS),自动建表时,如未特殊配置则中文的字段会变成问号。

    6. 注意事项

    6.1 问题描述

    数据连接报错 org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=WRITE, inode="/":hdfs:supergroup:drwxr-xr-x。

    6.2 解决方案

    6.2.1 解决方案1

    Linux 环境:

    在FDL服务端的 catalina.sh 里面指定新增变量声明:export HADOOP_USER_NAME = hdfs,指定连接 HDFS 的用户为 hdfs;

    注:hdfs 可根据实际用户名修改。

     

    Windows 环境:

    在FDL服务端的 catalina.bat 里面指定新增变量声明:HADOOP_USER_NAME=hdfs,指定连接 HDFS 的用户为 hdfs;

    注:hdfs 可根据实际用户名修改。

    6.2.2 解决方案2(不推荐)

    在不指定用户的情况下,连接HDFS时默认使用root账号,需要关闭HDFS用户验证,可能会带来安全隐患。因为该方案可让所有用户访问 hdfs,不用进入hdfs用户再执行命令。

    注:CDH中没有这个配置,需要手动加进去。

    步骤如下:

    1)找到 hdfs-site.xml 的 HDFS 服务高级配置代码段(安全阀);
    2)dfs.permissions.enabled 的值设置为 false,保存更改,重启 hdfs 。




    附件列表


    主题: 隐藏目录(不在目录树中显示,不可以搜到,可以通过链接访问)
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持