CentOS generally comes with mysql-connector-java-5.1.17.jar.
However, there are many known bugs with the same. Hortonworks suggests updating the jar to 5.1.40 version or later.
Steps to do so are as follows:
Preparation:
- Download the latest MySQL Connector/J from https://dev.mysql.com/downloads/connector/j/
- After download, extract and find mysql-connector-java-5.1.40-bin.jar
- Copy mysql-connector-java-5.1.40-bin.jar into Ambari Server’s /usr/share/java/
On Ambari Server:
- Update the symlink:
- Stop all related HDP services that will be using the new mysql-connector jar via Ambari.
- Create a link
ln -sf /usr/share/java/mysql-connector-java-5.1.40-bin.jar /usr/share/java/mysql-connector-java.jar
- Start the HDP components affected by the change via Ambari.
- Stop the Ambari-agent
service ambari-agent stop
- Cleanup Ambari-agent cache directories of any leftover mysql*jar files
- /var/lib/ambari-agent/tmp
- /var/lib/ambari-agent/cache
- Run the following Ambari-server command to update the mysql-connector jar:
ambari-server setup –jdbc-db=mysql –jdbc-driver=/usr/share/java/mysql-connector-java.jar
- Restart ambari-server and start back up the ambari-agent
service ambari-server restart
service ambari-agent start - Update /var/lib/ambari-server/resources/ by using ambari-server setup command
ambari-server setup –jdbc-db=mysql –jdbc-driver=/usr/share/java/mysql-connector-java.jar
- Verify jar files, for example, md5sum
md5sum /var/lib/ambari-server/resources/mysql-connector-java.jar /usr/share/java/mysql-connector-java-5.1.40-bin.jar
7745f482af1f3418b210c158955a1afb /var/lib/ambari-server/resources/mysql-connector-java.jar
7745f482af1f3418b210c158955a1afb /usr/share/java/mysql-connector-java-5.1.40-bin.jar - Confirm that the jar is picked up:
lsof -p $(cat /var/run/ambari-server/ambari-server.pid) | grep mysql
Note: Ambari creates a differently named symlink ‘mysql-jdbc-driver.jar’ instead of mysql-connector-java.jar in /var/lib/ambari-server/resources. Please do not modify this filename.