代理模式是一种设计模式,提供了对目标对象额外的访问方式,即通过代理对象访问目标对象,这样可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。
代理模式是一种设计模式,提供了对目标对象额外的访问方式,即通过代理对象访问目标对象,这样可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。
清华镜像站
1 | https://mirrors.tuna.tsinghua.edu.cn/ubuntu/pool/main/h/haproxy/ |
下载haproxy
1 | https://mirrors.tuna.tsinghua.edu.cn/ubuntu/pool/main/h/haproxy/haproxy_1.6.3-1ubuntu0.3_amd64.deb |
安装haproxy
1 | sudo dpkg -i ./haproxy_1.6.3-1ubuntu0.3_amd64.deb |
编辑配置文件
1 | vim /etc/haproxy/haproxy.cfg |
其默认配置如下
1 | global |
参考:Yarn 监控 - 监控任务运行状态 (包括Spark,MR 所有在Yarn中运行的任务)
1 | //获取任务的applicationId |
输出
1 | applicationId { id: 279 cluster_timestamp: 1620359479641 } |
参考:
1 | http://wuchong.me/blog/2016/04/26/flink-internals-how-to-handle-backpressure/ |
在使用mybatis-generator自动生成mapper代码的时候,对于基本的增删改查方法可以通过继承通用mapper的方式进行简化,参考:MyBatis 通用 Mapper
Spring Security是提供了认证,鉴权以及其他的安全特性的java框架,下面是Spring Security的使用教程
1.引入依赖
1 | <dependency> |
引入依赖用会发现请求所有的接口都会跳转到 /login,要求你进行账号密码的认证
查看容器的网络模式
1 | docker ps -a |
docker总共有4种网络模式,从上到下隔离度下降:
1.Close容器,即none模式,运行在Close容器中的进程只能访问本地回环接口,隔离度最高
2.Bridge容器,即bridge模式,当容器中的进程需要访问外部网络的时候应该使用,且bridge是docker的default网络模式。
在nexus界面上可以手动上传release和hosted的包,但是无法手动上传snapshots的包
amd64的机器可以使用centos的MySQL5.7的镜像:https://hub.docker.com/r/centos/mysql-57-centos7/
arm64和amd64的机器也可以使用MySQL8.0的镜像:https://hub.docker.com/layers/library/mysql/8.0.29/images/sha256-44f98f4dd825a945d2a6a4b7b2f14127b5d07c5aaa07d9d232c2b58936fb76dc
启动MySQL5.7的容器
1 | docker run --name mysqltest -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.44 |
启动MySQL8.0的容器
1 | docker run --name mysqltest -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.29 |
如果想指定mysql配置和data挂载路径,可以先进入容器中将mysql的配置先拷贝出来
进入容器查看MySQL的配置路径
1 | sh-4.4# mysql --help | grep my.cnf |
参考:Docker安装MySQL 并挂载数据及配置文件,设置远程访问权限
将配置/etc/my.cnf拷贝到宿主机
1 | docker cp mysqltest:/etc/my.cnf /Users/lintong/Downloads/mysql8.0/config/ |
指定mysql配置和data挂载路径启动docker mysql
mysql8.0
1 | docker run --name mysqltest \ |
mysql5.7
1 | docker run --name mysqltest \ |
查看binlog是否开启,MySQL8.0默认是开启的
1 | mysql> show variables like '%log_bin%'; |
低版本默认是关闭的
如果是mysql5.7的话,需要在my.cnf配置中添加如下配置,参考:MySQL-开启binlog
1 | [mysqld]<br />log-bin=mysql-bin<br />server-id=1 |
其他配置
1 | #设置日志格式 |
可以在data目录下看到生成的binlog文件
使用命令查看binlog列表
1 | mysql> show binary logs; |
查看当前记录的binlog文件的文件名和偏移
1 | mysql> show master status; |
可以使用mysqlbinlog命令来查看binlog,如果想镜像中自带mysqlbinlog命令,可以使用debian的镜像,比如
1 | docker run --name mysqltest \ |
查看指定binlog文件的内容,可以看到这里先创建了一个test database,然后create了一张名为user的表
1 | mysql> show binlog events in 'mysql-bin.000005'; |
查看binlog的格式,binlog的格式有3种,分别为STATEMENT,ROW和MIXED
1 | mysql> SHOW VARIABLES LIKE '%binlog_format%'; |
可以使用mysqlbinlog命令将binlog导成sql文件
1 | mysqlbinlog --no-defaults --base64-output=decode-rows -v /var/lib/mysql/mysql-bin.000005 > /tmp/binlog005.sql |
也可以指定开始和结束时间来导出binlog,或者指定position
1 | mysqlbinlog --no-defaults --base64-output=decode-rows -v --start-datetime='2024-08-16 00:00:00' --stop-datetime='2024-08-16 23:00:00' /var/lib/mysql/mysql-bin.000005 > /tmp/binlog005.sql |
查看mysql的时区,可以看出使用的是UTC时间
1 | mysql> show variables like '%time_zone%'; |