问题标签 [hadoop3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache-spark - 在远程 Yarn 集群上使用 spark 从 S3 访问文件时出现问题
我正在尝试使用 spark-shell (val df=spark.read.csv("s3a://xxxxxx") ) 从 S3 导入 csv 文件 spark-shell 客户端连接到远程纱线集群。它因 java.lang.VerifyError 而失败,但是,当我从纱线资源管理器的同一台机器上启动 spark-shell 时,它工作正常。
这是错误代码:
spark-default.conf :
.hadooprc
hadoop_add_to_classpath_tools hadoop-aws
知道问题的根源是什么吗?
apache-spark - 使用 HiveWarehouseSession.session(spark).build() 创建 Hive 外部表的 API 或目录操作
我正在使用 HDP 3.X 集群并使用 spark_llap 运行 spark sql,有没有办法使用 hive.createTable 创建外部配置单元表,因为 Hortonworks 网站中提供的示例是使用以下代码,而此代码将创建托管表,但我需要外部表。
scala - Spark 未使用 core-site.xml 中的正确配置
当我尝试使用 spark.read.parquet() 从指定位置(如 /test)读取镶木地板文件时,我收到一条错误消息,提示 file://test 不存在。当我将 core-site.xml 添加为代码中的资源时
它确实在hdfs中查找。但是我不想在代码中添加资源。我的问题是如何确保 spark 读取 core-site.xml 并使用 hdfs 作为默认文件系统。
我已经在虚拟机中设置了一个带有 hadoop 3、spark 2.4.2 和 yarn 作为资源管理器的 ubuntu 18.04.2LTS 服务器。我已经将 core-site.xml 配置为 fs.defaultFS 设置为 hdfs://localhost:9000。我还在 bash 文件中配置了 HADOOP_CONF_DIR。
hadoop - Pig is not running in mapreduce mood (hadoop 3.1.1 + pig 0.17.0)
I am very new to Hadoop. My hadoop version is 3.1.1 and pig version is 0.17.0.
Everything is working as expected by running this script in local mode
pig -x local
But for the same input file and pig script, mapreduce mode is not working successfully.
pig -x mapreduce
OR
Result for mapreduce mode OR Note: student.txt is uploaded to HDFS successfully.
Even under grunt this command returns correct HDFS file name.
- Why is it saying failed to read data when the file exists in that path?
- What could be the possible reasons that I am missing?
Any help is appreciated.
apache-spark - Spark 无法在 Hadoop 3 中读取擦除编码的镶木地板文件
我使用英特尔 ISA-L 库在 RHEL 6.7 linux 机器上构建了 Hadoop 3.2.0。此外,在 Hadoop 安装中启用了本机库支持。
我已经使用带有 RS-6-3-1024k 编码器策略的“haoop fs - copyFromLocal”在这个测试集群上复制了一些 parquet 格式文件。但是,当我尝试使用 Spark 2.4.3 读取这些镶木地板文件时,我得到了如下异常。
请注意,我可以使用 hadoop 命令、HDFS Web 界面等将这些文件从 HDFS 复制到本地,没有任何问题。hadoop fsck 表示复制文件的路径也很健康。
注意:虽然我在 RHEL 6.7 上构建了库,但我在 RHEL 7.5 上运行 Hadoop 集群。但是,当我运行“hadoop checknative”命令时,我没有看到任何错误。我确实看到 ISA-L 库已正确启用,即我确实在它旁边的输出中看到了“真实”文本。
hadoop - HDFS 无法从 Hadoop 3.2 启动:需要 bash v3.2+
我正在构建一个由 2 个节点组成的小型 Hadoop 集群:1 个主节点 + 1 个工作节点。我正在使用最新版本的 Hadoop (3.2),一切都由root用户执行。在安装过程中,我已经能够hdfs namenode -format
. 下一步是使用start-dfs.sh
.
这是日志中生成的日志:
当我使用Zsh(使用Oh-my-Zsh)时,我登录到 bash 控制台试一试。可悲的是,我得到了同样的结果。实际上,所有sbin/start-*.sh
脚本都会发生此错误。然而,hadoop
andyarn
命令就像一个魅力。
由于我在互联网上没有找到有关此错误的太多信息,所以我在这里。很高兴有任何建议!
其他技术细节
操作系统信息:
可用的 Java 版本(两者都试过):
您可能感兴趣的一些 ENV 变量:
Hadoop 可执行文件的输出:
我的 Zsh 和 Bash 安装:
hadoop - HADOOP 3.1.2 Namenode 未启动
我是 Hadoop 新手,因此我非常感谢有关此问题的任何反馈。
Hadoop 设置似乎很好。我可以启动它,但是当我在http://localhost:50070或http://localhost:9870检查 Web UI 时,它显示无法访问该站点。同样,要使用 web UI http://localhost:8088检查 Yarn ,我遇到了同样的问题。
命令 jps 显示以下详细信息: 50714 SecondaryNameNode 88442 51756 Jps 50589 DataNode
Namenode、ResourceManager、NodeManager 缺失。
我尝试更改端口配置,但没有帮助。参考:http://localhost:50070 不起作用 http://localhost:50070/ 处的 HADOOP hadoop Web UI 不起作用
重新格式化namenode和之后start-all.sh
:
仍然无法启动namenode。Web UI 仍然不会显示。
更新这是名称节点的日志文件:
hadoop - Hadoop 3.2:找不到记录器的附加程序(org.apache.hadoop.mapreduce.v2.app.MRAppMaster)
我有一个本地 Hadoop 3.2 安装:1 个 master + 1 个 worker 都在我的笔记本电脑上运行。这是一个实验性设置,用于在提交到真实集群之前进行快速测试。
一切都很健康:
当我运行提供的Pi示例时,我收到以下错误:
Log4j: 的配置似乎有问题No appenders could be found for logger (org.apache.hadoop.mapreduce.v2.app.MRAppMaster).
。但是,它使用默认配置 ( $HADOOP_CONF_DIR/log4j.properties
)。
执行后,HDFS 状态如下:
由于我在互联网上没有找到任何解决方案,所以我在这里:)。
docker - 通过 Oozie 运行 Docker 容器
我正在尝试构建一个 Oozie 工作流来每天执行一个需要特定库才能运行的 python 脚本。
目前,我在集群的一个节点(由 11 个节点组成)上创建了一个 python 虚拟环境(使用 venv)。通过 Oozie,我看到可以使用指定包含虚拟环境的节点的 SSH 操作来运行脚本。或者,可以使用 Shell Action 来运行 python 脚本,但这需要在将执行 shell 的节点(任何集群节点)上创建具有相同库依赖关系的虚拟环境。
我想避免共享密钥或配置所有集群节点以使这成为可能,并查看我发现本节讨论使用 Docker 容器启动应用程序的文档,但在我的集群的 Hadoop 版本中,此功能是实验性的且不完整(Hadoop 3.0 .0)。我想如果你可以从 shell 启动 Docker 容器,你应该能够从 Oozie 启动它们。
所以我的问题是:有人尝试过吗?以这种方式使用docker是一个技巧吗?
我遇到了这个问题,但到目前为止 2019/09/30 还没有具体的答案。
更新:我尝试这样做,并且它有效(您可以在我对这个问题的回答中找到更多信息)。我仍然想知道这是否是正确的方法。