Sqoop is leveraging Hadoop to do efficient data movements from database and warehouse systems to Hadoop and vice versa. Because of this fact, each Hadoop node on cluster must have access to your database as Sqoop map-reduce job might be executed on each node. Using loopback address therefore do not have much sense as each node in your cluster will try to connect to itself. The reason why listing databases seems to be working is that it's quite simple operation, so that Sqoop is not leveraging Hadoop in this particular case.
I'm expecting that you have some sort of proxy or ssh tunnelling on your loopback interface, if so, please simply reconfigure it to the public interface and see if that helps.
On Thu, Oct 25, 2012 at 05:38:29PM +0000, John Dasher wrote:
> I am getting this error java.lang.RuntimeException: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure when I run the following sqoop command. The port 5555 is forwarded to another instance of MySql
> sqoop import --connect jdbc:mysql://127.0.0.1:5555/uiserver --username dbuser -p --table comments --target-dir /data/uiserver/comments/
> I am able to connect to the data from this server (mysql –h127.0.0.1 –P5555 –udbuser –p). Also, I am able to get swoop to return the list of databases and tables using sqoop list-databases --connect jdbc:mysql://127.0.0.1:5555/uiserver --username dbuser -p )
> Any advice is greatly appreciated!
> Thank you,
> John D.