如何解决使用 Kerberos 身份验证和 Livy通过 sparkmagic时,文件路径变得隐藏,无法访问
我在使用 sagemaker 设置 EMR 时使用了此快速入门指南 (https://github.com/aws-quickstart/quickstart-hail)。
由于安全要求,我必须启用 kerberos(EMR 集群中的本地 KDC),并且我参考了本指南 (https://aws.amazon.com/blogs/machine-learning/securing-data-analytics-with-an-amazon-sagemaker-notebook-instance-and-kerberized-amazon-emr-cluster/) 来设置 Kerberos。
一切正常,只是由于访问限制无法保存散景图。 (
我尝试通过 sagemaker 笔记本(通过 sparkmagic + livy)运行 ls -la /
,但情节路径 /plots
和 /var/www/html/plots
未显示且无法访问。
但是,当使用 ssh 运行 ls -la
到主节点时,我能够看到这些文件夹路径。使用 chmod -R 777 /var/www
更改权限也无法解决此问题。
知道是否有 kerberos/livy 设置可以隐藏/保护某些文件路径不被 kerberos 身份验证的用户访问吗?
解决方法
我找到了发生这种情况的原因。
对 EMR 使用 Kerberos 身份验证时,sparkmagic 在 const axios = require("axios");
const { HttpProxyAgent,HttpsProxyAgent } = require("hpagent");
async function testProxy() {
try {
const proxy = "http://username:password@myproxy:port";
// hpagent configuration
let agentConfig = {
proxy: proxy,// keepAlive: true,// keepAliveMsecs: 2000,// maxSockets: 256,// maxFreeSockets: 256,};
axios.defaults.httpAgent = new HttpProxyAgent(agentConfig);
axios.defaults.httpsAgent = new HttpsProxyAgent(agentConfig);
// Make a simple request to check for the IP address.
let res = await axios.get("https://api.ipify.org/?format=json");
console.log(res.data);
} catch (error) {
console.error(error);
}
}
testProxy();
而不是 core node
中启动 spark 上下文。因此,它们是 2 个独立的文件系统,因此我无法看到在 master node
但不是 master node
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。