- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在 OpenShift 平台上启动 Apache spark 从节点。 OpenShift 在内部以匿名用户身份启动 docker 镜像(用户没有名称,只有 UID)。我收到以下异常 <i></i>
<i>
<pre><code>17/07/17 16:46:53 INFO SignalUtils: Registered signal handler for INT
12 17/07/17 16:46:55 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
13 Exception in thread "main" java.io.IOException: failure to login
14 at org.apache.hadoop.security.UserGroupInformation.loginUserFromSubject(UserGroupInformation.java:824)
15 at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:761)
16 at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:634)
17 at org.apache.spark.util.Utils$$anonfun$getCurrentUserName$1.apply(Utils.scala:2391)
18 at org.apache.spark.util.Utils$$anonfun$getCurrentUserName$1.apply(Utils.scala:2391)
19 at scala.Option.getOrElse(Option.scala:121)
20 at org.apache.spark.util.Utils$.getCurrentUserName(Utils.scala:2391)
21 at org.apache.spark.SecurityManager.<init>(SecurityManager.scala:221)
22 at org.apache.spark.deploy.worker.Worker$.startRpcEnvAndEndpoint(Worker.scala:714)
23 at org.apache.spark.deploy.worker.Worker$.main(Worker.scala:696)
24 at org.apache.spark.deploy.worker.Worker.main(Worker.scala)
25 Caused by: javax.security.auth.login.LoginException: java.lang.NullPointerException: invalid null input: name
26 at com.sun.security.auth.UnixPrincipal.<init>(UnixPrincipal.java:71)
27 at com.sun.security.auth.module.UnixLoginModule.login(UnixLoginModule.java:133)
28 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
29 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
30 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
31 at java.lang.reflect.Method.invoke(Method.java:497)
32 at javax.security.auth.login.LoginContext.invoke(LoginContext.java:755)
33 at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195)
34 at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682)
35 at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680)
36 at java.security.AccessController.doPrivileged(Native Method)
37 at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
38 at javax.security.auth.login.LoginContext.login(LoginContext.java:587)
39 at org.apache.hadoop.security.UserGroupInformation.loginUserFromSubject(UserGroupInformation.java:799)
40 at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:761)
41 at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:634)
42 at org.apache.spark.util.Utils$$anonfun$getCurrentUserName$1.apply(Utils.scala:2391)
43 at org.apache.spark.util.Utils$$anonfun$getCurrentUserName$1.apply(Utils.scala:2391)
44 at scala.Option.getOrElse(Option.scala:121)
45 at org.apache.spark.util.Utils$.getCurrentUserName(Utils.scala:2391)
46 at org.apache.spark.SecurityManager.<init>(SecurityManager.scala:221)
47 at org.apache.spark.deploy.worker.Worker$.startRpcEnvAndEndpoint(Worker.scala:714)
48 at org.apache.spark.deploy.worker.Worker$.main(Worker.scala:696)
49 at org.apache.spark.deploy.worker.Worker.main(Worker.scala)
50
51 at javax.security.auth.login.LoginContext.invoke(LoginContext.java:856)
52 at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195)
53 at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682)
54 at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680)
55 at java.security.AccessController.doPrivileged(Native Method)
56 at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
57 at javax.security.auth.login.LoginContext.login(LoginContext.java:587)
58 at org.apache.hadoop.security.UserGroupInformation.loginUserFromSubject(UserGroupInformation.java:799)
59 ... 10 more
</code></pre>
</i>
<i></i>
我尝试在 spark-default.conf 上设置以下属性仍然没有用。
spark.eventLog.enabled false
spark.ui.enabled false
spark.acls.enable false
spark.admin.acls *
spark.modify.acls *
spark.modify.acls.groups *
spark.ui.view.acls.groups *
spark.ui.enabled false
你能帮我解决这个问题吗?
谢谢
纳温
最佳答案
这是一种不需要 nss_wrapper
的替代方法。
默认情况下,OpenShift 容器使用匿名用户 ID 和组 ID 0
(也称为“根”组)运行。首先,设置您的图像,以便 /etc/passwd
由 group-id 0
拥有,并且具有组写入权限,例如这个 Dockerfile 片段:
RUN chgrp root /etc/passwd && chmod ug+rw /etc/passwd
那么你可以在容器启动时添加如下逻辑,例如下面的脚本可以作为一个ENTRYPOINT
:
#!/bin/bash
myuid=$(id -u)
mygid=$(id -g)
uidentry=$(getent passwd $myuid)
if [ -z "$uidentry" ] ; then
# assumes /etc/passwd has root-group (gid 0) ownership
echo "$myuid:x:$myuid:$mygid:anonymous uid:/tmp:/bin/false" >> /etc/passwd
fi
exec "$@"
这个入口点脚本会自动为匿名 uid 提供一个 passwd 文件入口,这样需要它的工具就不会失败。
有一篇关于 OpenShift 中匿名 uid 和相关主题的不错的博客文章: https://blog.openshift.com/jupyter-on-openshift-part-6-running-as-an-assigned-user-id/
关于apache-spark - Apache Spark 独立用于匿名 UID(无用户名),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45198252/
如果满足条件,我如何才能只获取特定记录? 我有代码为 "SELECT a.id, a.text, a.uid, a.time FROM story a INNER JOIN friends b
每当我尝试提取用户的 uid 时,它都会给我电子邮件。有谁知道为什么? var user = firebase.auth().currentUser; if (user != null
我正在为自己的业务编写一个简单的客户数据库(新娘礼服),并尝试实现以下目标: 我尝试过滤掉那些没有“ordered = 1”标志的uid。因此,不应显示来自用户的所有条目,其中至少一个条目具有“ord
我有一张表,UID 是主键。在旧系统中,它不是主键。因此,人们可以向该字段插入数据,但我们不想再这样做了。 在这个表中,我在 UID 2000 和 2005 之间有一个差距(2003 被占用)。我如何
我刚开始使用 Firebase(我正在使用react-redux-firebase,但不确定这是否与这个问题相关)。我在使用这些标准身份验证规则时遇到问题: { "rules": {
警告:我对一般编码和 xcode 非常陌生 运行 Xcode 8.2 无论如何,我已经保存了我的用户身份验证详细信息、电子邮件密码。我将它们保存在 user/currentUser.UID 下,它提供
有人知道吗,如果我从我的应用程序启动 android web-view 窗口,它是否与启动它的应用程序具有相同的 UID。我正在使用三星手机,我认为他们使用的是 Web-Kit 浏览器,但我也想知道使
我有一个正在注册用户的注册表单,如果注册完成,应该重定向到index.html(主页)。 问题:按下提交按钮后,页面刷新并且表单获取重置,不会重定向,除非我按 CTRL + SHIFT + R 然后将
这个问题在这里已经有了答案: SecurityException: caller uid XXXX is different than the authenticator's uid (17 个答案
我正在尝试构建一个基于 PHP 的 Web 软件,但我遇到了一个我不知道解决方案语法的问题。 基本上,我有两个表: +-------------+ +---------------+ | Ce
我有一个 Firebase 表,其中包含任务列表。 任务有一个名为 uid 的字段。 我想获取我传入的 uid == uid 的所有任务。 最佳答案 Firebase 允许您对一组数据进行排序和过滤。
这是一个 set-root-uid 程序 $ls -l -rwsr-sr-x 1 root root 7406 2011-12-13 22:37 ./x* 源代码: int main(void) {
我在 OSX 上使用 emacs 24.5.1 和 mu4e 和 mbsync。我正在与 imac 和笔记本电脑同步,所以可能与前面提到的错误相同 here ,但没有人发布解决方案。 我的具体错误是在
我注意到 access(2) 系统调用使用真实且无效的用户 ID 进行访问控制检查的困难之处。虽然这与 Linux 上的 access(2) 手册页所说的一致,但对我来说仍然没有什么意义......
我需要帮助来了解如何创建数据库系统,以便每个用户都有自己的数据,我想确保当我从我的站点发送数据时,它是用这个顺序保存的(集合名称)/(创建该数据的用户的 uid)/(名称由日期创建的文档#this 我
假设我有一个独特的 VarChar(32) 列。 例如。 13bfa574e23848b68f1b7b5ff6d794e1。 我想在将列转换为 int 时保留它的唯一性。我想我可以将所有字母转换为它们
我想弄清楚如何将我的“数据”数组中的 Firebase UID 字符串与我从 firebase 调用中提取的键相匹配。我需要将“数据”数组中的字符串与“键”相匹配,然后我就可以按我想要的方式操作数据。
如果我使用 imaplib 在收件箱中有此邮件的 UID,如何获取所有 Maill 文件夹中邮件的 UID?如您所知,所有邮件和收件箱中的两个实例中的谷歌商店邮件我想使用 imaplib 将其移动到垃
我正在制作一个控制电话网络状态的应用(在 2G/3G 之间切换)。 出于某种原因,我的应用程序使用 sharedUserId="android.uid.system",但在 Phone 上下文下运行(
我在尝试实现 Sample Sync Adapter 应用程序时收到上述异常。我看过很多与此问题相关的帖子,但没有令人满意的回复。 所以我会记下my solution在这里以防其他人遇到同样的问题。
我是一名优秀的程序员,十分优秀!