无法将 Impala-Kudu 连接到 Apache Kudu(没有 Cloudera Manager):获取 TTransportException 错误

Posted

技术标签:

【中文标题】无法将 Impala-Kudu 连接到 Apache Kudu(没有 Cloudera Manager):获取 TTransportException 错误【英文标题】:Cannot connect Impala-Kudu to Apache Kudu (without Cloudera Manager): Get TTransportException Error 【发布时间】:2016-09-11 12:57:54 【问题描述】:

我已经按照官方 kudu 文档(参见 http://kudu.apache.org/docs/installation.html )在 Ubuntu (Trusty) 上成功安装了 kudu。该设置有一个节点运行主服务器和平板服务器,另一个节点仅运行平板服务器。我在运行 kudu master 的节点上安装没有 Cloudera Manager 的 impala-kudu 时遇到问题。在第 3 步之前,我一直遵循此页面上的 CDH 安装说明(请参阅http://www.cloudera.com/documentation/enterprise/latest/topics/cdh_ig_cdh5_install.html)。我避免使用 YARN 和 MRv1 安装 CDH,因为我不需要运行任何 mapreduce 作业,也不会使用 hadoop。 Impala-kudu 和 impala-kudu-shell 安装没有错误。当我启动 impala-shell 时,它返回:

Starting Impala Shell without Kerberos authentication
Error connecting: TTransportException, Could not connect to kudu_test:21000
***********************************************************************************
Welcome to the Impala shell. Copyright (c) 2015 Cloudera, Inc. All rights reserved.
(Impala Shell v2.7.0-cdh5-IMPALA_KUDU-cdh5 (48f1ad3) built on Thu Aug 18 12:15:44 PDT 2016)Want to know what version of Impala you're connected to? Run the VERSION command to
find out!
***********************************************************************************
[Not connected] > 

我尝试使用 CONNECT 选项连接到 kudu-master 节点,但没有成功。 imapala-kudu 和 kudu 都在同一台机器上运行。是否有需要更改的其他配置设置,或者 hadoop 和 YARN 是使 impala-kudu 工作的严格要求?

运行ps -ef | grep -i impalad 后,我可以确认impala 守护程序没有运行。导航到 ~/var/log/impala 的 impala 日志后,我发现了一些错误和警告文件。这是impalad的输出。错误:

Log file created at: 2016/09/13 13:26:24
Running on machine: kudu_test
Log line format: [IWEF]mmdd hh:mm:ss.uuuuuu threadid file:line] msg
E0913 13:26:24.084389  3021 logging.cc:118] stderr will be logged to this file.
E0913 13:26:25.406966  3021 impala-server.cc:249] Currently configured default filesystem: LocalFileSystem. fs.defaultFS (file:///) is not supported.ERROR: block location tracking is not properly enabled because
  - dfs.datanode.hdfs-blocks-metadata.enabled is not enabled.
  - dfs.client.file-block-storage-locations.timeout.millis is too low. It should be at least 10 seconds.

E0913 13:26:25.406990  3021 impala-server.cc:252] Aborting Impala Server startup due to improper configuration. Impalad exiting.

也许我需要重新访问 HDFS 和 Hive Metastore 以确保我正确配置了这些服务?

【问题讨论】:

你用什么命令来启动 impala?您是否检查了该命令的输出或 impalad 日志中的错误消息? 我用impala-shell 启动了impala。此命令的输出生成上述内容。检查 /var/log/impala 的 impalad 日志,几乎没有错误和警告,但大多是重复的。我将更新上面的帖子以反映这一点 【参考方案1】:

根据日志,impalad退出是因为默认文件系统配置为LocalFileSystem,不支持。您必须设置一个分布式文件系统,例如 HDFS 作为默认值。

虽然 Kudu 是一个独立的存储系统并且不依赖于 HDFS,但 Impala 似乎仍然需要一个非本地的默认 FS,即使与 Kudu 一起使用也是如此。 Impala_Kudu documentation 明确列出了以下要求:

在安装 Impala_Kudu 之前,您必须已经为 HDFS(尽管 Kudu 不使用它)、Hive Metastore(Impala 存储其元数据的地方)和 Kudu 安装和配置服务。

我什至可以想象,除了让 Impala 高兴之外,可能真的不需要 HDFS,但这只是我的猜测。更新:找到IMPALA-1850,这证实了我的怀疑,即 Impala 不再需要 HDFS,但它不仅仅是一个必须删除的检查。

【讨论】:

谢谢佐尔坦。将尝试安装它,看看我的进展如何。 佐尔坦,这似乎奏效了。您能否解释一下为什么需要 HDFS 以及 Kudu 如何使用它(如果有的话?) 嗨 GNettlefold,Kudu 不需要 HDFS,但显然 Impala 需要。我怀疑这不是必需的,它可能只是出于历史原因才需要(即在添加 Kudu 支持之前,不使用远程 FS 没有任何意义)。我用这些信息扩展了我的答案。 很公平。谢谢 另一个问题。 kudu 和 impala-kudu 需要在同一台机器上运行还是可以分开并通过网络连接?

以上是关于无法将 Impala-Kudu 连接到 Apache Kudu(没有 Cloudera Manager):获取 TTransportException 错误的主要内容,如果未能解决你的问题,请参考以下文章

我无法将 TableViewCell 按钮连接到 TableViewController!如何将 TableViewCell 中的值连接到 TableViewController?

MySQL Workbench 无法连接到我的 RDS 数据库:无法连接到 localhost

“无法连接到远程 VM”将 jdb 连接到 Windows 上的 android 模拟器

无法将 Mongoose 连接到 Atlas

将 nesjs 应用程序连接到 SQL Server Express 时出错:无法连接到 localhost:1433 - 自签名证书

无法将 MySQL 连接到 XAMPP