首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用s3a时遇到的困难

使用s3a时遇到的困难
EN

Stack Overflow用户
提问于 2021-05-07 10:10:37
回答 1查看 245关注 0票数 0

我是大数据开发的新手,我遇到了一些可能非常简单的问题,并向大人物寻求帮助。我想在本地测试hadoop通过s3a访问ceph的性能,我做了以下工作:

  1. 虚拟机安装了3台Ubuntu18.04服务器,初始化了网络和IP,安装了JDK18,安装了hadoop3.2.2;
  2. 无密码登录设置,修改主机和配置昵称;
  3. 配置JDK和hadoop的环境变量,并在hadoop3.X/etc/hadoop/目录中修改核心-site.xml/hdfs- site.xml/mapred-site.xml/hadoop-env.sh。
  4. 该配置按以下方式粘贴: hadoop.tmp.dir文件:/home/program/hadoop/data,用于其他临时目录。fs.defaultFS hdfs://hadoop04 04:9000 hadoop.http.staticuser.user root fs.s3a.access.key ak fs.s3a.secret.key sk fs.s3a.impl org.apache.hadoop.fs.s3a.S3AFileSystem fs.s3a.endpointhttps://172.17.37.60:8080 fs.s3a.connection.ssl.enabled false hdfs-site.xml dfs.replication 3 dfs.namenode.http-地址hadoop04 04:9870        file:/home/program/hadoop/data/dataname        file:/home/program/hadoop/data/datanode dfs.namenode.name.dir dfs.datanode.data.dir映射-site.xml mapred.job.tracker hadoop04 04:9001
  5. 在不使用s3a的前提下,在Hadoop的客户端调用Hadoop是正常的,它可以操作normally.In命令使用s3a,从网站hadoop,我添加了hadoop和hadoop到pom依赖项。
  6. 我的探索是将hadoop-client-2.X.jar和hadoop-aws-2.X.jar放在服务器的hadoop-3.2.2/share/hadoop/client/目录中。重新启动hadoop,然后使用hadoop命令-ls S3A://终结点:port,我得到了一个异常 org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2638),org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:3341),org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:3373),org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:125),java.lang.RuntimeException: java.lang.ClassNotFoundException: org.apache.hadoop.fs.s3a.S3AFileSystem没有找到在org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:3424) at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:3392) at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:485) at org.apache.hadoop.fs.Path.getFileSystem(Path.java:365) at org.apache.hadoop.fs.shell.PathData.expandAsGlob(PathData.java:352) atorg.apache.hadoop.fs.shell.Command.expandArgument(Command.java:250) at org.apache.hadoop.fs.shell.Command.expandArguments(Command.java:233) at org.apache.hadoop.fs.shell.FsCommand.processRawArguments(FsCommand.java:104) at org.apache.hadoop.fs.shell.Command.run(Command.java:177) at org.apache.hadoop.fs.FsShell.run(FsShell.java:327)在org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:90) at org.apache.hadoop.fs.FsShell.main(FsShell.java:390) by: java.lang.ClassNotFoundException: Class org.apache.hadoop.fs.s3a.S3AFileSystem not at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:2542) atorg.apache.hadoop.conf.Configuration.getClass(Configuration.java:2636) . 16 more`‘
  7. 我知道异常S3AFileSystem的原因是jar包放错了位置。还有其他问题吗?
EN

回答 1

Stack Overflow用户

发布于 2021-09-20 17:12:47

我在Hive的lib目录中添加了下面的JAR,它为我工作(Hive3.0)

代码语言:javascript
复制
hadoop-aws-3.2.1.jar
guava-27.0-jre.jar
aws-java-sdk-bundle-1.11.375.jar

此外,还可以将这些罐子放到不同的位置,并在hive-env.sh中添加路径。

export HIVE_AUX_JARS_PATH=<Path to all JAR files>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67432951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档