QingShan Talk

青衫说,关于程序与设计、黑客与画家

Crontab not work in alpine inside a docker

今天使用docker New了一个Alpine Linux作为测试系统。为了验证系统稳定,需要每间隔一段时间来触发一个测试脚本。很常见的场景,于是准备使用crontab。使用crontab -l后,看到如下信息: 1 2 3 4 5 6 7 # do daily/weekly/monthly maintenance # min hour day month weekda...

NodeManager无法启动的原因

Why the nodemanager cannot start

今天因为业务需要,需要将Yarn从2.6.0升级到2.7.6。将hadoop组件包用新版本替换后,修改config文件yarn-site.xml,再使用yarn-daemon.sh stop/start nodemanager,再使用jps命令查看nodemanager进程。观察到nodemanager进程启动后很快就自己退出了。 通过查询日志,得知: 1 protocol message...

NodeManager丢失调查报告

The report for nodemanager of yarn lost

一、前言 2020年04月,发现NodeManager节点数据总数异常。经过对比DataNode列表,并排除故障机、维修机后,仍然有21个节点的NodeManager丢失。 通过查看以上节点的进程情况,发现节点中的NodeManager进程存在,但没有在正常工作。通过yarn-daemon.sh stop nodemanager 命令无法正常结束进程。查看日志,是LOCK文件没有被清理 1...

使用requests时候获取乱码问题的解决方法

Solve the problem of messy code when use requests lib

今天在使用requests提取一些网页数据的时候,发现总是乱码: 1 2 3 4 5 6 7 8 9 import sys print(sys.getdefaultencoding()) import chardet response = requests.request("GET", url, headers=headers, data = payload) print(chardet...

Java 中静态方法调用 Autowired

Use autowired in static method with Autowired

1 echo 'deb blah ... blah' | sudo tee -a /etc/apt/sources.list https://stackoverflow.com/questions/84882/sudo-echo-something-etc-privilegedfile-doesnt-work

Java 中静态方法调用 Autowired

Use autowired in static method with Autowired

某个 Java 项目中使用 JPA 作为数据库操作层,因此在业务逻辑中不可避免要使用@Autowired来引入Repository来操作数据库。但是近期,有个简单的需求,即希望通过接口触发数据库数据的实时读取和写入。这个需求本来没什么困难的,直接新建一个 Web 路由,调用已经写好的Repository相关业务逻辑即可。但是实际上行不通。原因是,如果这么做了,那么Repository这里语句...

Java中根据字典的key和value排序

Sort collection in Java

今日在工作中遇到一个需求: 1 有一个数据类型为List<Map<String, Object>>,Key是指标名称,Value是该指标的值,可能是字符串,也可能是整型,也可能是浮点型。现在需要根据指定的指标名的值来进行排序,生成一个新的有序List。 1 根据value来排序 我是通过Java的Collection的Sort(List list, Compara...

JPA报错No property found for type的问题

Solve the exception for JPA No property found for type problem

在 JPA 中定义完 model 和 dao 之后,JPA 会自动检索 model,然后生成 findByFieldName 的方法。 例如,定义了一个字段叫 actionid,JPA 在 repository 文件里,会自动创建 findByActionid 的方法,意思是根据 actionid 这个字段来查询,获得结果。 但是,如果字段是带下划线"_"的时候,生成的方法是 findB...

通过yum更新较新版本的Nginx

Upgrade nginx from yum

偶然发现生产服务器上面的nginx版本还是很旧的,但是通过yum尝试upgrade,却发现yum提示是最新的。不得不吐槽万年不更新的yum默认源。找了一下,发现可以通过安装官方的nginx源来更新,步骤如下: 1 安装官方yum源 1 sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-ce...

GitLab和GitLab-Runner部署方法

The way for gitlab and runner deploying

由于安全限制,内网中很多网络资源无法直接运行和下载,因此采用手动(脚本)和离线资源包的形式实现半自动安装。 一. 安装依赖 1 2 3 4 5 6 sudo yum install curl openssh-server openssh-clients postfix cronie && sudo yum install policycoreutils-python po...