如何从本地 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? 的相关文章

  • 具有服务器端加密 s3 存储桶的 AWS Cloudfront

    这是对这个问题 https stackoverflow com questions 50166557 how can a cloudfront distribution an aws kms key to get an s3 image e
  • 如何使用对象标记上传到 AWS S3

    有没有办法使用标签将文件上传到AWS S3 不将标签添加到S3中的现有文件 对象 我需要让该文件与我的 Tags 一起出现在 S3 中 即在单个 API 调用中 我需要这个 因为我使用 Lambda 函数 使用这些 S3 对象标签 由 S3
  • 从本地计算机连接到 AWS 上的 Neptune

    我正在尝试从办公室的本地计算机连接到 AWS 实例中的 Neptune DB 就像从办公室连接到 RDS 一样 是否可以从本地计算机连接 Neptune 数据库 Neptune 数据库是否公开可用 开发人员有什么方法可以从办公室连接 Nep
  • AWS SQS Batch SendMessageBatchRequest 非常慢

    我的应用程序使用 SendMessageBatchRequest 将每个请求发布 10 条消息到 AWS SQS 每条消息的大小小于250字节 该应用程序预计每天发布约一百万条记录 但要实现这一目标 消息发布的速度非常慢 AmazonSQS
  • 每次在我的 AWS SQS 目标上推送通知时如何触发事件?

    我正在将 AWS SQS 用于 Amazon MWS 订单 API 每当有人从已将我添加为其开发人员的卖家帐户订购时 亚马逊都会将通知发送到我的 AWS SQS 应用程序 我可以从那里提取通知 但为此 我必须创建一个调度程序来提取通知 我是
  • Hive“添加分区”并发

    我们有一个外部 Hive 表 用于处理原始日志文件数据 这些文件每小时一次 并按日期和源主机名分区 目前 我们正在使用简单的 python 脚本导入文件 这些脚本每小时触发几次 该脚本根据需要在 HDFS 上创建子文件夹 从临时本地存储复制
  • AWS EC2 应用程序负载均衡器 + 双向 SSL?

    是否可以使用 AWS Application Load Balancer 并使用双向 ssl 客户端证书 我当前的设置使用经典的 ELB 通过 tcp 转发到 Web 服务器端点来支持此操作 我现在需要使用 URL 路由流量 并希望在可能的
  • 使用S3上传但不允许公共访问

    我的想法是创建一个 S3 存储桶以允许用户上传二进制对象 下一步是确认上传 然后 API 将启动文件处理 为了使其更安全 客户端将首先请求上传位置 然后 API 会在 S3 上为此上传分配并预先创建一个一次性使用目录 并在该目录上设置访问策
  • 带有 AWS S3 文件的 Icecast 服务器

    我目前正在运行 Icecast 服务器 用于在 EC2 实例上传输音频 目前我所有的 mp3 文件都存储在 EC2 实例上 我想将它们移动到 AWS S3 进行存储 到目前为止 我已经能够找到能够更新播放列表 https mediareal
  • 在映射器的单个输出上运行多个减速器

    我正在使用地图缩减实现左连接功能 左侧有大约 6 亿条记录 右侧有大约 2300 万条记录 在映射器中 我使用左连接条件中使用的列来创建键 并将键值输出从映射器传递到减速器 我遇到性能问题 因为两个表中的值数量都很高的映射器键很少 例如分别
  • AWS Lambda 提前结束(没有任何显式返回或回调)

    我在放入 AWS Lambda 中的一些 Node js 代码时遇到了一些问题 我需要进行几个异步调用 虽然第一个调用的行为符合我的预期 但 lambda 函数在第二个调用完成之前终止 返回值为 null 这让我认为 lambda 正在执行
  • 在 ec2 上托管 Rails

    我想将 Rails 部署到亚马逊 ec2 上 我看过 poolparty 和 ec2onrails 但似乎都不再维护了 人们用什么来做到这一点 都是自制的木偶和卡皮斯特拉诺 还是有一个项目可以让我继续下去 我可以推荐两个项目 如果您有一个
  • AWS Amazon - 登录循环卡住

    我已经使用 AWS 亚马逊几年了 但是 突然当我登录时 我进入了此验证部分 他们将验证码发送到我的电子邮件 我收到了该代码 因此 我输入收到的代码 最终返回登录页面 所以我登录后 同样的事情一遍又一遍地发生 我无法进入我的仪表板 它只是不断
  • 通过 boto3 承担 IAM 用户角色时访问被拒绝

    Issue 我有一个 IAM 用户和一个 IAM 角色 我正在尝试将 IAM 用户配置为有权使用 STS 承担 IAM 角色 我不确定为什么收到 访问被拒绝 错误 Details IAM 角色 arn aws iam 123456789 r
  • 如何自动启动我的 ec2 实例、运行命令然后将其关闭?

    我想每周对 redshift postgres 数据库中的数据运行一次机器学习模型 我使用以下命令将 R 脚本设置为休息 apiplumbr然后我将其设置为一项任务来管理pm2 我有它 所以任务会在ec2实例启动然后继续运行 要让 R 脚本
  • AWS cognito 用户迁移池触发器不适用于登录流程

    我正在使用带有认知执行角色的 Lambda 函数进行 AWS 认知池迁移 以下是我的新池应用程序客户端设置 or AWS doc says 用户迁移身份验证流程 用户迁移 Lambda 触发器 允许从旧用户管理系统轻松迁移用户 进入您的用户
  • kafka 连接 s3 源无法与 Minio 一起使用

    我已经验证了与 minio 的连接 确保凭据工作正常并且可以访问 minio 另外 如果我尝试任何其他值store url http minio 9000我无法保存配置 所以我猜想在可见性方面不存在问题卡夫卡连接容器和minio容器 我不确
  • AWS Cloudfront 作为具有自定义域的 Heroku 站点的 CDN

    最近 我从 AWS Route 53 brianpatrickhummel com 购买了一个域来托管个人投资组合 该投资组合网站已启动并正在运行 使用 S3 存储桶和 Cloudfront 作为 CDN 在作品集网站上 访问者可以预览我构
  • 从 AWS lambda 函数更新 Amplify 数据存储

    在我的应用程序中 有一个功能 当我们在 s3 中上传文件时 会调用相关的 AWS Lambda 触发器 当 Lambda 函数触发时 我想将文件相关数据存储在 AWS Amplify 数据存储中 是否可以在 Lambda 函数中访问 AWS
  • AWS ElasticSearch Service - 从 CF 模板设置加密选项

    我正在创建一个云形成模板来在AWS中配置elasticsearch服务域 我想将加密下的此属性设置为 true 域的所有流量都需要 HTTPS 但我无法在 AWS 文档中找到执行此操作的方法 用于设置加密属性的其他选项 例如 启用静态数据加

随机推荐

  • 计算 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