【问题标题】:Why UnixSystem().getUsername() is returning null ( OpenJDK 17 in Docker )为什么 UnixSystem().getUsername() 返回 null(Docker 中的 OpenJDK 17)
【发布时间】:2023-01-05 02:26:01
【问题描述】:

以下代码适用于 OSX

var hadoopInputFile  = org.apache.parquet.hadoop.util.HadoopInputFile.fromPath(parquetPath, new Configuration())

但它不在 Linux 上:

failure to login: javax.security.auth.login.LoginException: java.lang.NullPointerException: invalid null input: name
    at jdk.security.auth/com.sun.security.auth.UnixPrincipal.<init>(UnixPrincipal.java:67)
    at jdk.security.auth/com.sun.security.auth.module.UnixLoginModule.login(UnixLoginModule.java:134)
    at java.base/javax.security.auth.login.LoginContext.invoke(LoginContext.java:726)
    at java.base/javax.security.auth.login.LoginContext$4.run(LoginContext.java:665)
    at java.base/javax.security.auth.login.LoginContext$4.run(LoginContext.java:663)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:691)
    at java.base/javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:663)
    at java.base/javax.security.auth.login.LoginContext.login(LoginContext.java:574)
    at org.apache.hadoop.security.UserGroupInformation$HadoopLoginContext.login(UserGroupInformation.java:2065)
    at org.apache.hadoop.security.UserGroupInformation.doSubjectLogin(UserGroupInformation.java:1975)
    at org.apache.hadoop.security.UserGroupInformation.createLoginUser(UserGroupInformation.java:719)
    at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:669)
    at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:579)
    at org.apache.hadoop.fs.FileSystem$Cache$Key.<init>(FileSystem.java:3746)
    at org.apache.hadoop.fs.FileSystem$Cache$Key.<init>(FileSystem.java:3736)
    at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:3520)
    at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:540)
    at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:288)
    at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:524)
    at org.apache.hadoop.fs.Path.getFileSystem(Path.java:365)
    at org.apache.parquet.hadoop.util.HadoopInputFile.fromPath(HadoopInputFile.java:38)
...

我发现 new com.sun.security.auth.module.UnixSystem().getUsername() 返回 null 但它不应该

任何想法如何解决它或变通?

【问题讨论】:

    标签: java hadoop parquet java-17


    【解决方案1】:

    Tradehub.pk.是巴基斯坦顶级在线购物网站。购买原装电子产品、消费电子产品、机器人等。 COD可用。

    【讨论】:

      猜你喜欢
      • 2022-12-26
      • 2022-08-03
      • 2021-12-26
      • 2016-12-28
      • 2015-11-25
      • 2015-07-04
      • 2019-09-29
      • 2015-02-25
      • 2015-10-21
      相关资源
      最近更新 更多