草庐IT

samba-winbind-kerberos

全部标签

java - 自动续订 Kerberos 票证不适用于 Java

在我的服务器应用程序中,我从我的Java应用程序连接到Kerberos安全的Hadoop集群。在应用程序启动时我会调用UserGroupInformation.loginUserFromKeytabAndReturnUGI(...);我正在使用原生FileSystemAPI执行基本文件操作,例如FileSystem.exists()和FileSystem.delete()我的应用程序在24小时后抛出以下错误。那是Kerberos票证的到期日。Causedby:java.io.IOException:javax.security.sasl.SaslException:GSSinitiat

rest - curl:如何在 Windows 上使用 Kerberos 而不是 NTLM 身份验证?

我正在尝试连接到Kerberos安全性下的LivyREST服务。在LinuxCentoS上,curl与negotiate一起工作正常,在收到Kerberoskinit票据后连接通过curl--negotiate-u:http://service_link我面临的问题是尝试在远程Windows桌面上做同样的事情。我正在使用适用于Windows的MITKerberos,它能够成功执行kinit。但是,curl似乎正在使用NTLMSSL票证而不是Kerberos进行协商,这会导致以下错误:AuthenticationFilter:Authenticationexception:org.apa

hadoop - Hive JDBC Kerberos 连接错误

我正在尝试通过JDBC连接到Hive-Server2。服务器启用了kerberos。我正在使用以下代码,我正在运行存在key表文件的边缘节点的代码我错过了什么?importorg.apache.hadoop.security.UserGroupInformation;publicclassHiveJdbcClient{privatestaticStringdriverName="org.apache.hive.jdbc.HiveDriver";publicstaticvoidmain(String[]args)throwsSQLException,IOException,ClassNo

Hadoop - 无法指定服务器的 Kerberos 主体名称

错误-无法指定服务器的Kerberos主体名称我正在尝试使用Kerberos设置Hadoop集群。在开始Kerberos配置之前,我设法让集群与Spark和Yarn一起工作。目前我的主节点和三个节点正在运行,但我在yarn日志中收到错误消息。错误:java.io.IOException:Failedonlocalexception:java.io.IOException:java.lang.IllegalArgumentException:Failedtospecifyserver'sKerberosprincipalname核心站点.xmlfs.default.namehdfs://

Hadoop kerberos 票据自动更新

我在使用以下命令从HDFS下载大文件夹时遇到了一些问题:hadoopfs-get/path/to/hdfs/big/folder.该文件夹很大(将近3TB),kerberos票证的生命周期为10小时,可续订生命周期为7天。下载需要10多个小时,所以我无法完成操作(kerberos安全异常)。有什么办法可以设置get操作的ticket自动续订吗? 最佳答案 “renewablelifetimeof7days”表示您可以明确续订票证,无需提供密码,期限为7天;每次续订都会让您多用10小时。我知道Linux捆绑了一个自动更新(和自动重新创

hadoop - 使用 --proxy-user、--keytab 和 --principal 参数在 hadoop kerberos 中提交 spark-submit

只是想得到澄清,如果spark-submit--keytab--principal&&--proxy-user参数可以共存吗?我们要求以真实的业务用户身份提交作业,但该用户在hadoopkdc中没有主体。每当同时使用proxy-user和kerberosprincipal时,我都会遇到异常。17/02/0913:51:43INFODFSClient:CreatedHDFS_DELEGATION_TOKENtoken379foratlason10.12.118.92:8020Exceptioninthread"main"java.io.IOException:java.lang.refl

java - 如何访问以编程方式启用 Kerberos 的 hadoop 集群?

我有这段代码可以从Hadoop文件系统中获取文件。我在单个节点上安装了hadoop,并从我的本地机器上运行了这段代码,看看它是否能够从该节点上的HDFS设置中获取文件。它奏效了。packagecom.hdfs.test.hdfs_util;/*Copyfilefromhdfstolocaldiskwithouthadoopinstallation**paramsaresomethinglike*hdfs://node01.sindice.net:8020/user/bob/file.zipfile.zip**/importjava.io.IOException;importorg.ap

Hadoop Kerberos : hdfs command 'Failed to find any Kerberos tgt' even though I had got one ticket using kinit

我为Hadoop集群设置了Kerberos身份验证。当我尝试使用kinit获取kerberos票证时,它将票证存储在krb5cc_0中$sudoklistTicketcache:FILE:/tmp/krb5cc_0Defaultprincipal:hduser/stwhdrm01@FDATA.COMValidstartingExpiresServiceprincipal01/04/201810:15:1401/05/201810:15:14krbtgt/FDATA.COM@FDATA.COM但是当我尝试在命令行上列出HDFS目录时,出现以下错误:$hdfsdfs-ls/openjdkv

hadoop - Java - 无法指定服务器的 Kerberos 主体名称

我有一些使用HDFS和Kerberos身份验证的集成测试。当我运行它们时,我得到这个异常:java.io.IOException:Failedonlocalexception:java.io.IOException:java.lang.IllegalArgumentException:Failedtospecifyserver'sKerberosprincipalname;HostDetails:localhostis:"Serbans-MacBook-Pro.local/1.2.3.4";destinationhostis:"10.0.3.33":8020;atorg.apache.

java - 在没有 SPnego 的情况下访问受 kerberos 保护的 WebHDFS

我有一个使用WebHDFS管理HDFS的工作应用程序。我需要能够在Kerberos安全集群上执行此操作。问题是,没有库或扩展来为我的应用协商票证,我只有一个基本的HTTP客户端。是否可以创建一个Java服务来处理票证交换,一旦它获得服务票证就将其传递给应用程序以用于HTTP请求?换句话说,我的应用程序会要求Java服务协商票证,它会以字符串或原始字符串的形式将服务票证返回给我的应用程序,而应用程序只会将其附加到HTTP请求?编辑:是否有像@SamsonScharfrichter为HTTPfs描述的类似的优雅解决方案?(据我所知,它不支持委托(delegate)token)EDIT2:大