月度归档: 2024 年 9 月

  • docker安装dolphinscheduler添加数据源连接失败

    2024-09-27 11:14:16 [ERROR] 2024-09-27 11:14:16.055 +0800 o.a.d.p.d.a.d.AbstractDataSourceProcessor:[130] - Check datasource connectivity for: MYSQL error
    2024-09-27 11:14:16 java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver

    看下docker-dolphinscheduler-api-1容器的日志中发现以上失败,通过检索发现,可以把驱动包放在lib/plugin/task/sql目录下,但是,这个目录在哪里却是个问题,后来查看源代码(https://github.com/apache/dolphinscheduler/blob/3.1.0/dolphinscheduler-api/src/main/docker/Dockerfile),确定ENV DOLPHINSCHEDULER_HOME /opt/dolphinscheduler,那么进入容器的/opt/dolphinscheduler这个目录确实能看到libs子目录,其中已经有一些连接器了,只不过那些就是官方所说的符合开源协议的已经内置的,像mysql的就不符合apache的开源协议,所以只能自己往里放,可是为什么官方文档里没有提到呢?

    我是搜到了https://www.bookstack.cn/read/dolphinscheduler-3.1.0-zh/7667e5f48166e75f.md,这个来自官方的早期镜像版:

    我们以 MySQL 为例,如果你想要使用 MySQL 数据源,你需要先在 mysql maven 仓库 中下载对应版本的 JDBC 驱动,将其移入 api-server/libs 以及 worker-server/libs 文件夹中,最后重启 api-server 和 worker-server 服务,即可使用 MySQL 数据源。如果你使用容器启动 DolphinScheduler,同样也是将 JDBC 驱动挂载放到以上两个服务的对应路径下后,重启驱动即可。

    查看对应版本的官方文档却找不到对应的章节。

    目前,以3.2.2版本来说,需要放连接器的容器包括:

    docker-dolphinscheduler-api-1

    docker-dolphinscheduler-worker-1

    docker-dolphinscheduler-alert-1

    以docker desktop操作说明,找到这两个容器,点击容器名进入容器,切换到Files,/opt/dolphinscheduler/libs,右键import,选择mysql-connector-j-8.2.0.jar,然后重启以上三个容器就可以了。

  • 开放式小区计划

    这个计划失败了,也成功了。

    推墙没有成功,但至少门开放了。如果小区没有了院墙,世界会更美一些吧,至于大家担心的小区内道路有车通行影响安全,实际上不会比现在更差,本来也没有实现人车分流,反而,如果小区没有了围墙,车可以很快并入公共路网,小区内的汽车转圈更少。当然,这个愿景恐怕在十年内实现不了。

    小区有三个门,一个东北门,是大门,进出机动车和行人,一个是东南门,是消防通道,里面和外面长期被堵,恐怕消防车很难通行,另一个是西门,长期锁闭,以前还可以通行非机动车,疫情三年之后,加焊了栏杆,只能过人了。

    三个门的行人通道都是常锁的,据说是为了防止附近其他小区的人穿行,尽管我也觉得我们小区在附近算环境稍微好一点的,但也不至于自以为是高端社区,搞成封闭的。

    在一段时间的努力之后,人们已经习惯于不再刷卡开门,门变成了可以直接推开的,三个都是。具体什么方式暂且保密,有一个有趣的可以提一下,消防门那里经过了长期的反复较量,有人在门磁上贴胶带缠绳子,有人就弄下来,最终,那里就不用刷卡了。规矩是人定的,事在人为。

    另外一个是我们的单元门,为了防止流窜人员的理由一样站不住脚,能挡风就行了,完全没有锁上,快递上不去。最终,那个门也锁不住了。

  • 6月,我错过的日子又找回来了

    这个暑假很热,孩子们放假了,但没法出去晃,整日在家里,除了看孩子,最主要的工作是研究AI,最大的投资是买了一台二十多万的存储。

    等过完了暑假,来到了9月,开始给客户做服务器迁移,却又把日子退回到了6月,因为习惯了本地的有代理环境,突然远程到客户的服务器上去部署环境,发现连最基本的docker装起来都费劲了。

    查了一下才知道,是因为6月和AI,造成整个docker源挂了,甚至连国内的镜像站也都关闭了。服务器上用代理终究不是个很好的办法,于是找了半天,终于找到一个可用的镜像地址。

    如此下去,国内的IT还真是要回到手推车的年代吧。

  • 坚果R2连接三星watch5手表方法(2024)

    之前费了很大劲绑定的,看了很多教程,以至于最后怎么连接的都搞不清楚了。因为手机摔坏了,换了一个手机,当然,还是坚果R2。

    习惯性的先装上谷歌框架,按照原来收藏的信息,怎么都连不上。看到了https://help.wearosbox.com/faq/device/samsung.html收到启发,删掉谷歌框架,只安装了:

    (1)wear os中国版(在中国的应用市场上安装就是中国版)

    (2)三星智能穿戴

    (3)三星健康

    接下来是连接步骤:

    (1)装好了之后,直接打开“三星智能穿戴”连接手表,如果提示手表需要重置,则在手表的设置中选择重置,手表重启(这个时间可能要几分钟)后,手机上的“正在扫描要添加的设备”就能看到手表型号,点击以后开始蓝牙配对,手机和手表都点击确认即可。

    (2)接下来一系列确认。

    (3)有一个自动备份手表的步骤,看似不能跳过,先点下一步,然后拒绝就行了,当然,如果用三星的换机助手备份一下也没有问题。

    (4)然后接下来又是一系列确认,然后开始配置,估计有几分钟的时间。

    (5)这样就好了。

    估计是三星的app升级了,重新对接了wear os中国版,消除了bug,以至于以前的折腾终于可以免去,但如果按照了谷歌框架反而会造成上面链接提到的判断“该手机无法支持”等。

    (6)最后,不要删除wear os,删除了三星智能穿戴的连接也就断了。如果你以为它已经没用,把它删掉了,那就去三星智能穿戴解绑,重新连接。

    另外提一句,如果直接打开wear os,不点击三星的连接,而选择第二个wear os连接手表,虽然手表设置环节不能完成,但是这时候三星健康是可以连接上手表的,手表因为停在设置状态不可用,则可以通过重启后长按logo进入“独立使用模式”,但这个时候三星健康依然能同步,相当于跳过了三星智能穿戴,只是这个链接不稳定,而且不能通过手机app设置手表,所以还是按标准三步流程连接吧。

    最后的最后,解决一下将手表步数同步到微信运动。

    (1)安装谷歌框架,以在google play中去安装“健康平台”这个app,或者直接找到app安装包。参考https://www.bilibili.com/read/cv25382423/?jump_opus=1,这个app是装在手表上的,手机上看不到。

    (2)然后打开这个链接https://ecommerce.samsungassistant.cn/index.html#/jd/activity/748/0

    (3)“点击开启插件”,只有这样能找到这个插件,接下来是授权。这个虽然叫插件,但在手机的应用程序权限管理中可以看到,可以把自启动和第三方启动打开。

    (4)授权时有可能失败,可以重新打开“三星健康”的设置“三星健康设置”中的应用程序,这时应该可以看到这个插件了,点击能确认权限。

    需要说明的是,以上方法并没有让我能够确认微信运动能够获得同步的步数,用最新版的三星健康app的时候甚至有报错通知,我把版本降到了Samsung Health_6.23.0.047_APKPure.apk,不报错了,但依然无法同步,我问过三星客服,想给她要最新的插件,她说不能提供。最终在手机重启也或者是等待了一段时间之后,微信可以同步步数了。

    另外一个就是三星健康监测功能,这个最主要的是提供心电图,心率在三星健康中就有,不需要单独装这个,心电图在中国版默认是用不了的。简单来说,就是先在手机上安装某个伴侣软件,具体操作可以看https://www.lxtend.com/miscs/SHM_MOD_Installation_and_Setup_Guide,也可以参考https://help.wearosbox.com/faq/device/samsung.html#%E4%B8%89%E6%98%9F%E5%81%A5%E5%BA%B7%E7%9B%91%E6%B5%8B 来操作,不过按照app中的说明一步一步走问题也不大,只是大部分人第一次搞不一定熟悉它的逻辑。