如何从本地 Hadoop 2.6 安装访问 S3/S3n?

2023-12-20

我正在尝试在本地计算机上重现 Amazon EMR 集群。为此,我安装了目前 Hadoop 的最新稳定版本 - 2.6.0 http://ftp.cixug.es/apache/hadoop/common/hadoop-2.6.0/。 现在我想访问 S3 存储桶,就像我在 EMR 集群中所做的那样。

我已在 core-site.xml 中添加了 aws 凭证:

<property>
  <name>fs.s3.awsAccessKeyId</name>
  <value>some id</value>
</property>

<property>
  <name>fs.s3n.awsAccessKeyId</name>
  <value>some id</value>
</property>

<property>
  <name>fs.s3.awsSecretAccessKey</name>
  <value>some key</value>
</property>

<property>
  <name>fs.s3n.awsSecretAccessKey</name>
  <value>some key</value>
</property>

注意:由于按键上有一些斜杠,我用 %2F 转义了它们

如果我尝试列出存储桶的内容:

hadoop fs -ls s3://some-url/bucket/

我收到此错误:

ls:方案没有文件系统:s3

我再次编辑了 core-site.xml,添加了与 fs 相关的信息:

<property>
  <name>fs.s3.impl</name>
  <value>org.apache.hadoop.fs.s3.S3FileSystem</value>
</property>

<property>
  <name>fs.s3n.impl</name>
  <value>org.apache.hadoop.fs.s3native.NativeS3FileSystem</value>
</property>

这次我得到了一个不同的错误:

-ls: Fatal internal error
java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hadoop.fs.s3.S3FileSystem not found
        at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2074)
        at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2578)
        at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2591)

不知怎的,我怀疑 Yarn 发行版没有必要的 jar 来读取 S3,但我不知道从哪里可以获得这些。任何朝这个方向的指示将不胜感激。


由于某种原因,罐子hadoop-aws-[version].jar其中包含实现NativeS3FileSystem不存在于classpathhadoop在2.6和2.7版本中默认使用。因此,尝试通过添加以下行将其添加到类路径中hadoop-env.sh它位于$HADOOP_HOME/etc/hadoop/hadoop-env.sh:

export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HADOOP_HOME/share/hadoop/tools/lib/*

假设您使用的是 Apache Hadoop 2.6 或 2.7

顺便说一句,您可以使用以下命令检查 Hadoop 的类路径:

bin/hadoop classpath
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从本地 Hadoop 2.6 安装访问 S3/S3n? 的相关文章

  • 通过Oozie命令行指定多个过滤条件

    我正在尝试通过命令行搜索一些特定的 oozie 作业 我使用以下语法进行相同的操作 oozie jobs filter status RUNNING status KILLED 但是 该命令仅返回正在运行的作业 而不是已杀死的作业 需要帮助
  • AWS CDK 授予堆栈外部资源的权限

    我对 AWS CDK 相当陌生 并且没有太多使用 AWS 的经验 在我正在编写的 CDK 堆栈中 我必须向使用其他 CDK 模板构建且已位于 aws 中的资源授予权限 假设我的堆栈 A 包含一个 lambda 该 lambda 将从另一个服
  • 允许 Amazon VPC A 访问 VPC B 上的新私有子网吗?

    我有一个现有的 VPC vpcA 并且最近设置了一个新的 VPC vpcB 同时具有私有子网 privateSubnet 和公共子网 publicSubnet 我想允许来自以下位置的连接vpcA to vpcB vpcB设置了堡垒服务器以允
  • 亚马逊 SQS 标签

    我们正在尝试在两个 AWS 应用程序之间设置 Amazon SQS 管理层希望跟踪与所有亚马逊资源相关的成本 是否可以标记 Amazon Simple Queue Service 资源 SQS 现在支持此功能 https aws amazo
  • AWS 无法验证提供的访问凭证。 AuthFailed 仅在特定区域

    我正在尝试通过 linux aws CLI 执行一些操作 我的凭据文件 100 正确 用户拥有 EC2FullAccess 和 Amdinistrative 最高级别 权限 我能够执行所有命令 问题是以下区域产生 AuthFailed 错误
  • 如何使用 C# / .Net 将文件列表从 AWS S3 下载到我的设备?

    我希望下载存储在 S3 中的多个图像 但目前如果我只能下载一个就足够了 我有对象路径的信息 当我运行以下代码时 出现此错误 遇到错误 消息 读取对象时 访问被拒绝 我首先做一个亚马逊S3客户端基于我的密钥和访问配置的对象连接到服务器 然后创
  • 我可以更改 CloudWatch 上的公制单位吗?

    我正在将指标数据发送到 CloudWatch 它们被发送到 AWSStandardUnit Count单位 但后来我把它们改为StandardUnit Milliseconds 在 AWS 的仪表板上 我仍然看到以下数据Count unit
  • 如何达到AWS Lambda并发执行限制?

    UPDATE 下面的原始测试代码基本上是正确的 但在 NodeJS 中 各种 AWS 服务的设置应该根据以下内容略有不同 SDK link https docs aws amazon com sdk for javascript v2 de
  • 如何解决 java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed with code 2?

    我正在尝试在 Hadoop 环境中执行 NLTK 以下是我用于执行的命令 bin hadoop jar HADOOP HOME contrib streaming hadoop streaming 1 0 4 jar input user
  • AWS Athena csv 元数据分隔符在首次查询使用后发生更改

    我想向 athena 查询 s3 csv 文件 源 csv 文件描述 分隔符 system information val1 val2 val3 val4 val5 在此基础上我在 athena 中创建表 Create external t
  • nodejs knox 放入 s3 结果是 403

    我尝试在 nodejs 项目中使用 knox 上传到 Amazon s3 存储桶 但无法解决 403 错误 我已确保密钥 秘密和存储桶已正确设置 我真的需要那些有更多经验的人的帮助 我的节点代码如下 var upload test func
  • CNAME 速度慢吗?

    我将 CNAME 与 S3 CloudFront 一起使用来提供一些静态文件 例如 js css 图像等 我这样做是为了使存储桶的 URL 更漂亮 因为我认为最好将所有内容都定位到我的网站 以防万一将来我想移动这些文件 更改应该是透明的 今
  • 未找到命令:Amazon Linux 2018.03 上的 systemctl

    我正在关注此 Amazon AWS 安装 SSL 证书指南 https docs aws amazon com AWSEC2 latest UserGuide SSL on an instance html 我使用 Amazon Linux
  • 从机上的 DiskErrorException - Hadoop 多节点

    我正在尝试处理来自 hadoop 的 XML 文件 在对 XML 文件调用字数统计作业时出现以下错误 13 07 25 12 39 57 INFO mapred JobClient Task Id attempt 201307251234
  • 向多个 EC2 实例发送 AWS CloudWatch 警报

    我想要应用 CloudWatch 警报来停止我们的预生产环境中未使用的实例 我们经常会遇到实例被启动 使用然后保持打开状态 这确实开始花费我们相当多的钱 CloudWatch 警报有一个方便的功能 我们可以根据一些指标停止 这太棒了 我想用
  • 如何导入 boto3 ssm ParameterNotFound 异常?

    我想import the exception当一个boto3 ssm找不到参数get parameter 我正在尝试添加一些额外的内容ssm的功能moto图书馆 但我现在很困惑 gt gt gt import boto3 gt gt gt
  • 从 AWS CloudWatch 指标数学 SEARCH 函数获取单个时间序列

    我正在尝试创建一个 CloudWatch 警报 以判断组中的任何实例是否超过所用内存的 x 并构建了以下指标数学查询来执行此操作 SEARCH CWAgent InstanceId MetricName mem used percent M
  • AWS ELB 和 GoDaddy 域正在运行

    我已在 goDaddy com 中注册了一个域 并希望将流量发送到 AWS Route53 我创建了一个 ELB 我执行了以下步骤 在 Route 53 中 为我的 godaddy 域名创建一个托管区域 这反过来又为我提供了一条包含 4 个
  • 如何使用 Docker 和 DigitalOcean Spaces 部署 TensorFlow Serving

    如何配置 TensorFlow Serving 以使用存储在 DigitalOcean Spaces 中的文件 重要的是解决方案 提供对这两个配置的访问and模型文件 提供对数据的非公开访问 我已经配置了一个名为your bucket na
  • 使用 AWS Elastic Beanstalk 在 AWS 上部署 Spring Boot 应用程序

    我想使用 AWS Elastic Beanstalk 在 AWS 上部署 Spring Boot 应用程序 但我没有看到上传 jar 文件的选项 只有 zip 和 war 在本教程中 他们将部署一个 jar 文件 https aws ama

随机推荐

  • 计算 Python 列表中 True 布尔值的数量

    我有一个布尔值列表 True True False False False True 我正在寻找一种方法来计算数量True在列表中 所以在上面的例子中 我希望返回的是3 我已经找到了查找特定元素出现次数的示例 但是由于我正在使用布尔值 是否
  • 发送 Facebook 请求并获得礼物 FB API

    我已经按照文档在 facebook 上成功实现了我的应用程序的 发送请求 功能here http developers facebook com docs reference dialogs requests 现在 如果用户 A 接受用户
  • shlex.split() 和 re.split() 有什么区别?

    所以我用了shlex split 最近将命令拆分为参数subprocess Popen 功能 我记得很久以前我也用过re split 函数使用指定的特定分隔符分割字符串 有人能指出它们之间的本质区别是什么吗 每个功能最适合什么场景 shle
  • 使用 WMI 挂载网络驱动器

    尝试编写 WMI 类函数以使用登录计算机的凭据在任何计算机 远程或本地 上安装网络驱动器 这是我为服务台工作人员编写的一个较大项目的类 用于在远程 PC 上进行一线修复 技术人员输入机器名称或 IP 地址 应用程序会连接到它 并允许技术人员
  • Vbscript - 比较并复制文件夹中的文件(如果比目标文件新)

    我正在尝试设计这个脚本 该脚本应该用作很多用户的登录脚本的一部分 该脚本基本上应该采用源文件夹和目标文件夹 因为基本上只是确保目标文件夹具有与源文件夹完全相同的内容 但仅当源文件的修改日期标记比目标文件新时才进行复制 我一直在思考这个基本的
  • 具有内部构造函数的最小起订量具体类

    我正在尝试最小起订量一个具有内部构造函数的具体类 即MyAssembly I have public class MyClass internal MyClass other methods including factory instan
  • 如何获得资源路径?

    我想使用 RandomAccessFile 类来访问我的应用程序附带的文件 然而 该类只接受一个字符串 它是文件的路径 如果我将文件放置在资产目录之类的位置 如何构建该文件的路径 我知道我可以使用 getAssets 方法来读取资源 但这些
  • 如何在 php docker 容器上安装/启用 pdo-odbc 驱动程序?

    我目前在为我的 php 应用程序编写 Dockerfile 时遇到问题 我的 Dockerfile 可以工作 但缺少连接到 MS SQL Server 数据库所需的 pdo odbc 驱动程序 这是我当前的 Dockerfile FROM
  • 为什么我得到的 .csv 文件的 mime 类型为“application/octet-stream”?

    我正在开发一个必须将 Excel 文件导入 MySQL 的 PHP 应用程序 所以我需要将excel文件转换为 csv格式 但是当我想使用它来获取它的类型时 FILE something type 我得到application octet
  • 角度中的 HttpClient 模块出现错误

    node modules angular common http http d ts 81 22 中出现错误 错误 NG6002 出现在 AppModule 的 NgModule imports 中 但无法解析为 NgModule 类 这可
  • 当 Angular 5 重新渲染一个大列表时,如何防止 chrome 滚动?

    我有一个角度组件 可以 ngFors 覆盖其他组件列表 我正在使用 ngx dnd 库来启用拖放 每当子组件列表大于屏幕尺寸并且我使用谷歌浏览器时 拖放项目会导致页面向下滚动 如果我调试 我可以看到角度渲染导致创建一个新的项目集合 并且从
  • 使用 read.table 读取文本文件

    我有一个文本文件id and name列 我试图将其读入 R 中的数据框 d read table foobar txt sep t 但由于某种原因 很多行被合并 例如 在我的数据框的第 500 行中 我会看到类似的内容 row 500 5
  • 在shell脚本中传递su密码

    如何使用 su 在 shell 脚本中传递密码 不带 sudo 和 except 我试过 echo password su root c 但它不起作用 最好的方法是sudo 但是由于您不需要最佳解决方案 因此您可以使用script反而 sl
  • 将 perl 脚本移植到 Clearcase 的图形用户界面

    我们的环境中运行着相当多的 perl 脚本 甚至为其创建分支和视图也是通过脚本完成的 现在我们正在将此 perl 脚本移植到基于 GUI 的环境 您更喜欢哪种语言 我们有一些内部工具以 C 形式返回 开发人员不在我们身边 这也可能会被移植
  • 函数的节流和去抖动之间的区别

    任何人都可以给我一个简单的解释 说明出于速率限制目的而对函数进行节流和去抖动之间的区别吗 对我来说 两者似乎都做同样的事情 我查了这两个博客来找出答案 但我仍然无法理解 http remysharp com 2010 07 21 throt
  • React Material UI ThemeProvider 未应用

    我在用着 material ui 核心 https material ui com 处理我的 React 应用程序中的主题 但由于某种原因 某些样式没有被应用 这是我的sandbox https codesandbox io s eloqu
  • 下载文件的同时更新 JProgressBar

    我尝试过不同的方法来让它工作 但它们要么不能与进度条一起工作 要么不能按照我希望的方式工作 我已经创建了一个带有进度条的新窗口 并且需要创建一个方法 该方法允许我下载文件 同时更新JProgressBar 有一种 Apache Common
  • 在spring boot 2.0.0中设置jvmRoute

    对于粘性会话 我需要设置嵌入式 tomcat 的 jvmRoute 其实只是一个 System setProperty jvmRoute node1 是必需的 但我想设置一个 via application properties 可配置属性
  • 集市 + CruiseControl.Net

    我想在我的公司设置 CruiseControl Net 目前 我们在 Bazaar 存储库中存储了多个 net 解决方案 我想使用 MSBuild 来构建每个解决方案 这似乎没有太大争议 但我看不到将 CruiseControl Net 绑
  • 如何从本地 Hadoop 2.6 安装访问 S3/S3n?

    我正在尝试在本地计算机上重现 Amazon EMR 集群 为此 我安装了目前 Hadoop 的最新稳定版本 2 6 0 http ftp cixug es apache hadoop common hadoop 2 6 0 现在我想访问 S