Azkaban连接Mysql5.7和8.0配置区别

和某硅谷学习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

供学习参考,也供自己存档 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Azkaban是一个开源的工作流调度系统,它用于协调和调度在大型数据平台上运行的批处理作业。随着MySQL 8.0发布,很多用户希望将AzkabanMySQL 8.0一起使用。 要使Azkaban适配MySQL 8.0,我们需要考虑以下几个方面: 1. JDBC驱动版本:首先,我们需要确保Azkaban使用与MySQL 8.0兼容的JDBC驱动程序版本。这是因为MySQL 8.0引入了一些新的功能和语法,可能需要更新的驱动程序才能正确地与Azkaban进行通信。 2. 数据库连接配置:在Azkaban配置文件中,我们需要更新数据库连接配置以适配MySQL 8.0。这可能涉及到更新数据库URL、用户名、密码等相关信息。根据MySQL 8.0的新特性,我们可能还需要调整连接参数和验证方法。 3. 数据库脚本兼容性:Azkaban使用数据库来存储工作流和作业的元数据和状态信息。在将Azkaban迁移到MySQL 8.0之前,我们需要确保现有的数据库脚本在新的版本上能够正常运行。这可能涉及到调整脚本中的SQL语句,以适应MySQL 8.0的新语法或更改的表结构。 4. 测试和调试:适配过程中,我们还需进行适当的测试和调试。这包括验证AzkabanMySQL 8.0上的基本功能,如创建和调度工作流等,以确保其与新版本的兼容性和稳定性。 总之,为了使Azkaban适配MySQL 8.0,我们需要更新JDBC驱动版本、数据库连接配置数据库脚本,同时进行充分的测试和调试。这样才能确保Azkaban能够与MySQL 8.0无缝地协同工作。 ### 回答2: 要将Azkaban适配MySQL 8.0,我们需要进行以下步骤: 首先,我们需要确保Azkaban的代码和依赖库支持MySQL 8.0。我们可以通过从GitHub上拉取最新的Azkaban源代码,并且使用Maven或Gradle构建Azkaban。在构建过程中,我们需要更改pom.xml文件,以确保正确的MySQL 8.0依赖库被引入。 其次,我们需要更新Azkaban数据库连接配置以适配MySQL 8.0。我们可以在Azkaban配置文件中找到数据库相关的配置项,例如azkaban.properties,在该文件中,我们需要更新以下配置项: 1. `database.type`:将其设置为`mysql`。 2. `mysql.port`:将其设置为MySQL 8.0数据库的端口号,通常为3306。 3. `mysql.host`:将其设置为MySQL 8.0数据库的主机名或IP地址。 4. `mysql.database`:将其设置为Azkaban要使用的数据库名称。 5. `mysql.user`:将其设置为连接MySQL 8.0数据库所需的用户名。 6. `mysql.password`:将其设置为连接MySQL 8.0数据库所需的密码。 在完成以上配置后,保存并重新启动Azkaban服务,使配置生效。 最后,我们还需要确保Azkaban在与MySQL 8.0数据库进行交互时不会出现不兼容的语法或功能。由于MySQL 8.0引入了一些新的功能和更严格的语法要求,可能需要对Azkaban的部分代码进行修改或更新。这需要详细分析Azkaban的代码和MySQL 8.0的文档,以了解需要进行哪些修改。 总结起来,将Azkaban适配MySQL 8.0需要更新Azkaban的代码和依赖库,更新数据库连接配置,以及可能进行部分代码调整以适应MySQL 8.0的新功能和语法要求。完成这些步骤后,Azkaban就能够与MySQL 8.0数据库无缝地进行交互。 ### 回答3: azkaban 是一个开源的工作流调度系统,用于在分布式环境中管理和执行一系列的任务。而 MySQL 8.0MySQL 数据库的一个版本,它引入了一些新的特性和改进。 要适配 azkabanMySQL 8.0,需要注意以下几点: 首先,检查 azkaban 是否兼容 MySQL 8.0。查看 azkaban 官方文档或社区讨论中是否有相关信息。如果没有明确的说明,可以参考类似的适配项目或者咨询开发者社区。 其次,更新 azkaban数据库连接驱动。MySQL 8.0 引入了新的身份验证机制,所以需要使用与之兼容的 JDBC 驱动。可以从 MySQL 官方网站下载适用于 JDBC 的驱动程序,然后将其替换或配置azkaban 的依赖库中。 接着,进行必要的数据库配置更改。MySQL 8.0 默认启用了新的身份验证插件,需要配置支持该插件的连接参数。具体来说,可以检查 azkaban数据库连接配置文件,如 azkaban.properties,修改相关的连接URL、用户名和密码等字段。 最后,进行测试和验证。启动 azkaban 并执行一些任务,确保与 MySQL 8.0 的兼容性。可以进行一些基本的功能测试和性能测试,确保 azkaban 在新的环境中正常运行。 总之,适配 azkabanMySQL 8.0 需要更新数据库连接驱动,进行必要的配置更改,并进行测试和验证,以确保其正常运行。这样可以充分利用 MySQL 8.0 的新特性和改进,并保持 azkaban 的高效和稳定。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值