- 博客(42)
- 问答 (1)
- 收藏
- 关注
原创 systemd服务日志重定向到文件
append:path 和 file:path 的区别,前者以追加的模式写入日志,在文件末尾写入;后者在文件开头写入,并不会清空已有内容。StandardOutput 和 StandardError,用于重定向标准输出和标准错误输出。
2023-10-08 16:15:07 873
原创 elasticsearch6.7开启鉴权
elasticsearch basic版默认x-pack模块security特性不可用,需要申请试用获得授权才可以试用security特性
2023-05-30 20:04:07 380
原创 sed 使用正则表达式分组替换--保留部分匹配内容
正则表达式使用圆括号分组,在sed中,使用形如\1取分组1的匹配值Linux:sed -ir "s/([a-zA-Z0-9]+)_[a-z0-9]{32}/\1/g" targetFile.txtMac:sed -i '' -E "s/([a-zA-Z0-9]+)_[a-z0-9]{32}/\1/g" targetFile.txt
2022-05-25 15:30:58 3280 1
原创 HBase java API实践
HBase java API实践依赖动手实践依赖hbase选择0.94.10版本,hadoop-common选择0.22.0版本,两个依赖包版本要适配,其他版本可能存在兼容问题 <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase</artifactId> <version
2022-01-19 00:23:50 2138
原创 容器里没有ping命令怎么检查容器网络与其他pod、节点、或外部网络的连通性
经常会碰到在容器中无法使用ping、telnet等命令的情况,这种情况,可以在容器对应的network namespace下执行ping、telnet命令,只要节点上有这些命令即可:方法一(使用nsenter命令):1、获取容器pid,执行下面的命令,获取pid的值docker inspect [容器名]2、进入容器对应的network namespacensenter -n -t [容器pid]3、执行ping、telnet操作ping x.x.x.x 或者telnet x.x.x.x
2021-08-30 16:15:16 6965
原创 java 阿里云api请求签名算法实践
package com.kf.goodidea;import java.net.URLEncoder;import java.io.UnsupportedEncodingException;import java.text.SimpleDateFormat;import java.util.*;//import sun.misc.BASE64Encoder;import java.util.Base64;import javax.crypto.SecretKey;import javax
2021-07-21 11:23:50 1177 4
原创 Java base64编码算法实践
尝试实现base64编码package base64.explore;public class MyBase64 { public static void main(String[] args) { /* 大写英文字母base64字节码(0-25)加65对应其assic字节码 小写英文字母base64字节码(26-51)加71对应其assic字节码 阿拉伯数字字符base64字节码(52-61)减4对应其assic字节码
2021-07-21 00:49:29 106
原创 nginx常用配置
配置文件服务器,在web上现实目录下的文件列表相关模块 ngx_http_autoindex_module1、概述该模块处理以斜线(/)结尾的请求,并生成一个目录列表,如图:通常,当ngx_http_index_module模块找不到index文件时,请求会被传递给ngx_http_autoindex_module模块2、配置说明相关配置指令:autoindex、autoindex_exact_size、autoindex_format、autoindex_localtimeSyntax:
2021-07-02 11:48:40 400
原创 kubectl patch增加或修改环境变量
由于环境变量是map 数组,怎么给它添加元素呢,如何表达元素添加的路径呢,如下所示:kubectl patch statfulset -nxxx --type json -p '[{"op":"add","path":"/spec/template/spec/containers/0/env/-","value":{"name":"xxxxx","value":"xxxxx"}}]'参考:https://erosb.github.io/post/json-patch-vs-merge-patch/
2021-06-30 22:48:42 2686
原创 kubectl patch的增删改操作
一、增加配置addkubectl patch pod xxx -n xxxxx -p=’[{“op”:“add”,“path”:"/a/b/c",“value”:jsonObject}]’二、修改配置replacekubectl patch pod xxx -n xxxxx -p=’[{“op”:“replace”,“path”:"/a/b/c",“value”:jsonObject}]’三、删除配置removekubectl patch pod xxx -n xxxxx -p=’[{“op”:“
2021-05-29 19:30:42 4154
原创 helm chart 编排资源创建顺序
helm官方文档:https://helm.sh/docs/topics/charts_hooks/背景公司的应用使用helm发布,除了应用本身(statefulset),还定义了一个一次性任务db-init(执行数据库初始化操作),如果应用在数据库初始化完成前启动,大概率会有问题。为了解决这个问题,需要用到chart hooks特性来编排资源创建的顺序,具体操作如下:chart hooks配置实际只要对chart包templates文件下应用和一次性任务的yaml文件注入如下annotations
2021-05-29 16:37:06 4071 2
原创 kubectl patch 修改ConfigMap的文本字符串,yaml语法之| |- |+
修改ConfigMapConfigMap配置如图所示:在iaas-resource下插入新数据,在bash shell下执行如下命令,插入新数据并立即查看修改结果x=5;y=6;a="- from: $x\n to: $y"$(echo -e `kubectl get cm test123 -ojsonpath={.data.iaas-resource}`|sed -e 's/\s*- from/\\n- from/g' -e 's/ to/\\n to/g')"\n";echo $a;kube
2021-05-26 22:19:35 3324
原创 创建自签名证书
自签名证书做法1.先生成一对秘钥,把公钥做成证书 ca.keyopenssl genrsa -out ca.key 2048 生成一个 2048 位的 私钥我们可以 输出它的公钥看看 openssl rsa -in ca.key -pubout2. 生成证书CRT server.crtopenssl req -new -x509 -key ca.key -out server.crt -days 365国家 Country Name: CN省 Stat or Province Name zhe
2021-05-26 10:42:37 281
原创 brew安装
brew安装旧的ruby脚本不支持了(https://raw.githubusercontent.com/Homebrew/install/master/install)下载新脚本(bash脚本),在mac终端直接执行即可https://raw.githubusercontent.com/Homebrew/install/master/install.sh
2020-12-31 14:14:05 106
原创 iptables一次关于主机发出数据包的DNAT操作经验
还是对iptables的4表5链理解的不到位有个需求,就是在本地通过一台代理(1.1.1.1)访问它后面的服务(2.2.2.2),需要直接配置本地应用的访问地址为服务的地址,但是本地网络到服务又是无法直接通信的。于是想到用iptables规则,对发出的数据包做dnat处理,即本地应用直接访问2.2.2.2,然后将请求的目的地址通过dnat替换成1.1.1.1。先说一下成功的做法,后面再探讨一下操作的误区和一些思考。(以下操作全都在本地应用节点上进行)百度搜索 “iptables 将主机发出的目的地址改掉
2020-12-08 11:44:56 765
原创 通过ssh命令创建创建虚拟专有网络
简要记录操作步骤,欢迎咨询讨论通过主机a和主机b之间建立tunnel实现vpn通信1、检查tun模块,如果没有则执行第二步,加载tun模块lsmod |grep tun2、加载tun模块modprobe tun3、检查sshd服务配置配置文件路径/etc/ssh/sshd_config,确认以下两项配置PermitRootLogin yesPermitTunnel yes4、主机a和主机b上分别创建tun设备ip tuntap add mode tun tun65、分别配置tun设备
2020-12-07 17:11:17 239
原创 写了个检查一个C段的ip是否可以ping通的脚本
使用多线程,在linux服务器上秒出结果,主要是快,只支持一个c段之内的地址,例如python ipcheck.py 192.168.0.1 192.168.0.254#-*-coding:utf-8-*-#****************************************************************## ScriptName: ipcheck.py# Author: [email protected]# Create Date:
2020-12-07 16:51:42 400
原创 docker本地镜像元数据解析
本地镜像元数据管理的一点知识import hashlib, subprocessfrom docker import client# 定义一个类A,用来获取layer的chainId,使用bottom layer初始化实例class A(client.Image): def __init__(self, diffids): self.diffids = diffids self.id = diffids[0]# 定义一个类函数,计算layer的chain
2020-12-07 10:37:23 837
原创 ssh -J (ProxyJump)指定多主机
今天读了一下ssh的man手册,期望发现可以jump多主机跳转到目标机器的方法,果然找到了,记录如下:ssh -J “host1:port,host2:port,host3:port” root@host4多主机之间用逗号隔开,如果某个主机的sshd服务不是默认22端口,需要在IP后加***:port***(冒号和端口号)指定主机端口...
2020-09-13 13:48:53 5365 1
原创 iptables 出数据包做DNAT
!!!!!学习累,没人带好难有个需求,就是在本地通过一台代理(1.1.1.1)访问它后面的服务(2.2.2.2),需要直接配置本地应用的访问地址为服务的地址,但是本地网络到服务又是无法直接通信的。于是想到用iptables规则,对发出的数据包做dnat处理,即本地应用直接访问2.2.2.2,然后将请求的目的地址通过dnat替换成1.1.1.1。先说一下成功的做法,后面再探讨一下操作的误区和一些思考。(以下操作全都在本地应用节点上进行)百度搜索 “iptables 将主机发出的目的地址改掉” 这几个字找到
2020-09-08 16:37:57 785
原创 virtualenv创建、进入、退出“python虚拟环境”
学习好难!!!没人带好难安装virtualenvpip install virtualenv创建虚拟环境virtualenv --no-site-packages vpython-1#不带–no-site-packages参数会把第三方模块全都拷贝到虚拟环境#命令执行后会在当前目录创建vpython-1目录,虚拟环境就在这个目录下进入虚拟环境source vpython-1/bin/activate退出虚拟环境deactivate有个问题,怎么查找已经创建的虚拟环境,是不是一般虚
2020-09-04 20:32:16 2124 3
原创 python实现阿里云Signature签名计算
以前工作中写脚本访问阿里云的资源时,都是通过调用系统命令(调用CLI工具)的方式,这次尝试通过http请求来实现想要的操作。本次实现中遇到的问题 1、想api发送请求是总是返回报错:The specified pamareter Version is not valid,从报错上看是参数中设置的Version的值有问题,但反复核实请求中带的Version并没有问题。 解决方法:如果你遇到同样的问题,估计跟我一样,在向api发送请求是也是以调用系统命令curl的方式来实现的,这里要把请求的url用引号引
2020-06-17 16:18:45 2808
原创 docker storages notes
docker存储一、docker存储分类1、volumesnamed volumeanonymous volume2、bind mounts3、tmpfs mounts一、docker存储分类1、volumes本地文件系统/var/lib/docker/volumes目录下的存储空间,由docker管理,非docker进程不应该修改该空间的内容,docker容器持久化数据存储的最佳方式na...
2020-06-17 13:23:51 103
原创 openstack制作镜像的方法
一、使用vm的磁盘文件制作自定义镜像vm所在节点/var/lib/nova/instances/{instanceid}/目录下,disk就是该vm的磁盘文件,qemu-img convert -c -O qcow2 disk centos-7.qcow
2020-03-12 13:37:19 400
原创 macOS访问docker的宿主vm
访问vm:screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty退出vm:ctl+a d
2019-12-10 18:00:03 495 4
原创 mysql操作恢复
mysqlbinlog --no-defaults -v -v --base64-output=DECODE-ROWS --start-datetime=“2019-04-18 02:09:52” --stop-datetime=‘2019-04-18 02:09:53’ /var/lib/mysql/mysql-bin.000006根据时间段筛选找到相关的操作的点,可以看到操作之前的数据...
2019-11-01 10:27:09 93
原创 给自己的脚本或工具添加自动补全参数选项的功能
为了完成这个需求,我们首先需要了解两个命令(compgen | complete)和两个系统参数(COMP_CWORD | COMP_WORDS | COMPREPLY)1、先介绍一下上面两个参数比如执行一条命令:mycmd opt1 opt2 opt3COMP_WORDS 是由上面命令中的元素组成的字符串数组,即COMP_WORDS=(mycmd opt1 opt2 opt3) ...
2019-10-30 20:42:35 1529
原创 Python正则表达式笔记
特殊字符:\w 表示所有的word character,什么是word character呢,即引文字符和阿拉伯数字字符以及下划线,等价于[0-9a-zA-Z_]\W 表示所有的非word character,等价于 [^0-9a-zA-Z_]\b 表示字符串的开头或结尾为非word character,可以认为是word character字符与非word character字符的分割...
2019-09-05 18:26:36 112
原创 python正则表达式判断字符串是否为IP
p = re.compile(’’^(2[0-4][0-9].|25[0-5].|[01]{,1}[0-9]{1,2}.){3}(‘2[0-4][0-9]|25[0-5]|[01]{,1}[0-9]{1,2}’)$’’)
2019-05-27 09:32:20 1653
原创 python 类变量、实例变量和局部变量
python类的变量类型分为:类变量、实例变量(也叫它成员变量)、局部变量举个栗子:class Test: var01 = "我是类变量" def __init__(self): var02 = "我是实例变量" def myfunction(self): var03 = "我是局部变量" print(var03)print(Test.var01)t ...
2019-05-23 22:03:41 983 3
原创 python之urllib2的用法
urllib2定义的函数:1、urllib2.urlopen(url[, data[, timeout[, cafile[, capath[, cadefault[, context]]]]])用来发送request请求,现在我只用到了前两个参数,后边几个参数后面慢慢了解以后再来谈论1.1 使用urllib2.urlopen(url) 向web服务提交GET请求1.2 使用urlib2.u...
2019-05-22 19:11:22 772
原创 HTTP 400错误
400 是 HTTP 的状态码,主要有两种形式:1、bad request 意思是 “错误的请求”;2、invalid hostname 意思是 “不存在的域名”。400 Bad Request 是由于明显的客户端错误(例如,格式错误的请求语法,太大的大小,无效的请求消息或欺骗性路由请求),服务器不能或不会处理该请求。在 ajax 请求后台数据时比较常见。产生 HTTP 400 错误的原因...
2019-05-21 12:03:28 1435
转载 CentOS7安装python3.7.3 遇到的问题
CentOS7 编译安装python3.7.3 需要安装gcc、zlib*、sudo yum -y install libffi-develyum install -y gcc zlib* libffi-devel以下内容转自 “瞎猫碰死耗子” :https://blog.csdn.net/oZhengTuoJiaSuo/article/details/82427076CentO...
2019-05-18 15:31:20 450
转载 JAVA断言assert
断言:也就是所谓的assertion,是jdk1.4后加入的新功能。它主要使用在代码开发和测试时期,用于对某些关键数据的判断,如果这个关键数据不是你程序所预期的数据,程序就提出警告或退出。当软件正式发布后,可以取消断言部分的代码。java中使用assert作为断言的一个关键字,这就可以看出java对断言还是很重视的,因为如果不是很重要的话,直接开发个类就可以了,没必要新定义一个关键字。语法1...
2019-02-18 10:14:03 115
原创 PFsense开启WAN口访问,设置端口映射
注意:请使用360浏览器兼容模式访问http页面(pfsense版本2.4.4),如果是使用https访问pfsense的web页面,急速模式和兼容模式均可。在实验中使用了pfsense防火墙软件做路由器,需要做端口映射,操作记录如下:PFsense默认开启防火墙,并不允许通过wan口访问路由器,wan口无法ping通。1、首先允许wan访问进入 Firewall->Rules-&g...
2019-01-25 14:17:00 11540 1
空空如也
innerHTML插入form表单数据,浏览器解析后表单数据跑到了form标签外面
2021-08-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人