5

我正在尝试在没有 cloudera 管理器的情况下在我的本地计算机(32 位 ubuntu)上安装 cloudera impala(它们不支持 32 位 ubuntu,我也尝试过但失败了)。

我尝试了以下命令从存储库下载 impala。

    $ sudo apt-get install impala-shell
    $ sudo apt-get install impala             # Binaries for daemons
    $ sudo apt-get install impala-server      # Service start/stop script
    $ sudo apt-get install impala-state-store # Service start/stop script 

到这里为止它工作得很好。我的 impala/conf/hive-site.xml 看起来像这样

<property>
<name>hive.metastore.local</name>
<value>false</value>
</property>

<property>
<name>hive.metastore.uris</name>
<value>thrift://localhost:9083</value>
</property>

<property>
<name>hive.metastore.client.socket.timeout</name>
<value>3600</value>
<description>MetaStore Client socket timeout in seconds</description>
</property>

我的 impala/conf/hdfs-site.xml 看起来像这样。

<property>
    <name>dfs.client.read.shortcircuit</name>
    <value>true</value>
</property>

<property>
    <name>dfs.domain.socket.path</name>
    <value>/var/run/hadoop-hdfs/dn._PORT</value>
</property>

<property>
    <name>dfs.client.file-block-storage-locations.timeout</name>
    <value>3000</value>
</property>

现在,我试图连接到 impala-shell 上的 localhost。但是,它给了我这个错误

Error connecting: <class 'thrift.transport.TTransport.TTransportException'>, Could not connect to localhost:21000

仅供参考,我正在使用 mysql 作为我的 hive-hadoop 集群的元存储。

4

4 回答 4

4

从 statestore 节点执行命令时,我遇到了同样的问题。尝试impala-shell从任何守护程序节点执行。为我工作!

于 2016-04-01T09:41:06.553 回答
1

确保所有 Impala 守护程序都在运行:Impala 守护程序、Impala 目录服务器守护程序和 Impala StateStore 守护程序。

这为我解决了问题。

于 2014-08-26T13:31:40.377 回答
1

没有任何具体说明localhost,但问题是在适当的端口上是否提供适当的服务。我建议首先检查服务是否可用。

以下命令将显示服务是否正在侦听端口(以及在哪个 IP 接口上)。它可能是不同于localhost.

netstat -a -n | grep 21000

请注意localhost通常表示 IP 127.0.0.1,但在默认的 Ubuntu 配置中,它看起来像不同的 IP 地址(如127.0.1.1)。推荐的解决方案是更正/etc/hosts(有很多关于此的文章)。也请检查这个答案

于 2013-06-19T11:52:27.700 回答
-1

发生这种情况是因为您在配置设置中使用 localhost。使用完全限定域名而不是 localhost 并重新启动 shell。

于 2013-06-19T00:22:28.470 回答