Nacos --- 解决 Nacos 单机 MySQL 版重启服务器后无法提供服务的问题
背景
有时 Nacos 单机 MySQL 版重启服务器后无法提供服务, 是因为重启时均启动 nacos 服务和 MySQL 服务,而MySQL 服务启动的较慢, nacos 在启动的时候还连接不上数据库导致 Nacos 服务无法正常提供服务
这里我的解决方式是使用 Nacos 单机 Derby 版
部署
docker-compose.yml 文件内容如下:
1 | version: "2" |
在 当前目录下新建文件夹 data
和 standalone-logs
启动服务即可
Crontab @reboot 设置开机启动命令
背景
有时服务器断电后再开机启动需要启动一些服务,除了正常的 rc 命令可以实现外,之前我常用的是 systemctl service, 今天发现 crontab 的 reboot 标签也可以实现
使用
crontab -e
1 | # 启动后 120 秒启动 canal adapter |
保存后即可生效
一般情况下,我会 sleep 一段时间再启动服务,因为要等其他 systemd 服务启动完成,比如数据库服务
k8s 1.20 证书过期续签
查看证书有效期
kubeadm alpha certs check-expiration
更新证书,如果是HA集群模式,所有master需要执行
kubeadm alpha certs renew all
证书过期kubectl命令无法使用
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config
查看 kubectl 命令是否可用
如果不可用的话,使用下面命令重启 kube-apiserver, kube-controller-manager, kube-scheduler、etcd
docker ps | grep -v pause | grep -E "etcd|scheduler|controller|apiserver" | awk '{print $1}' | awk '{print "docker","restart",$1}' | bash
Typora 使用自定义 Node 脚本上传图片到 MinIO 图床上
脚本
1 | /* |
在该脚本目录下执行npm intsall minio
配置
在脚本中配置 MinIO 服务端的配置项
在 Typora 进行如下配置
该脚本支持
- 自动创建 bucket
- 多文件批量上传
MySQL 已经运行一段时间的主库添加从库
导出主库全部数据
mysqldump -A -F --single-transaction --master-data=1 > /tmp/full.sql
-A: 导出全部数据
-F: 同参数–flush-logs, dump 前生成新的 bin log 日志
–master-data=1:参数会在 sql 中打印出 binlog 的信息
例如:CHANGE MASTER TO MASTER_LOG_FILE='binlog.000248', MASTER_LOG_POS=156;
当指定为 2 时,改行为注释的情况,为 1 时不注释
这时就相当于改变了从主库读取 binlog 的文件和位置信息,
之后将导出的数据导入从库
mysql -p < /tmp/full.sql
耐心的等待
完成后查看从节点的信息:
show slave status;
主要看 Master_Log_File 和 Read_Master_Log_Pos 的数据是否和上面的一致
此时再开启主从同步
start slave ;
完成;
查看信息
MyBatis xml 传 boolean 布尔类型
使用 choose 标签
1 | <choose> |
或者
1 | <choose> |
Docker 搭建 Jenkins 构建流水线控制台输出乱码
按照晚上的教程,配置了
JAVA_TOOL_OPTIONS=”-Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8”
和 LANG=C.UTF-8
这些都没有解决问题
问题解决
主要问题是主节点配置连接从节点的账号 jenkins 没有初始化环境变量
查看从节点的系统信息,可以看到 file.encoding 是 ASNI 编码
解决办法就是新建一个用户使用 -d 指定 home 目录,
useradd -d /home/jenkins jenkins
目的是为了生成 .bashrc .bash_logout .bash_profile 三个文件,将这 3 个文件拷贝到 Jenkins 的home 目录下并授权, 就解决了
再去看从节点的 file.encoding 已经变成 UTF-8 了