和某硅谷学习Azkaban,按照文档配置azkaban.properties,mysql一直连不上,原因是mysql版本是8.0以上的,某硅谷学习环境是5.7版本的;
查看executorServerLog报错如下:
Caused by: java.lang.NullPointerException
at com.mysql.jdbc.ConnectionImpl.getServerCharacterEncoding(ConnectionImpl.java:3286)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
解决方案和对比 :
#修改文件:azkaban-exec/conf/azkaban.properties
#5.7版本,红色是要修改的属性
default.timezone.id=Asia/Shanghai
#...
azkaban.webserver.url=http://hadoop102:8081
executor.port=12321
#...
database.type=mysql
mysql.port=3306
mysql.host=hadoop102
mysql.database=azkaban
mysql.user=azkaban
mysql.password=000000
mysql.numconnections=100
#修改文件:azkaban-exec/conf/azkaban.properties
#mysql8版本,区别于5.7只有这一个不一样,其他同上
mysql.database=azkaban?useSSL=false&serverTimezone=UTC&characterEncoding=utf-8
同理server
#修改文件:azkaban-server/conf/azkaban.properties
#5.7版本,红色是要修改的属性
...
default.timezone.id=Asia/Shanghai
...
database.type=mysql
mysql.port=3306
mysql.host=hadoop102
mysql.database=azkaban
mysql.user=azkaban
mysql.password=000000
mysql.numconnections=100
...
#学习环境下把MinimumFreeMemory删除掉,否则它会认为集群资源不够,不执行。
azkaban.executorselector.filters=StaticRemainingFlowSize,CpuStatus
#修改文件:azkaban-server/conf/azkaban.properties
#mysql8版本,区别于5.7只有这一个不一样,其他同上
mysql.database=azkaban?useSSL=false&serverTimezone=UTC&characterEncoding=utf-8
供学习参考,也供自己存档