java - Dockerfile授予hdfs权限

标签 java apache-spark hadoop dockerfile hdfs

我有一个dockerfile可以运行我想要在容器中进行的所有操作。在这种情况下,我想运行一个spark代码,并在dockerfile中授予spark权限以在特定目录中写入。
现在,我还希望允许spark在hdfs上运行。为此,我像在其他情况下一样使用“chown -R”,但对于HDFS则不起作用。

FROM maven:3.6.3-jdk-8-slim
COPY ./ /test
WORKDIR /teste
RUN mvn -e install
RUN apt-get update && \
 ...
chown -R spark:spark /usr/spark* && \
chown -R spark:spark hdfs://localhost:8020/user/admin*

USER spark
WORKDIR /opt/spark
这样,我可以在目录“/ usr / spark”中写入文件,但不能在hdfs中。有人可以告诉我我在做什么错吗?我不能对HDFS做同样的事情吗?

最佳答案

chown本身用于本地文件
您需要hadoop fs chown用于HDFS文件。
但是,您确实应该在容器构建过程之外执行此操作,因为localhost:8020是容器本身,并且不是可访问的HDFS位置

关于java - Dockerfile授予hdfs权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63531426/

相关文章:

hadoop - 写入期间分割文件

java - 使用-files参数将文件传递给Hadoop

hadoop - 在 pyspark 中使用 zip

java - 正则表达式处理键值对

java - 使这个 QuickSort Java 程序变得更好

java - run() 方法后线程继续运行

scala - scala spark中的值和列操作,如何使用带有spark列的运算符左侧的值?

scala - 编写在 Scala 中调用泛型函数的泛型函数

java - 捕获spark中执行的sql的异常

Java 8 功能接口(interface)对象的 Java Hashcode 和 Equals