Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

I am trying to install cloudera impala on my local machine (32 bit ubuntu) without cloudera manager(they don't support on 32 bit ubuntu, i also tried and failed).

I have tried following commands to download the impala from repository.

    $ 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 

Upto here it worked fine. My impala/conf/hive-site.xml looks like this

<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>

My impala/conf/hdfs-site.xml looks like this.

<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>

Now, i was trying to connect to localhost on impala-shell. But, it give me this error

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

FYI, i am using mysql for the metastore for my hive-hadoop cluster.

like image 440
Naresh Avatar asked Jun 18 '13 14:06

Naresh


3 Answers

I had the same issue when executing the command from the statestore Node. Try executing impala-shell from any daemon Node. Worked for me!

like image 173
Mirel Vlad Avatar answered Oct 21 '22 11:10

Mirel Vlad


There is nothing in specifying localhost itself but the question is if appropriate service is available on appropriate port. I'd recommend first to check if service is available.

Following command will show you if service is listening on port (and on what IP interface). It could be interface different from localhost.

netstat -a -n | grep 21000

Please pay attention localhost usually means IP 127.0.0.1 but in default Ubuntu configuration it looks like different IP address (like 127.0.1.1). Recommended solution is to correct /etc/hosts (there is many articles about this). Also please check this answer.

like image 21
Roman Nikitchenko Avatar answered Oct 21 '22 12:10

Roman Nikitchenko


Make sure all Impala Daemons are running: Impala Daemon, Impala Catalog Server Daemon and Impala StateStore Daemon.

That solved the problem for me.

like image 1
Lucas Majerowicz Avatar answered Oct 21 '22 10:10

Lucas Majerowicz