我在RStudio中通过JDBC建立了一个没有问题的蜂窝连接,我在Tools < Shell: kinit中创建了Kerberos票证,并且所有工作都很好,我可以使用Kerberos。
但是,如果我通过shell/ssh和将R加载到终端(而不是RStudio)进行相同的方法,则R不能使用Kerberos文件并失败。
我怎样才能使用Kerberos票?
> [user@server ~]$: kinit
>
> Password for user@domain: --i put the password--
>
> [user@server ~]$: R
>
> -- R load --
>
> \> source('samecode.r')
>
> Error Caused by: java.sql.SQLException: Could not create secure connection to jdbc:hive2:....etc有什么想法吗?如果我们不创建票证,这个错误会在RStudio中发生,但是当在tools>shell中创建它时,所有的操作都很好,在控制台中是不可能的。我试着用
system('kinit');并创建票据罚款,但不能在其余的代码中使用它。
发布于 2015-11-16 12:58:44
嗨,您可以使用keytab文件和下面的命令在R中创建kerberos票证:
system("kinit username@ADS.IU.EDU -k -t username.keytab")要创建keytab,您必须通过shell执行以下操作:
ktutil
ktutil: addent -password -p username@ADS.IU.EDU -k 1 -e rc4-hmac
Password for username@ADS.IU.EDU: [enter your password]
ktutil: addent -password -p username@ADS.IU.EDU -k 1 -e aes256-cts
Password for username@ADS.IU.EDU: [enter your password]
ktutil: wkt username.keytab
ktutil: quit 解释了创建keytab的所有步骤,并解释了这里
keytab文件必须位于您的工作目录中。
https://stackoverflow.com/questions/33735746
复制相似问题