dockerfile使用

目前需要创建docker容器 之前用的是基于 Java环境的镜像 构件的,当前开发都后期需要gdal和其他的环境,仅仅基于java的 命令是远远不够用户的

首先gdal 官方提供了源,但是这个源没有java环境需要我们安装,他提供了多个Linux发行版本 包括Ubuntu和alpine ,起初基于Ubuntu small来搭建的

1
2
3
4
5
6
7
8
9
10
FROM osgeo/gdal:ubuntu-small-3.2.1
MAINTAINER gdallikedemo
RUN add-apt-repository ppa:openjdk-r/ppa && \
apt-get update && \
apt-get install -y java-1.8.0-openjdk && \
apt-get clean;
COPY MY_JAR.jar /home/MY_JAR.jar
# RUN nohup java -jar /home/MY_JAR.jar >/dev/null 2>&1 &
CMD ["java","-jar","/home/MY_JAR.jar"]

编写Linux启动文件并设置为自启动使用systemctl

编写Linux启动文件并设置为自启动使用systemctl

常见使用的格式模板

1
2
3
4
5
6
7
8
9
10
11
12
13
[Unit]
Description=Sakura Frp Client Service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
Restart=on-failure
RestartSec=5s
ExecStart= 执行步骤

[Install]
WantedBy=multi-user.target

pgsql重要视图转载

转载地址 PostgreSQL统计信息的几个重要视图

1、pg_stat_database

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
-[ RECORD 1 ]--+------------------------------
datid | 13156 #数据库的oid
datname | postgres #数据库名
numbackends | 0 #访问当前数据库的连接数量
xact_commit | 2357 #该数据库事务提交总量:和下面的rollback和作为TPS统计
xact_rollback | 17 #该数据库事务rollback总量,如果特别多,需要看业务是否有问题了
blks_read | 1946 #总磁盘物理读的块数,这里的read可能是从 cache中读取,如果很高需要结合blk_read_time看是否真的存在从磁盘读取的情况
blks_hit | 103625 #从shared buffer命中块数
tup_returned | 1413113 #对于表来说,是全表扫描的行数;对于索引是通过索引返回的索引行数,如果这个值明显大于tup_fetched,说明当前数据库存在大量的全表扫描。查看执行计划,这个是databas全局级别的
tup_fetched | 36041 #指通过索引返回的行数
tup_inserted | 104 #插入的行数
tup_updated | 0 #更新的行数
tup_deleted | 19 #删除的行数
conflicts | 0 #与恢复冲突取消的查询次数,只会在备机上发生
temp_files | 0 #产生临时文件的数量,如果这个值很高,需要调大work_mem
temp_bytes | 0 #临时文件的大小
deadlocks | 0 #死锁的数量,如果这个值很大说明业务逻辑有问题
blk_read_time | 0 #数据库中花费在读取文件的时间,这个值很高说明内存较小,需要频繁从磁盘读入数据文件
blk_write_time | 0 #数据库中花费在写数据文件的时间,pg中脏页一般写入page cache,如果这个值较高,则说明cache较小,操作系统的cache需要更积极的写入
stats_reset | 2019-02-11 23:42:37.526743-08 #统计信息重置的时间

pgsql和mysql的对比和特性

目前找到的资料和说法如下 后续还会继续补充

1. pgsql 的特点

主要是 多线程的使用同时 提供提供了丰富的类型支持 json,varchar, 等,索引的类型也是有很多包括 b-tree,map,hash,gist这些索引 ,同时 处理的数据量也能保证数据量的读写,PostgreSQL支持物化视图

Pg 的列里有隐藏的乐观锁 version 字段, 默认的 repeatable read 级别就能保证并发更新的正确性,

es索引生命周期维护

keyword text

hot-warm-cold架构将索引数据切分成hot/warm/cold的索引。hot索引负责最新数据的读写,可使用内存存储;warm索引负责较旧数据的读取,可使用内存或SSD存储;cold索引很少被读取,可使用大容量磁盘存储。随着时间的推移,数据不断从hot索引->warm索引->cold索引迁移。针对不同阶段的索引我们还可以调整索引的主分片数,副本数,单分片的segment数等等,更好的利用机器资源。

索引生命周期管理(Index Lifecycle Management ,简称ILM)
作者:Monica2333
链接:https://juejin.im/post/6844904131262431246
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Ubuntu给外接设备修改分辨率

参考链接 How to Set A Custom Screen Resolution in Ubuntu Desktop

目前正常 dp-1上面有2560x1440 2k的分辨率但是有时候显示不出来,导致不能显示最优的效果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
DP-1 connected 2560x1440+0+0 (normal left inverted right x axis y axis) 597mm x 336mm
2560x1440 59.95 + 74.97*
1920x1080 60.00 50.00 59.94
1920x1080i 60.00 50.00 59.94
1280x1440 59.91
1680x1050 59.88
1280x1024 75.02 60.02
1440x900 59.90
1280x960 60.00
1280x720 60.00 50.00 59.94
1024x768 75.03 70.07 60.00
832x624 74.55
800x600 72.19 75.00 60.32 56.25
720x576 50.00
720x480 60.00 59.94
640x480 75.00 72.81 60.00 59.94
720x400 70.08

Jenkins的遇到的坑

maven本地仓库地址

Jenkins本地仓库依赖的common和工具包,是独立安装的,使用在解析上述依赖时会出现问题,需要在Jenkins所在的本地 maven install 一下,或者在用sh写脚本让执行

更新完plugin部分job看不到的情况

重启还是进一步操作后出现,不是project,job 看不到的情况

树莓派下面搭建pgsql

搭建pgsql的环境查看的文档

怎么在一台树莓派上安装 Postgres 数据库

树莓派中安装MySQL 5.7
感慨是准备是安装MySQL的,树莓派的环境 : Linux raspberrypi 4.19.97-v7l+ #1294 2020 armv7l