自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(149)
  • 资源 (3)
  • 收藏
  • 关注

原创 DolphinScheduler-2.0.0 安装部署

DolphinScheduler 集群默认的启动脚本是 start-all.sh,看名字就是启动一个节点,所有的节点都会启动,他是通过 ssh 启动其他节点,故需要配置免密。此处略,去官网下载 apache-dolphinscheduler-2.0.0-alpha-bin.tar.gz。这里用到什么组件就修改什么就可了,没有使用到的组件可直接注释掉,修改。安装中问题,提示没有dolphinscheduler用户,三台都操作。dolphin已经为我们准备了初始化元数据库的脚本,执行。执行脚本初始化元数据。

2023-12-27 12:29:07 1258

转载 关于${ }的用法-Linux shell编程小记

在shell编程中,当遇到需要将某个字符串进行替换或者裁剪时,我们首先想到的是sed和awk,但是sed和awk的功能都太强大了,当只是简单的对某个字符串进行替换裁剪时,我们可以使用${}来完成。裁剪的格式为${变量#(##)|%(%%)正则表达式}替换的格式为 ${变量/|//被替换字符/替换字符}

2023-11-02 11:28:32 555

转载 Shell命令 getopts/getopt用法详解 命令行参数

如果需要的参数没找到,VARNAME的值会被设置为冒号(:),并且变量 OPTARG 中会包含选项字符。比较下来,使用起来会比getopt方便很多,不过功能上也差了很多,可选参数(双冒号::)应该也是不支持的。在脚本中通过各种引用和判断拼接出一个复杂的命令的时候,有时候就会出现无法执行的情况。第一次执行是传递的参数是错误的。因为此时的结果是set命令(也可能是eval命令)的执行结果,而getopt是再前一条的命令。这里出现了一个新的问题,不但没有正确的处理空格,输出的内容还有额外的引号。

2023-11-01 15:33:31 1417

转载 什么是交互式登录 Shell

如何区分登录Shell和非登录Shell呢,可以通过查看$0的值,登录Shell返回-bash,而非登录Shell返回的是bash。Linux用了这么多年,Shell一直在用,执行命令,安装软件,配置文件,以及编写脚本,但是说真地,我对Shell一直不是非常了解,几乎没看过和它相关的任务手册和文档。一般系统中最常见的Shell还是Bash。后面其实还有一段说sh和bash不同的之处的一段话,这里就不放了,其中读入这些以上文件的时候不考虑bash开头的那几个文件,做到尽量少的设置,保证与POSIX标准兼容。

2023-11-01 14:41:09 330

转载 Shell 默认选项 himBH 的解释

的问题地址:$ echo $-himBH1、himBH这个结果又是什么意思?2、看不懂,求第69行详解。多谢++dothen= "$-" ];

2023-11-01 14:38:29 104

原创 image has dependent child images

Docker文件系统的组成,docker镜像是由很多 layers组成的,每个 layer之间有父子关系,所有的docker文件系统层默认都存储在/var/lib/docker/graph目录下,docker称之为图层数据库。最后做一个总结< none>:< none> 镜像是一种中间镜像,我们可以使用docker images -a来看到,他们不会造成硬盘空间占用的问题(因为这是镜像的父层,必须存在的),但是会给我们的判断带来迷惑。有效的 none 镜像。无效的 none 镜像。使用下面的命令可以清理。

2023-08-14 14:04:47 1106

转载 shell中使用for和while读取文件内容时候的区别

bin/bashIFS=$'\n'doecho $worddonemy firstname iswangleibut我的名字 是 忘王磊懂吗 我叫 wang 王磊这里的结果和cat文件的结果完全一致(空格和制表符完完整整的输出),请记住这点。默认情况下,shell会以空格、制表符、换行符作为分隔符,可以根据实际需求使用IFS来自定义shell的分隔符。IFS可以指定单个字符作为分隔符,IFS=:(以冒号作为分隔符);

2023-05-19 04:43:45 322

原创 ssh 批量停止 systemctl 服务

如下这样,双引号中的$name 还是会获取变量name的数值,而其他的都是常量,不会进行bash。a=b $a=123 因为shell 不能二次进行解析,使用eval。len=${#list_name[*]} # 数组的长度。name=${list_name[@]} # 列出所有的数组。

2023-04-24 15:21:43 249

原创 VNC 远程重装 Centos 系统

,确保 centos1本身开启了图形化界面GNOME,不是最小化安装的Linux。

2023-04-20 15:39:08 2345 1

原创 minio 部署、迁移、使用

minio 数据目录一定不能和 跟/ 在一个磁盘上,要单独挂载,比如规划将minio的数据目录置于/data/minio,如果按照以下的磁盘,/mkdir /data/minio后,目录是在 / 下创建。如果规划中,如果项设置3个存储目录,则就要有/data//minio/data1 和 /data//minio/data2 和 /data//minio/data3,然后在修改启动参数如下()在目标机器或者源数据机器,安装rclone, 在 rclone 中定义,源跟目录,执行后自动迁移。

2023-04-12 05:43:05 10008

转载 shell脚本命令行参数 | while getopts

比如匹配上了a参数,此时$OPTARG 就是参数 a 的数值,也就是sh while_getopt_1 -a 1 中的 1。(这里提供了 -r 参数,用户手动确认会对目录进行拷贝时,才进行该操作)同理,当命中a之后,命中b时,OPTIND为5,表示当前在第五个参数位置。此时命中a选项,那么OPTIND为3,表示当前在第三个参数位置。○ 在识别到需要参数的选项,没有携带参数时,会命中。4.需要参数的选项没有带参数,命中“:”,且当前选项字符会保存在OPTARG中。3.不在参数列表的选项,命中“?

2023-03-26 09:11:45 1670

原创 常用adb 命令整理

SDK的Tools文件夹下包含着Android模拟器操作的重要命令adb,adb的全称为(Android Debug Bridge就是调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序。借助这个工具,我们可以管理设备或手机模拟器的状态。还可以进行以下的操作:1、快速更新设备或手机模拟器中的代码,如应用或Android 系统升级;2、在设备上运行shell命令;3、管理设备或手机模拟器上的预定端口;4、在设备或手机模拟器上复制或粘贴文件;

2023-03-26 09:09:50 2651 1

原创 rsync+xinetd+inotify+sersync

Linux 系统默认安装rsync(最小化安装没有rsync)Linux 不依赖ssh,需要两端都有rsyncrsync在man rsync的文档里可以看到:即默认rsync只会比较文件大小和最后修改时间,只要这两者一样,rsync即认为文件相同。其它属性(包括文件内容)的不同,并不会让rsync同步该文件!一台主机负责把数据传送给其他主机,服务器开销很大,比较适合后端服务器少的情况(比如大于10台,考虑节点量很大,发送到第10期间,有新的数据,可能存在再一次给第一个机器发送数据进行)

2023-03-03 10:23:50 878

转载 linux系统查看父子进程

p pid。

2023-02-24 11:03:58 1765

转载 正则表达式 \b详解

这句话很隐晦的说出了是去匹配第一个字母,而不是去匹配分割符(我这说的匹配分隔符和上边说的不去匹配任何一个分隔符并不矛盾,因为我经过实验已经进本猜出了一个单词两边只要没有数字、字母、汉字、下划线就可以认为是独立单词,我说的匹配分隔符是去判断单词前一个字符是不是在这四个之外,是的话就认为是单词开头)从网上找到了这样一句话:“如果需要更精确的说法,\b匹配这样的位置:它的前一个字符和后一个字符不全是(一个是,一个不是或不存在)\w(匹配字母或数字或下划线或汉字)”输出的结果为True 说明是匹配的a,而不是,

2023-02-24 10:45:35 3919 2

原创 nginx 代理01(持续更新)

【代码】nginx 代理(持续更新)

2023-02-20 10:02:46 1180

原创 redis 运维讲解02

一、数据持久化1、为什么要持久化redis 重启后,redis 存在内存数据中数据丢失,不管之前是多少G数据,秒丢,而且无法恢复,数据在内存中[root@86-5-master ~]# redis-cli -p 6379127.0.0.1:6379> MSET k1 v1 k2 v2 k3 v3OK127.0.0.1:6379> MGET k1 k2 k31) "v1"2) "v2"3) "v3"127.0.0.1:6379> exit[root@86-5-

2023-01-09 15:48:55 1072 1

原创 Linux(CentOS 7)下安装 MySQL 8.0.31

注意,由于是Centos 7 ,就下载Linux 7。

2023-01-03 17:31:47 1375 1

转载 Centos7 查看自启动列表systemctl list-unit-files以及设置服务自启动

【代码】Centos7 查看自启动列表systemctl list-unit-files以及设置服务自启动。

2023-01-03 17:02:18 2775

原创 iptables防火墙

p 后接协议,可以限制对协议的访问,一般有 -p icmp 禁止ping , -p tcp 禁用所有tcp的协议的。-p udp 禁用所有udp 的协议的。没有-p http ,因为http是基于tcp基础进行通信,所以禁用tcp就是禁用http的访问,注意使用-p tcp,会导致ssh等也断开。

2022-11-06 10:33:05 1882

转载 Ingress 常用的10个配置(annotation)

比如在有些时候我们需要在 server 里或者 location 里添加一些参数,例如添加包体大小限制、添加跨域配置、添加自定义header、处理响应header等等。遇到这些需求的时候,我们开始怀念原生的 nginx 配置,因为那样我们可以随心所欲的修改。我们有这样的需求,官方在做这个的时候,也做了一些考虑,为了我们提供了一些配置切入点,我们可以通过配置 annotation,按照官方提供的一些规则来将我们的一些自定义配置插入进去。

2022-10-26 05:52:26 4613

原创 Mongodb 运维讲解

用户、密码、对应的有哪些权限(增删改查)、访问IP限制mongodb :1、用户、密码2、权限( 类似Linux权限定义,Linux是rwx,mongodb 使用角色管理,定义可读可写rw,只读 r-,还有一种 root 权限,把一堆可能性的命令打包成一个角色,进行给用户授权,mysql 8.0 已经存在,比如给 insert 、update 打包给 名字叫 jerry 的角色,然后账户1 和 jerry 的角色绑定,然后账户2 和 jerry 的角色绑定 )、

2022-10-26 02:46:32 1608 1

转载 redis 的 copy-on-write 机制

我们知道redis的worker是单线程的, 如果要持久化这个行为也放在单线程里, 那么如果需要持久化数据特别多, 将会影响用户的使用. 所以单开一个进程专门来做持久化的操作.肯定是要把redis内存中的数据写入. 这时候, 其实redis内存中的数据保存的是一个虚拟地址. 他真实指向的是物理内存的地址(绿色部分)其实持久化进程这个时候只是指向了数据的地址, 内存消耗并不多. 如果这时候, 原来的数据修改了, 怎么办呢?这时候, 要拷贝, 就是把真实数据的地址拷贝一份到需要持久化的进程中。

2022-10-23 10:13:21 339

原创 redis 运维讲解01

运维不需要往里面存数据,但是需要搭建、备份、扩容、收缩都是运维的工作,保证 redis 不能宕机、备份数据、协助开发查询数据。

2022-10-22 21:03:35 1339

转载 Redis的bind的误区

今天在搭建Redis服务集群的时候,发现自己一直以来对Redis中bind的理解的一个误区。在今天以前,我一直认为Redis中的配置文件中的bind的作用是:用来限制Redis服务器用来接收来自哪些服务器(IP地址)的Redis连接请求。即:只有在bind指定的IP地址的计算机才可以访问这个Redis服务器。(直到今天我才知道以上的理解都是错误)例如:bind 127.0.0.1 就是用来限制只有本机可以连接redis服务连接。

2022-10-22 12:54:43 1345

原创 运维工具 ansible

template:注意:Templeate模板只能用在plybook中,不能再 ansible 命令中模板可以放在相对路径和绝对路径,所以一般都放在一个文件夹中模板需要以.j2 为后缀命名文件。

2022-10-21 08:36:02 1563

转载 CentOS 7.4安装python3.8及报错处理

所以这里建议按照上面的方式配置,另外如果openssl不使用系统yum安装的,而是使用自己编译的比较新的版本可以使用--with-openssl=/usr/local/openssl这种方式指定,后面目录为openssl实际安装的目录,另外编译完还要将openssl的lib目录加入ld运行时目录中即可. 】命令来安装 _curses、_curses_panel 模块。命令来安装 _dbm、_gdbm模块。命令来安装_lzma模块。命令来安装_uuid模块。命令来安装 _ssl模块。命令来安装zlib模块。

2022-10-18 08:41:41 2247

原创 keepalived 部署(tar)

【代码】keepalived 部署(tar)

2022-10-09 15:38:03 1898

原创 python06-文件操作(open 函数、os 模块)、 try...except、生成器、迭代器和可迭代对象

1、因为py是按照顺序执行代码,所以不能将 except 放置最前2、如果是填写的父进程,按照顺序,就会执行了父进程所以 Exception 一定要放在子函数的最下面print("上面的格式有问题")print("被除数不能是0")print("Exception 异常")

2022-09-28 10:59:13 776

原创 python3.1 - join 函数 、maketrans、translate 函数

maketrans()返回可用于str.translate()的转换表。将序列(也就是字符串、元组、列表、字典)中的元素以指定的字符连接生成一个新的字符串。2、对字符串进行操作(分别使用‘空格’、 ‘-’ 、 ‘*’作为分隔符)1、对列表进行操作(分别使用‘空格’ 、 ‘-’ 、‘*’作为分隔符)3、对元组进行操作(分别使用‘空格’ 、‘-’ 为分隔符)4、对字典进行操作(分别使用‘空格’、‘-’ 作为分隔符)易混点:将’b/c/'改为’b/c’会产生不一样的结果!结果不一样的原因:字典的读取是随机的。

2022-09-21 16:18:58 226

原创 python05- 函数、time

用一个案例:封装生成4位二维码函数,作函数的调用如何知道,我们是否执行了函数中的代码,通过在函数代码中加断点。

2022-09-21 11:38:37 728

转载 VMware教程:设置 CentOS 7 共享文件夹

解释说明:输入命令 vi /etc/fstab ,打开文件,按 i 键进入编辑状态,添加上述内容,添加完成之后,按 Esc 键,输入 :wq 保存并退出。上面的内容中,SharedFolder为共享目录名称,/mnt/hgfs为挂载位置。解释说明:上述命令中 SharedFolder 是设置的共享目录名称,/mnt/hgfs 是挂载位置。手动挂载共享目录存在一个弊端,就是每次重启都要重新挂载一次,因此建议设置自动挂载,让虚拟机系统每次启动完成,自动挂载虚拟机已经设置的共享目录。通过上述步骤,即可在。

2022-09-19 13:30:53 6799 1

原创 python04- for in 、while in、列表、交叉赋值、元组、字典、集合(set)、公共方法、列表推导式、集合推导式、字典推导式

while i in a 代表的是,判断 i 在不在 a中,假如 i =1 ,a = 42351,while会在每次执行循环的时候,将整个a进行顺序检索,看是不是有 i = 1,只有遇到,执行循环。而 for 循环,是每次按照顺序将in 后 面的数据中获取数据并使用。

2022-09-15 07:40:19 7001

原创 python03-转义字符、is、字符串(截取、切片、描述判断、切割、大小写替换、空格处理)、find 、count 、random 、replace 、format、print、isinstance

# print('hahahah\nhahah')# print('hahahah\thahah')# print('hahahah\\hahah')# print('hahahah\'nhahah\'')python 中,s1 赋值给s2 ,是赋值给的内存地址。如果内存池中,开辟了一个数值是'hello'的内存,不会在开辟一个新的,而是直接拿来用,s3 在定义,直接拿来用s1 = 'hello's

2022-09-08 15:26:18 795

原创 python01- 安装部署

选择一个版本部署,本次选择当前最新的,选择downloads下载在 downloads 页面的最下方,选择你要部署什么系统中,点击下载即可。

2022-09-03 18:20:17 1988

原创 集群外部署 Prometheus 监控 k8s

1、一台普通的机器 192.168.18.92、k8s 集群一台master节点 192.168.18.7。

2022-09-02 11:20:14 4142 2

转载 kubectl 创建 Pod 背后到底发生了什么?

如果上面一切顺利,现在你的集群上应该会运行三个容器,所有的网络,数据卷和秘钥都被通过 CRI 接口添加到容器中并配置成功。

2022-08-30 13:51:19 286

原创 kubeadm (etcd)

1、获取etcdctl 命令行工具kubeadm 部署的 k8s ,etcd 是封装在 pod 中从 pod 中拿到 etcdctl,先查看在 pod 中 etcdctl 的位置获取etcdctl 并放入/usr/bin下kubectl -n kube-system cp etcd-k8s-master:/usr/local/bin/etcdctl /usr/bin/etcdctlchmod +x /usr/bin/etcdctl2、查看etcd集群成员节点...

2022-08-30 05:54:20 1357

转载 kubeadm 部署k8s kube-apiserver无法正常启动的问题

9.kubeadm init --kubernetes-version=v1.17.17 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/16 --ignore-preflight-errors=Swap 初始化节点 (根据情况修改),或者按照。12.下载并安装flannel配置,需要配置kube-flannel.yml, 或者按照。15.查看节点,已经出现,查看6443端口号,已经出现。3.ll -a 查看是否存在.kube文件。

2022-08-20 18:07:55 11549 5

原创 kudeadm 部署 k8s

首先容器通过docker0无法找到另一台容器的,所以docker0就把请求往上给,给到了物理机的物理网卡,物理网卡又是怎么去知道另一台的物理机的容器在哪?假如有A B 两个物理机器,A机器通过ens33 10.4.7.21/24 跟 B 机器通信,于是配置flannel 绑定ens33,然后在 A 机器daemon.json中配置,当前物理机启动的pod网段是172.7.21/24,也就是说当前物理机启动的pod的IP是172.7.21/24中之一,而 B 物理机的pod网段是172.7.22/24。

2022-08-20 17:38:31 1842 1

GrafanaDashboard.zip

资源为grafana监控Dashboard模板。 https://blog.csdn.net/Jerry00713/article/details/113483794

2021-02-19

k8s思维引导图vsdx

自己学习总结了k8s 思维引导图,vsdx格式,分享给大家

2020-10-27

Docker 下Harbor环境离线安装

Docker 下Harbor环境离线安装,使用hostnamer IP 方式 Harbor是镜像仓库,那么就应当是存储镜像的,这个可能是大多数接触harbor的人的一个误区,当深入了解以后才发现,镜像的存储harbor使用的是官方的docker registry服务去完成,至于registry是用本地存储或者s3都是可以的,harbor的功能是在此之上提供用户权限管理、镜像复制等功能,提高使用的registry的效率。

2020-09-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除