mapr - 无法从 MapR Data Science Refinery docker 容器访问 HDFS
问题描述
尝试按照本文(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 值的信息,请参见此处: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 ]
无法按预期从容器访问 MapR HDFS。IE。跑步
ls -lha /mapr/ourcluster.name.local/
从容器内,显示该位置不存在。然而,检查主机上的 maprticket 过期时间maprlogin print
表明该票仍然有效,可用于从主机访问 HDFS(例如hadoop fs -ls /
),并且已正确写入 env.list 文件。使用此 docker 映像的其他人是否知道这里发生了什么?
解决方案
DSR 映像似乎有一个错误,即使在 env.list 文件中指定的 mapr SASL 票证存在并且有效,它在启动时也不会被复制到容器中。因此,容器无法连接到 MapR HDFS。为了解决这个问题,...
- 在 env.list 值中指定的容器上的相同位置创建了一个与票据文件同名的文件,指定票据文件的位置
- 手动将ticketfile的内容从主机复制粘贴到我们刚刚在docker容器中创建的ticket文件中
- (稍等片刻(~2 分钟))重新启动 mapr posix 服务:
sudo service mapr-posix-client-container restart
完成此操作后,容器似乎能够正常访问 HDFS(并提交 YARN 作业)。
(如果有人有更多关于为什么会发生这种情况的信息,或者是否有更好的解决方法让容器按预期工作,请告诉我)。
推荐阅读
- c++ - ESP32 WiFi.status() 总是返回 WL_DICSONNECTED (STA_MODE)
- excel - 表格数据从 Excel 输入到 Anylogic 中的系统动态库存
- kubernetes - Kubernetes 控制平面通信
- angular - 访问服务之外的值
- python - 组 lat/lon ,如果它们出现在边界框内
- sql - 在 SQL SERVER 的逗号分隔列中获取不同的值
- matlab - 如何从 Simulink 到 Matlab 获得非线性系统的响应曲线特征(上升时间、稳定时间、稳态、过冲)?
- flutter - 单击文本按钮颤动时如何显示包含卡片的ListView
- mysql - SQL 查询性能问题不存在
- java - 在sleuth中添加新标签应该怎么做,比如客户端ip地址,我想在日志中添加客户端ip地址,当然有traceId,spanId