簡體   English   中英

如何通過對Hive進行編碼來模擬用戶

[英]How to impersonate user through coding for hive

我們正在進行風暴和蜂巢集成,其中strom將通過蜂巢寫入數據HDFS。 但是,由於我們部署的拓撲是由strom(用戶在運行風暴拓撲的群集上創建的)運行的。 但是,配置單元沒有用戶作為風暴,並且我們不想創建它(出於某些原因)。 它失敗並出現以下異常

org.apache.hadoop.security.AccessControlException: Permission denied: user=strom, access=WRITE, inode="/user/tales/table":hdfs:hdfs:drwxr-xr-x 

用戶X已創建表。 我知道這種情況可以通過以下方式解決

http://doc.mapr.com/display/MapR/Hive+User+模擬-使用此工具,我們可以模擬來自Hive配置的用戶
要么

<property>
  <name>dfs.permissions</name>
  <value>false</value>
</property>

禁用用戶授權。

您是否知道有什么方法可以在寫入Hive表時通過java代碼模擬用戶X?

該MapR帖子涉及一個不同的問題:HiveServer2 (JDBC服務)代表遠程客戶端運行查詢,這是真實的客戶端/服務器模擬(如runAs )。

就您而言,這更像是偽造另一個身份。 或使用頭像。 [在此處插入您喜歡的類比]無論如何:

  • 在安全群集上,您將為用戶X創建Kerberos票證
  • 否則, HADOOP_USER_NAME可以作為Java屬性或環境變量使用; 例如看到那個帖子

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM