配置Hadoop Hive(HDFS)資料源

  • 文档创建者:Roxy
  • 历史版本:16
  • 最近更新:Nikozhan 于 2025-02-10
  • 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的API寫入資料效能不佳,因此 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 。




    附件列表


    主题: 配置資料源
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!