自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 收藏
  • 关注

原创 SSH 用pub公钥免密登录

SSH 用公钥免密登录,需要改文件权限 ssh-keygenvim /root/.ssh/id_rsa.pub把生成的public key加到目标机器的~/.ssh/authorized_keys,仍不能直接免密码登录。没有这个文件创建一个原因是ssh 对目录的权限有要求,需要修改ssh目录和文件的权限如下:chmod 700 ~/.sshchmod 600 ~/.ssh/authorized_keys...

2020-09-28 11:22:47 1629

原创 kubernetes限制pod的cpu和内存

kubernetes限制pod的cpu和内存1、在创建容器的配置文件中指定spec: containers: - image: gcr.io/google_containers/serve_hostname imagePullPolicy: Always name: kubernetes-serve-hostname resources: limits: cpu: "1" #限制pod申请最大的cpu数量为1个cp

2020-09-26 00:33:26 5600

原创 k8s节点资源预留与 pod 驱逐

k8s节点资源预留与 pod 驱逐为什么K8S 的节点上的资源会被 pod 和系统进程所使用,如果默认什么都不配置,那么节点上的全部资源都是可以分配给pod使用的,系统进程本身没有保障,这样做很危险:集群雪崩:如果节点上调度了大量pod,且pod没有合理的limit限制,节点资源将被耗尽,sshd、kubelet等进程OOM,节点变成 not ready状态,pod重新继续调度到其他节点,新节点也被打挂,引起集群雪崩。 系统进程异常:就算 pod 设置了limit,但如果机器遇..

2020-09-25 23:43:36 4213 2

原创 shell基础---Shell中删除文件中某一行

如果有一个abc.txt文件,内容是:aaabbbBATBUSINESSTYPE, INSIDEID--) ONLINE;INSIDEID--) ONLINEcccdddeeefff如果要删除ddd,那么脚本可以这样写:sed -i '/ddd/d' abc.txt如果删除的是一个变量的值,假如变量是var,应该写成:sed -i '/'"$var"'/d' abc.txt至于grep -v aaa abc.txt这个方法,是无法将修改的结果写入abc.txt中去.

2020-09-24 23:01:33 14867 1

原创 shell基础---Shell 获得用户输入

在 Bash 下我们可以通过其内部命令 read 接收用户来自键盘的输入,并可以将输入的内容赋值给一个变量。实例:基本的读取read 命令比较常用的语法格式如下所示:read [-p prompt] [variable1 variable2...]-p 选项用于在尝试读取任何输入之前,显示 prompt(提示信息)的内容到标准错误输出。我们一般使用这一选项来指定提示用户输入哪些内容的信息。read 命令会每次从标准输入(或使用 -u 选项指定的文件描述符中)读取一行的内容,它会将第一个单

2020-09-24 22:50:04 5158

原创 linux crontab定时执行shell脚本

linux下使用crontab命令被用来提交和管理用户的需要周期性执行的任务,示例如下:crontab -e 编辑周期任务30 21 * * * /etc/init.d/smb restart 每晚的21:30重启smbcrontab命令说明: crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该.

2020-09-24 17:37:25 192

原创 shell基础---shell常用工具命令总结

1.rsync同步命令rsync -avul --progress /root/shell/bak/mysql/ root@10.12.16.85:root/mysql_bak/2.远程执行shell命令或者脚本(非ansible模块)ssh远程执行前提条件:配置ssh免密登录简单命令:1ssh user@remoteNode "cd /home ; ls"  基本能完成常用的对于远程节点的管理了,几个注意的点:双引号,必须有。如果不加双引号,第二个ls命令在本地执行。

2020-09-24 17:31:53 376

原创 mysql 常用基础命令总结

1、备份db1数据库中所有表(包括表结构和数据,不包括创建db1数据库的语句)mysqldump -h192.168.1.10 -uroot -p db1 > xxx.sql2、备份db1数据库中所有表(包括表结构和数据,包括创建db1数据库的语句)mysqldump -h192.168.1.10 -uroot -p --databases db1 > xxx.sql3、备份db1数据库中t1、t2、t3表(包括表结构和数据,不包括创建db1数据库的语句)mysqldu

2020-09-24 16:02:20 1140

转载 使用wireshark进行网络报文抓取与分析

使用wireshark进行网络报文抓取与分析Wireshark介绍Wireshark(前称Ethereal)是一个免费的网络报文分析软件。网络报文分析软件的功能是抓取网络报文,并逐层显示报文中各字段取值。网络报文分析软件有个形象的名字“嗅探工具”,像一只猎狗,忠实地守候在接口旁,抓获进出该进口的报文,分析其中携带的信息,判断是否有异常,是网络故障原因分析的一个有力工具。网络报文分析软件曾经非常昂贵,Ethereal/wireshark 开源软件的出现改变了这种情况。在GNUGPL通用许可证的保障

2020-09-23 20:42:46 2803

原创 WireShark过滤规则以及使用例子

语法 语法: Protocol Direction Host(s) Value Logical Operations Other expression 例子: tcp dst 10.1.1.1...

2020-09-23 20:34:30 3503

原创 shell基础---shell中while语句

shell中的while循环语句while语句语法:while 命令/条件do语句done机制:如果while后的命令执行成功,或条件真,则执行do和done之间的语句,执行完成后,再次判断while后的命令和条件;如果while后的命令执行失败,或条件为假,循环结束例如:while datedoecho “aa”done特例:无条件循环while truedo语句done...

2020-09-22 09:52:46 1174

原创 shell基础--- [] [[]] -n -z 的含义解析

shell脚本[] [[]] -n -z 的含义解析1、在中括号中,判断变量的值, 加不加双引号的问题?-z 判断 变量的值,是否为空; zero = 0- 变量的值,为空,返回0,为true- 变量的值,非空,返回1,为false-n 判断变量的值,是否为空 name = 名字- 变量的值,为空,返回1,为false- 变量的值,非空,返回0,为truepid="123"[ -z "$pid" ] 单对中括号变量必须要加双引号[[ -z $pid ]] 双对括号,变

2020-09-21 09:38:59 801

原创 shell基础---shell中的时间值提取(date)

shell中的时间值提取(date)方法1# date +%F# date +%T# cat time.sh#!/bin/bashDATE=`date +%F | sed 's/-//g'``date +%T | sed 's/://g'`echo $DATE# chmod u+x time.sh# sh time.sh2014082709352方法2“date +%Y%m%d%H%M%S”获取时间信息串[we@h p]$ date +%Y%m%d.

2020-09-20 22:39:17 2390

原创 shell基础---Shell数组定义以及获取数组元素

Shell数组:Shell数组定义以及获取数组元素和其他编程语言一样,Shell 也支持数组。数组(Array)是若干数据的集合,其中的每一份数据都称为元素(Element)。Shell 并且没有限制数组的大小,理论上可以存放无限量的数据。和C++、Java、C#等类似,Shell 数组元素的下标也是从 0 开始计数。获取数组中的元素要使用下标[ ],下标可以是一个整数,也可以是一个结果为整数的表达式;当然,下标必须大于等于 0。遗憾的是,常用的 Bash Shell 只支持一维数组,不支持多..

2020-09-20 21:57:52 7695 1

原创 shell基础--- seq命令详解

linux shell seq命令详解seq: squeue 是一个序列的缩写,主要用来输出序列化的东西seq常见命令参数用法:seq [选项]... 尾数 或:seq [选项]... 首数 尾数 或:seq [选项]... 首数 增量 尾数以指定增量从首数开始打印数字到尾数。 -f, --format=格式 使用printf 样式的浮点格式 -s, --separator=字符串 使用指定字符串分隔数字(默认使用:\n) -w, --equal-.

2020-09-20 21:49:27 5556

原创 shell基础---判断文件是否存在

shell判断文件是否存在 1. shell判断文件,目录是否存在或者具有权限2. #!/bin/sh3.4. myPath="/var/log/httpd/"5. myFile="/var /log/httpd/access.log"6.7. # 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限8. if [ ! -x "$myPath"]; then9. mkdir "$myPath"10. fi11.12. # 这里的-d 参数判断$myPath是否存在1.

2020-09-20 21:38:17 1196

原创 shell基础---awk+uniq+sort 统计文件中某字符串出现次数并排序

在服务器开发中,我们经常会写入大量的日志文件。有时候我们需要对这些日志文件进行统计。Linux中我们可以利用以下命令简单高效的实现这一功能。需要用到的命令简介cat命令 cat命令主要有三大功能 1.一次显示整个文件 cat filename 2.创建一个文件 cat > fileName 3.将几个文件合并为一个文件 cat file1 file2 > file 参数: -n 或 –number 由 1 开始对所有输出的行数编号 -b 或 –num...

2020-09-20 21:36:26 4396

原创 shell基础---exit用法

shell基础篇---exit用法exit:退出脚本exit #(#可以使用0至255,0表示正确,其他表示不同的错误)如果脚本没有明确定义退出状态码,那么,最后执行的一条命令的退出码即为脚本的退出状态码bash中常用的条件测试有三种:整数测试:数字判断一些命令:#-gt是大于#-lt是小于#-eq是等于#-ne是不等于#-ge是大于等于#le是小于等于INT1=63INT2=77[ $INT1 -eq $INT2 ]文件测试:-e FILE:测试文件是否存在-f.

2020-09-20 20:04:11 14073

原创 fpm安装

rpmbuilduurl -sSL https://github.com/rvm/rvm/tarball/stable -o rvm-stable.tar.gz tar --strip-components=1 -xzf rvm-stable.tar.gz ./install --auto-dotfiles source /etc/profile rvm install ruby-2.4 gem install fpm --no-rdoc

2020-09-18 16:47:01 461

原创 shell基础--->/dev/null 2>&1

shell中>/dev/null 2>&1背景我们经常能在shell脚本中发现>/dev/null 2>&1这样的语句。以前的我并没有去深入地理解这段命令的作用,照搬照用,直到上周我将这段命令不小心写成了2>&1 >/dev/null,出了一点小问题之后,我才开始去了解这段命令背后的“玄机”。shell重定向介绍就像我们平时写的程序一样,一段程序会处理外部的输入,然后将运算结果输出到指定的位置。在交互式的程序中,输入来自用户的键盘和

2020-09-18 16:07:27 158

原创 解决k8s 外网无法访问nodePort问题

K8S 外部端口无法访问问题问题描述 解决方法问题描述首先容器外部端口肯定开放了,可在Dashboard上查看 在容器所在服务器,通过curl命令直接访问外部端口的接口能够正常访问 在windows端通过telnet容器端口命令,无法访问容器的暴露出来的外部端口解决方法容器所在的服务器执行,开启转发功能iptables -P FORWARD ACCEPT...

2020-09-18 12:18:07 5227 2

原创 检查服务状态shell脚本

检查服务状态#!/bin/bashbase_server=(zookeeperkafkamongodbdockerredisetcdkubeletelasticsearchredis@1redis@2redis@3redis@4redis@5redis@6)for bs in ${base_server[*]}; do# `systemctl status $bs |awk -F ':' '{print $2}' | sed -n 3p`#syst.

2020-09-18 11:19:04 1348

原创 kubernetes面试题汇总

kubernetes面试题汇总1、 k8s是什么?请说出你的了解?答:Kubenetes是一个针对容器应用,进行自动部署,弹性伸缩和管理的开源系统。主要功能是生产环境中的容器编排。K8S是Google公司推出的,它来源于由Google公司内部使用了15年的Borg系统,集结了Borg的精华。2、 K8s架构的组成是什么?答:和大多数分布式系统一样,K8S集群至少需要一个主节点(Master)和多个计算节点(Node)。主节点主要用于暴露API,调度部署和节点的管理; 计算节点运行一个

2020-09-18 07:29:30 12580 4

原创 docker-entrypoint.sh 文件的用处

docker-entrypoint.sh 文件的用处参考出处很多著名库的 Dockerfile 文件中,通常都是 ENTRYPOINT 字段会是这样:ENTRYPOINT ["docker-entrypoint.sh"]这里我们参考分析下 MySQL 的 Dockerfile 文件,来认识下docker-entrypoint.sh的用处。MySQL 8.0 Dockerfile网址:https://github.com/docker-library/mysql/tree/223..

2020-09-18 07:24:19 3001

原创 【环境安装】Hive2.x

0. Hive源码包下载http://mirror.bit.edu.cn/apache/hive/1. 下载软件包wget http://mirror.bit.edu.cn/apache/hive/hive-2.3.3/apache-hive-2.3.3-bin.tar.gztar zxvf apache-hive-2.3.3-bin.tar.gz2. 创建HDFS目录hadoop fs -mkdir -p /data/hive/warehouse hadoop fs -..

2020-09-15 12:34:13 144

原创 【工具】PyCharm 配置远程python解释器和在本地修改服务器代码

PyCharm 配置远程python解释器和在本地修改服务器代码最近在学习机器学习的过程中,常常需要将本地写的代码传到GPU服务器中,然后在服务器上运行。之前的做法一直是先在本地写好代码,然后通过FileZilla这样的文件传输工具来将写好的文件传到服务器,再通过ssh工具远程连接到服务器,执行相应的python脚本。这样的方式十分繁琐,效率很低。今天听到朋友提到了配置远程解释器使用场景先说说自己的使用场景,我是在什么情况下,需要将IDE配置成这样的环境来方便我的工作。首先,我需要在本地机子

2020-09-15 12:31:32 346

原创 Python基础(一)---【12】类

面向对象简要介绍说到类,就不得不说面向对象。那什么是面向对象呢?就是你有个对象,面对着你的对象编写程序,哈哈~~开个玩笑在函数之前的学习都是面向过程,这一步做什么,下一步做什么,一直到执行结束~~举个简单的例子你想喝鱼汤,按照面向过程的方式就是:买鱼 杀鱼 放锅里油煎一下 放调料 放水 烧开 喝鱼汤面向对象:找个饭店 付钱 喝鱼汤总结面向过程:根据业务逻辑从上到下写代码 面向对象:将数据与函数绑定到一起,进行封装,这样能够更快速的开发程序,减少了重复

2020-09-15 12:17:55 266

原创 Python基础(一)---【11】函数

什么是函数?在我们之前学到的东西,都是一句一句的从上往下依次执行,并且如果有需要重复用到的代码,还要重新再写一下那么,我们在程序开发的过程中,需要某块代码多次执行,但是为了提高编写效率,以及代码的重(chong)用,把具有独立功能的代码块,组织成一个小模块,这就是函数。如何定义一个函数def 函数名(): 代码代码示例:def funname(): print('我是一个函数【方法】')调用一个函数定义了函数之后,就相当于有了一个具有某些功能的代码,想

2020-09-15 12:17:18 294

原创 Python基础(一)---【10】字符串、列表、字典、元组的遍历

遍历通过 for...in...:的语法结构,我们可以遍历字符串、列表、元组、字典等数据结构。字符串遍历>>> a = 'asdfghjkl'>>> for i in a:... print(i)...asdfghjkl>>>列表的遍历>>> b = [1,2,3,4]>>> for i in b:... print(i)...1234

2020-09-15 12:16:37 178

原创 Python基础(一)---【09】字典

字典介绍我们上学的时候,我想每个人都有一本新华字典,那么查字的时候,我们会根据拼音首字母,然后再到首字母下面找对应的字,很快速方便的找到不会的那个字~~比如:先找w 再找a 就会找到“哇”的谐音字字典 = {'w':'a'} 这就是字典的格式,当然,组合很多不止a一种格式在我们程序中,字典:earth = {'sea':'big_west_ocean','area':50,'position':'earth'}dict = {key:value}字典和列表一样,也能够存储多个

2020-09-15 12:15:40 295

原创 Python基础(一)---【08】元组

什么是元组?在python中,用小括号括起来的元素的组合就是元组~~元组与列表类似,不同之处在于元组不可被修改,是不可变类型。定义一个元组>>> antuple = ('a',12,12.3) # 定义一个元组>>> antuple # 查看元组内容('a', 12, 12.3)>>> antuple[0] # 获取元组内的元素,同样的通过下标来获取数据'a'>>> antuple[1]12

2020-09-15 12:14:50 172

原创 Linux配置多个环境变量

Linux配置多个环境变量[root@localhost java]#vim /etc/profile在最下面的export path中用:隔开即可PATH=/home/play-1.3.1:$PATHMAVEN_HOME=/usr/local/maven3export MAVEN_HOMEexport PATH=${PATH}:${MAVEN_HOME}/binexport PATH=$PATH:/usr/local/share/scala/bin:/home/zkc/scala/.

2020-09-14 00:02:38 3465

原创 Groovy安装

2020-09-13 23:38:53 295

原创 Nginx 跨域设置(CORS)

简介之前项目中遇到过几次跨域访问,通过百度或谷歌查询在nginx配置相关header予以解决,若不管用就没其他办法了;从来没有真正深入了解过,下面我们就来认识下CORS及在nginx中如何配置。CORSCORS是一个W3C标准,全称是跨域资源共享(Cross-origin resource sharing)。它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。简单来说就是跨域的目标服务器要返回一系列的Headers,通过这些Headers来控

2020-09-09 15:13:46 42258 3

原创 linux 压缩日志文件log.gz直接查看

直接用zcat就可以查看zgrep就可以直接查找

2020-09-09 15:10:33 14782

原创 Linux报错:bash:vi、ps :command not find 如何解决

Linux报错:bash:vi:command not find 如何解决Linux 命令行输入命令执行后报“bash:vi:command not found”,这是由于系统 PATH 设置问题,PATH没有设置正确,系统就无法找到精确命令了。bash:ps:command not found解决办法: 1、在命令行中输入:export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin 这样可以保证命令行命令暂时可以使用。...

2020-09-08 10:23:44 5646

原创 Linux 下的Jenkins安装和配置rpm方式

一、安装JDK参考文章:https://blog.csdn.net/yujia_666/article/details/108460939二、下载Jenkins 安装包安装https://mirrors.tuna.tsinghua.edu.cn/jenkins下载rpm包到本地在linux下使用rpm包安装命令:sudo rpm -ih jenkins-2.190.3-1.1.noarch.rpm[root@bogon Desktop]# sudo rpm -ih jenki

2020-09-08 09:10:00 2161

原创 Linux安装JDK完整步骤

Linux安装JDK完整步骤1、下载新的jdk首先到jdk官网上下载你想要的jdk版本,下载完成之后将需要安装的jdk安装包放到Linux系统指定的文件夹下,并且命令进入该文件夹下:[root@localhost software]# wget --no-cookies --no-check-certificate --header"Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebacku.

2020-09-08 08:38:20 405 1

原创 实现DevOps需要什么?

实现DevOps需要什么?硬性要求:工具上的准备上文提到了工具链的打通,那么工具自然就需要做好准备。现将工具类型及对应的不完全列举整理如下:代码管理(SCM):GitHub、GitLab、BitBucket、SubVersion构建工具:Ant、Gradle、maven自动部署:Capistrano、CodeDeploy持续集成(CI):Bamboo、Hudson、Jenkins配置管理:Ansible、Chef、Puppet、SaltStack、ScriptRock Guard

2020-09-07 23:47:31 731

原创 面试:分布式 、高并发、集群、负载均衡、高可用

分布式 :分布式架构:把系统按照模块拆分成多个子系统,多个子系统分布在不同的网络计算机上相互协作完成业务流程,系统之间需要进行通信。优点:把模块拆分,使用接口通信,降低模块之间的耦合度。 把项目拆分成若干个子项目,不同的团队负责不同的子项目。 增加功能时只需要再增加一个子项目,调用其他系统的接口就可以。 可以灵活的进行分布式部署。缺点:1、系统之间交互需要使用远程通信,接口开发增加工作量。2、各个模块有一些通用的业务逻辑无法共用。基于soa的架构SOA:面向服务的架构。也

2020-09-07 23:10:18 1224 1

空空如也

空空如也

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

TA关注的人

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