1. 程式人生 > >sqoop接入kerberos安全認證後,本地執行正常,但提交到yarn上連線hive報錯: Unable to obtain password from user

sqoop接入kerberos安全認證後,本地執行正常,但提交到yarn上連線hive報錯: Unable to obtain password from user

日誌資訊:
2018-09-17 11:31:30,774 INFO [OutputFormatLoader-consumer] com.chinacreator.sqoop.connector.hive.HiveExecutor: 連線hive失敗java.io.IOException: Login failure for sqoop/[email protected] from keytab /usr/local/src/sqoop-1.99.7-bin-hadoop200/keytabs/sqoop.keytab: javax.security.auth.login.LoginException: Unable to obtain password from user

java.io.IOException: Login failure for sqoop/
[email protected]
from keytab /usr/local/src/sqoop-1.99.7-bin-hadoop200/keytabs/sqoop.keytab: javax.security.auth.login.LoginException: Unable to obtain password from user at org.apache.hadoop.security.UserGroupInformation.loginUserFromKeytabAndReturnUGI(UserGroupInformation.java:1351) at com.chinacreator.sqoop.connector.hive.HiveExecutor.validate(HiveExecutor.java:111) at com.chinacreator.sqoop.connector.hive.HiveExecutor.<init>(HiveExecutor.java:56) at com.chinacreator.sqoop.connector.hive.HiveLoader.load(HiveLoader.java:57) at com.chinacreator.sqoop.connector.hive.HiveLoader.load(HiveLoader.java:36) at org.apache.sqoop.job.mr.SqoopOutputFormatLoadExecutor$ConsumerThread$1.call(SqoopOutputFormatLoadExecutor.java:279) at org.apache.sqoop.job.mr.SqoopOutputFormatLoadExecutor$ConsumerThread$1.call(SqoopOutputFormatLoadExecutor.java:260) at org.apache.sqoop.utils.ClassUtils.executeWithClassLoader(ClassUtils.java:281) at org.apache.sqoop.job.mr.SqoopOutputFormatLoadExecutor$ConsumerThread.run(SqoopOutputFormatLoadExecutor.java:259) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:748) Caused by: javax.security.auth.login.LoginException: Unable to obtain password from user at com.sun.security.auth.module.Krb5LoginModule.promptForPass(Krb5LoginModule.java:897) at com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Krb5LoginModule.java:760) at com.sun.security.auth.module.Krb5LoginModule.login(Krb5LoginModule.java:617) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at javax.security.auth.login.LoginContext.invoke(LoginContext.java:755) at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680) at javax.security.auth.login.LoginContext.login(LoginContext.java:587) at org.apache.hadoop.security.UserGroupInformation.loginUserFromKeytabAndReturnUGI(UserGroupInformation.java:1340) ... 13 more

本地執行測試一切正常,但提交到yarn上就報錯,經常多次嘗試,最終發現原因是生成祕鑰的sqoop.keytab的許可權問題,解決方案如下:

# chmod a+r sqoop.keytab

相關推薦

sqoop接入kerberos安全認證本地執行正常提交yarn連線hive Unable to obtain password from user

日誌資訊: 2018-09-17 11:31:30,774 INFO [OutputFormatLoader-consumer] com.chinacreator.sqoop.connector.hive.HiveExecutor: 連線hive失敗java.io.IOExc

Ubuntu載入本地磁碟Unable to access ""

行動硬碟安裝Ubuntu,進入Ubuntu系統後開啟Windows下的NTFS分割槽時報錯,錯誤資訊如下: <span style="font-size:12px;">Error moun

pycharm匯入本地檔案程式執行正常匯入模組時出現紅色波浪線

pycharm匯入本地檔案,程式執行正常,但匯入模組時出現紅色波浪線,如下所示: 兩種解決辦法: (1)在檔案前面加“.” (2)點選選單欄的“PyCharm”, 然後選擇“Preferences”,接著依次執行以下操作,最後點選“OK”按鈕。 (3) 

MVC本地執行正常釋出之後 0x80131040

mvc在本地已經執行正常了,釋出之後有一頁出現錯誤,之後在server上直接執行,報錯如下: Exception Details: System.IO.FileLoadException: Could not load file or assembly 'System.Web

TP5本地執行正常線上執行某頁面出現【模板檔案不存在】問題的解決辦法

相信許多小夥伴和我一樣,明明在本地執行頁面一切正常,而到線上(本人是用的虛擬主機)出現瞭如下圖的問題: 其實這個問題出現的原因很簡單,就是我們開發是在windows 系統下,windows系統對大小寫不敏感,而虛擬主機Linux,區分大小寫,所以解決辦法很簡單,如下圖所示:   解決方法就

nginx端口占用啟動bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a ........)

今天在自學Nginx的時候,啟動Windows版本的Nginx時候發現了[emerg] 4276#4280: bind() to 0.0.0.0:80 failed(10013: An attempt was made to access a socket in a way forbidd

redhat7.0系統配置lamp環境Navicat遠端連線mysql2003-can't connect to mysql server on ' ' (10060)解決方案

報錯:2003-can't connect to mysql server on ' ' (10060) 一、分析原因: 防火牆關閉了mysql服務,禁止遠端訪問mysql 二、解決方法: 關閉防火牆: systemctl stop firewalld.service   &nb

生效admin環境變數執行cinder service-listERROR: Unable to establish connection to http://controller:35357/

ERROR: Unable to establish connection to http://controller:35357/ 一、報錯資訊 二、解決方法 一、報錯資訊 [[email protected]

windows下安裝python擴充套件時報unable to find vcvarsall.bat

我在win10環境下安裝一個python擴充套件時,報錯如下:   錯誤原因: %PythonInstallPath%\Lib\distutils\msvc9compiler.py 這個檔案是Python用來處理與VC編譯器有關的操作的。 其中該檔案裡的219行fin

本地連線ORACLEORA-28009: connection as SYS should be as SYSDBA or SYSOPER

1.用jdbc連線: String uName = "sys as sysdba"; String uPwd = "Oracle123"; String driverName= "oracle.jdbc.driver.OracleDriver"; String dbUrl = "

linux中的指令碼手工執行正常crond執行卻無執行結果解決方法!

遇到一個比較奇怪的問題,在redhat6.7上面執行mysqldump備份的一個指令碼,手工測試之後是正常的;so就加上日程,用crond跑了起來。 第二天過來檢查的時候,發現sql檔案是個0位元組的

File zilla遠端連線伺服器伺服器發回了不可路由的地址使用伺服器地址代替

百度到的答案無數,基本套路就這一個:解決方法:更改Filezilla設定,編輯-設定-連線-FTP-被動模式,將“使用伺服器的外部ip地址來代替”改為“回到主動模式”即可。但是根本無效!!!!解決方法:“在網路安全組配置規則,放行ftp被動模式的高階埠1024/65535”如

005-搭建私有倉庫傳映象server gave HTTP response to HTTPS client

報錯: server gave HTTP response to HTTPS client 解決: 在/etc/docker/目錄下,建立daemon.json檔案。 在檔案中寫入{ "in

第一次新建maven專案Failure to transfer org.codehaus.plexus:plexus:pom:3.0.1

problem info: Failure to transfer org.codehaus.plexus:plexus:pom:3.0.1 from http://repo.maven.apache.org/maven2 was cached in the local r

Docker安裝完成啟動Failed to start Docker Application Container Engine

報錯如下:顯示沒有啟動    先關閉防火牆:防火牆關閉指令請看  Linux防火牆篇  方法一:更新Linux核心、yum包;刪除舊版本的docker,重新安裝、重啟伺服器、重啟服務。   解除安裝:yum remove docker-*   更新Linux核心

啟動mysql服務本地計算機上的mysql服務器啟動停止某些服務在....

結束進程 art 分享 start 技術分享 服務 AR all com 報錯如圖: 解決方法:1。初始化data文件(mysql安裝bin目錄下):mysql --initailize,需要等半分鐘左右才會有反應 2.如果提示有錯誤data目錄已經有了,有兩種方式,一種

NTLM 和 Kerberos 安全認證過程簡述

NTLM採用一種質詢/應答訊息交換模式 1、身份認證使用者名稱驗證:客戶端向伺服器端傳送使用者名稱若使用者名稱驗證通過,伺服器端生成隨機數,然後向客戶端傳送該隨機數字。 2、身份認證密碼認證:(1)密碼摘要資訊認證:客戶端軟體利用MD5或者SHA雜湊生成密碼的摘要資訊

asp.net 實現開啟檔案所在的資料夾 本地可以開啟釋出點擊按鈕沒有反應的解決辦法

            此類情況大概是安全範疇的問題             確定上傳資料夾的共享,iis  以及電腦帳戶,以及aspnet 等是否有對應的相關許可權             1.確認ASPNET 賬戶屬於管理員級別             2.在“服務”裡

windows版redis本地計算機上的Redis服務啟動停止

col target -c 計算 onf ont font -i 指定 解決 1、如果需要臨時啟動Redis 使用命令:redis-server.exe redis.windows.conf --maxheap 200m 說明:200

最近在做支付寶支付本地測試一切正常傳到服務器就遇到

-1 tail 服務 war tar nbsp 百度 nature function 最近在做支付寶支付,在本地測試一切正常,上傳到服務器就遇到報錯: Warning: openssl_sign() [function.openssl-sign]: Unknown sign