Не удается получить доступ к HDFS из док-контейнера MapR Data Science Refinery - PullRequest
0 голосов
/ 28 декабря 2018

Попытка следовать этой статье (https://mapr.com/blog/how-to-run-data-science-refinery-from-an-edge-node/) для настройки образа докера DSR (тег: v1.1_6.0.0_4.1.0_centos7 ) на краевом узле (см. Здесь, чтобы узнать, какустановите некоторые из значений env.list: https://mapr.com/docs/61/AdvancedInstallation/Env_Variables_Installer_Container.html). Однако, как только контейнер запущен,

docker run --rm -it --env-file ./mapr-docker-env.list
--cap-add SYS_ADMIN --cap-add SYS_RESOURCE --device /dev/fuse -p 9995:9995
-p 10000-10010:10000-10010 -v /tmp/maprticket_10003:/tmp/dsr_ticket:ro -v
/sys/fs/cgroup:/sys/fs/cgroup:ro docker.io/maprtech/data-science-refinery
Container timezone will be set from value passed in MAPR_TZ:
....
....
....
opt/mapr/lib/baseutils*.jar:/opt/mapr/lib/maprutil*.jar:/opt/mapr/lib/json-1.8.jar:/opt/mapr/lib/flexjson-2.1.jar
org.apache.livy.server.LivyServer, logging to
/opt/mapr/livy/livy-0.5.0/logs/livy-myuser-server.out
Log dir doesn't exist, create /opt/mapr/zeppelin/zeppelin-0.8.0/logs
Zeppelin start                                             [  OK  ]

не может получить доступ к HDR MapR из контейнера, как ожидалось. Т.е. работает

ls -lha /mapr/ourcluster.name.local/

изнутри контейнера показывает, что местоположение не существует. Тем не менее, проверка срока действия maprticket на хост-компьютере maprlogin print показывает, что билет все еще действителен, его можно использовать для доступа к HDFS изhost (например, hadoop fs -ls /) и правильно записывается в файл env.list. Кто-нибудь еще, использующий этот образ докера, знает, что здесь происходит?

1 Ответ

0 голосов
/ 28 декабря 2018

Кажется, что в образе DSR есть ошибка, из-за которой, несмотря на то, что билет mapr SASL, указанный в файле env.list, существует и действителен, он не копируется в контейнер при запуске.Таким образом, контейнер не может подключиться к MapR HDFS.Чтобы исправить это, сделал ...

  1. Создал файл с тем же именем, что и файл заявки, в том же месте на контейнере, как указано в значении env.list, указывающем, где будет находиться файл заявки
  2. Вручную скопируйте и скопируйте содержимое файла заявки с хоста в файл заявки, который мы только что создали в контейнере Docker
  3. (после небольшого ожидания (~ 2 минуты)) Перезапустил службу pos mapr: sudo service mapr-posix-client-container restart

После этого контейнер, по-видимому, может получить доступ к HDFS (и отправлять задания YARN) в порядке.

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

...