配置情况:
1、linux下面安装mysql数据库,使用的版本是5.5.35
2、创建了一个java工程,使用mapreduce编程模式写的,其中map的数据是需要访问linux下面的mysql数据库获得,在此工程lib目录下面放了mysql-connector-java-5.1.6。
问题:
在windows下面运行程序可以访问到数据库,但是把job放到linux下面,用hadoop运行,却无法访问数据库。显示的错误如下:
问题解决:
实在没有发现数据库配置有问题,直觉认为是mysql驱动的问题,查找mysql官方网站,下载最新的mysql驱动mysql-connector-java-5.1.25,重新生成job,发现可以正常运行。
mysql连接com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link