Pentaho v8.1 + Hadoop v2.7.4:从 Pentaho PDI 连接到 Hadoop 的问题
Posted
技术标签:
【中文标题】Pentaho v8.1 + Hadoop v2.7.4:从 Pentaho PDI 连接到 Hadoop 的问题【英文标题】:Pentaho v8.1 + Hadoop v2.7.4 : problem connecting to Hadoop from Pentaho PDI 【发布时间】:2018-09-11 21:41:58 【问题描述】:我在尝试让 Pentaho PDI 访问 Hadoop 时遇到困难。 我做了一些研究,发现 Pentaho 使用称为 Shims 的适配器,我将它们视为 Hadoop 的连接器,就像 JDBC 驱动程序在 Java 世界中用于数据库连接的方式。
似乎在新版本的 PDI(v8.1) 中,默认安装了 4 个 Shim,它们似乎都是 HortonWorks、MapR、Cloudera 等大数据公司的特定发行版。
当我对 Pentaho PDI 大数据进行进一步研究时,在早期版本中,他们支持 Apache Hadoop 的“Vanilla”安装。
我刚刚从开源站点下载了 Apache Hadoop,并将其安装在 Windows 上。
所以我安装的 Hadoop 将被视为“Vanilla”Hadoop 安装。
但是当我在PDI中尝试时,我使用了HortonWorks Shim,当我在连接方面进行测试时,它说它确实成功连接到Hadoop,但是找不到默认目录和根目录.
我有以下错误的屏幕截图:
因此,可以看到错误来自对目录的访问,似乎: 1)用户主目录访问 2) 根目录访问
所以,因为我使用的是 HortonWorks Shim,而且我知道它有一些默认目录(我之前使用过 HortonWorks Hadoop 虚拟机)。
(1) 我的问题是:如果我使用 HortonWorks Shim 连接到我的“Vanilla”Hadoop 安装,我是否需要发送一些配置文件来设置一些默认目录。 (2) 如果我无法使用 HortonWorks Shim,如何安装“Vanilla”Hadoop Shim?
我还在 *** 上找到了 2013 年的相关帖子:
Unable to connect to HDFS using PDI step
不确定此信息链接的相关性。
希望有这方面经验的人可以帮忙。
我忘了添加这些附加信息:
我为 Hadoop 准备的 core-site.xml 文件,它的内容是这样的:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
所以覆盖它。
【问题讨论】:
嗨,我在 *** 上找到了一些东西:***.com/questions/25043374/… 您确实需要为发行版获取正确的垫片。但是,在使用 pdi 之前,请确保您的命令行工具正常工作 - 那么您可以执行“hadoop fs -ls”等吗?还有“yarn application -list”等。如果它们不工作,那么 PDI 就不可能工作!一旦他们开始工作,将conf复制到pdi中,重新启动spoon并再试一次。 嗨,一切都在命令行方面使用 Hadoop,所以这不是问题,我可以执行 ls、mkdir、移动文件等操作。 就 Shim 而言,PDI 中的默认 shim 都是来自大公司的发行版,它们不再具有几年前基于的“Vanila”类型 Hadoop shim我在 youtube 上的视频中看到的。 但是根据我的屏幕截图,您可以看到,HortonWorks shim 似乎确实连接了,只是对目录的权限似乎是问题所在。 【参考方案1】:很多时候缺少与目录的连接可能与用户有关。
将 Hadoop 与 Pentaho 一起使用时,因为运行 Pentaho 的用户必须与拥有 Hadoop 内核的用户相同。
例如,如果您在 Hadoop 上有一个名为 jluciano
的用户,那么您需要检查系统上使用相同名称的用户,然后在 Pentaho 中运行该进程,这样对目录的访问就会滚动:) .
在那里测试它,任何东西都会警告你。
【讨论】:
以上是关于Pentaho v8.1 + Hadoop v2.7.4:从 Pentaho PDI 连接到 Hadoop 的问题的主要内容,如果未能解决你的问题,请参考以下文章