无法从MapR Data Science Refinery泊坞窗容器访问HDFS

时间:2018-12-28 01:47:21

标签: mapr

尝试遵循本文(https://mapr.com/blog/how-to-run-data-science-refinery-from-an-edge-node/)在边缘节点上设置DSR docker映像(标签:v1.1_6.0.0_4.1.0_centos7)(有关如何设置某些env.list值的信息,请参见此处:{ {3}})。但是,一旦启动容器,

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  ]

无法按预期从容器访问MapR HDFS。就是正在运行

ls -lha /mapr/ourcluster.name.local/
容器内的

表示该位置不存在。但是,检查主机maprlogin print上的maprticket到期时间表明该票证仍然有效,可以用于从主机访问HDFS(例如hadoop fs -ls /),并且可以正确地写入该票证。 env.list文件。使用此docker映像的其他人是否知道这里发生了什么?

1 个答案:

答案 0 :(得分:0)

DSR映像似乎存在一个错误,即使在env.list文件中指定的mapr SASL票证存在且有效,该错误也不会在启动时被复制到容器中。因此,容器无法连接到MapR HDFS。为了解决这个问题,做了...

  1. 在与env.list值指定的容器上相同的位置上,创建与票证文件同名的文件,指定票证文件的位置
  2. 手动将票证文件的内容从主机复制粘贴到我们刚刚在docker容器中创建的票证文件
  3. (稍等(约2分钟))重新启动mapr posix服务:sudo service mapr-posix-client-container restart

完成此操作后,容器似乎可以正常访问HDFS(并提交YARN作业)。

(如果有人对为什么会发生这种情况有更多的信息,或者是否有更好的解决方法来使容器按预期工作,请告诉我。)