Spark поддерживает несколько пользователей? - PullRequest
0 голосов
/ 14 сентября 2018

В данный момент у меня работает кластер Spark 2.3.1 с 3 узлами, и я также использую сервер zeppelin, используя обычного пользователя, такого как ulab.

Из zeppelin я запускал команды:

%spark
val file = sc.textFile("file:///mnt/glusterfs/test/testfile")
file.saveAsTextFile("/mnt/glusterfs/test/testfile2")

Он сообщает много сообщений об ошибках, например:

WARN [2018-09-14 05:44:50,540] ({pool-2-thread-8} NotebookServer.java[afterStatusChange]:2302) - Job 20180907-130718_39068508 is finished, status: ERROR, exception: null, result: %text file: org.apache.spark.rdd.RDD[String] = file:///mnt/glusterfs/test/testfile MapPartitionsRDD[49] at textFile at <console>:51
org.apache.spark.SparkException: Job aborted.
  ...
  ... 64 elided
Caused by: java.io.IOException: Failed to rename DeprecatedRawLocalFileStatus{path=file:/mnt/glusterfs/test/testfile2/_temporary/0/task_20180914054253_0050_m_000018/part-00018; isDirectory=false; length=33554979; replication=1; blocksize=33554432; modification_time=1536903780000; access_time=0; owner=; group=; permission=rw-rw-rw-; isSymlink=false} to file:/mnt/glusterfs/test/testfile2/part-00018

И я обнаружил, что некоторые временные файлы принадлежат пользователю root, а некоторые принадлежат ulab, например:

bash-4.4# ls -l testfile2
total 32773
drwxr-xr-x    3 ulab     ulab          4096 Sep 14 05:42 _temporary
-rw-r--r--    1 ulab     ulab      33554979 Sep 14 05:44 part-00018
bash-4.4# ls -l testfile2/_temporary/
total 4
drwxr-xr-x  210 ulab     ulab          4096 Sep 14 05:44 0
bash-4.4# ls -l testfile2/_temporary/0
total 832
drwxr-xr-x    2 root     root          4096 Sep 14 05:42 task_20180914054253_0050_m_000000
drwxr-xr-x    2 root     root          4096 Sep 14 05:42 task_20180914054253_0050_m_000001
drwxr-xr-x    2 root     root          4096 Sep 14 05:42 task_20180914054253_0050_m_000002
drwxr-xr-x    2 root     root          4096 Sep 14 05:42 task_20180914054253_0050_m_000003
....

Есть ли какие-либо настройки, чтобы разрешить все эти временные файлы, созданные ULAB? так что мы можем использовать несколько пользователей в драйвере искры для изоляции привилегий.

1 Ответ

0 голосов
/ 15 сентября 2018

Вы можете включить опцию «Олицетворение пользователя» для интерпретатора спарк, который запустит задание спарк как зарегистрированный пользователь. Для получения дополнительной информации см. ссылку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...