- 博客(42)
- 资源 (1)
- 收藏
- 关注
原创 二叉树的遍历(递归,迭代,Mirrors)详解
文章目录二叉树的遍历算法分为三种创建二叉树递归先序遍历中序遍历后序遍历迭代先序遍历先序走流程代码实现中序遍历举例说明流程代码实现后序遍历思路一:两个栈搞定版举例说明代码实现思路二:一个栈搞定版举例说明:代码实现Mirrors遍历Mirrors核心思想Mirrors遍历的模板代码先序遍历按照例子走流程代码实现中序遍历按照例子走流程代码实现后序遍历按照例子走流程代码实现:二叉树的遍历算法分为三种 1. 递归 2. 迭代 3. Mirrors遍历本文主要讲述Mirror遍历与迭代算法,递归算法很简单,不
2022-05-18 10:01:47
1280
原创 文件导出与下载(Excel,Zip)等几种方式
文件下载的几种办法:1、导出数据为某种格式 这种的话常见的也就是导出为excel格式,个人通常有两种解决办法:a. 先创建文件,把数据写入文件中去,当然文件也是保存在电脑某个地方的,再读取该文件,以out流的方式再返回出去。b. 数据量小的情况下,直接返回流,使用response.setHeader(“Content-disposition”,“attachment;filename=”+ URLEncoder.encode(fileName1,“UTF-8”));实例:1、导出数据为exce
2021-09-29 11:33:44
3770
5
原创 SpringBoot中Utils中无法读取application.yml与无法注入Bean
SpringBoot中Utils中无法注入Bean问题: 使用springboot的JavaMailSender 发送邮件时一直注入不了。@Autowiredprivate JavaMailSender javaMailSender;原始代码:@Autowiredprivate JavaMailSender javaMailSender; public static void sendMail(String receiveEmail, String emailSubject, Stri
2021-09-18 15:19:36
2026
原创 docker容器的五种网络介绍
容器如果离开了网络,就是一个密闭的盒子。Docker 初期的网络功能并不是很完善,随着不断的演化,目前 docker 的网络已经大大加强。docker自带的网络: 当docker安装成功后,就会创建三种网络。 可以使用docker network ls进行查看:[root@localhost docker]# docker network lsNETWORK ID ...
2020-02-19 22:10:07
801
原创 docker overlay网络跨主机通信——使用Quagga来实现自动学习路由
该方法是基于第一种方式的路由技术,只不过路由信息不需要自己手动添加,而是自动学习。可以使用docker机器众多的情况下。Quagga可以配置很多种企业级的动态路由协议。这里只介绍rip与ospf协议,协议的具体知识这里不细讲。环境配置:两台centos7机器,且安装docker,实验前清理干净上个实验的配置。以免干扰实验结果。 docker1:192.168.0.12...
2020-02-19 22:09:29
630
原创 docker overlay网络跨主机通信——使用flannel来打通网络
介绍: Flannel:一种结合了路由机制与隧道技术。 原理:每个主机配置一个IP段和子网个数。例如:可以配置一个覆盖网络使用用 10.100.0.0/16段,每个主机/24 个子网。因此主机 a 可以接受 10.100.5.0/24,主机 B 可以接受 10.100.18.0/24的包。flannel 使用 etcd 来维护分配的子网到实际的 ip 地址之间的映射。对...
2020-02-19 22:05:16
848
原创 docker overlay网络跨主机通信——使用(OVS)打通网络
上一节已经讲了有4种方法可以打通docker跨主机之间的通信。本文介绍第二种常用的办法:使用openvswitch打通网络是一种主流的虚拟化技术:其优点是:灵活对现有物理网络没要求业界主流缺点是:软件封装导致性能下降复杂度相对较高排错难度高网络图: 可以看出,针对每个主机ovs创建了一个br0网桥,将docker容器的网卡桥接在br0上面。此时,相当于br0...
2020-02-19 21:56:55
1796
原创 docker overlay网络跨主机通信——路由机制打通网络
overlay跨主机通信网络的特点:多台主机之间的容器该如何通信?有四种方法可以实现:使用路由机制打通网络使用Open vSwitch(OVS)打通网络使用flannel来打通网络使用Quagga来实现自动学习路由这里先介绍第一种,使用路由机制来打通网络:优点:常规路由技术传统网络技术简单高性能缺点:与现有网络融为一体灵活性地网络图:...
2020-02-19 21:46:36
840
原创 docker搭建基于局域网的私有仓库(带用户权限)
有时候使用Docker Hub这样的公共仓库可能不方便,现在许多公司也都搭建属于自己内部用的仓库。 该文章将会讲述如何搭建带用户权限的私有仓库,使用私有仓库的优点:1、节省网络带宽,每个镜像不用每个人都去官网下载,只需要从私有仓库中下载即可。2、提供镜像资源利用,针对公司内部使用的镜像,推送到本地的私有仓库,供公司内部的人员使用。环境准备: 两台装有docker的Centos7...
2020-02-19 14:22:01
1472
3
原创 docker基本操作常用命令
1、镜像是Docker运行容器的前提。首先下载一个hello world镜像。下载前可以先搜索一下。docker search hello-world docker pull hello-world2、下载后可以使用如下命令查看:[root@localhost ~]# docker imagesREPOSITORY TAG ...
2020-02-19 11:57:34
455
原创 docker19.03最新版本安装并配置加速器
安装其实非常简单,阿里云打开随便找找就好了。1、配置docker阿里源,docker容器的epel名为docker-ce.# step 1: 安装必要的一些系统工具sudo yum install -y yum-utils device-mapper-persistent-data lvm2# Step 2: 添加软件源信息sudo yum-config-manager --add-re...
2020-02-19 10:13:46
3463
3
原创 docker初步认识
虚拟化技术: 虚拟化一般分为硬件虚拟化与操作系统虚拟化。硬件级虚拟化是运行在硬件之上的虚拟化技术,例如,我们常用的hypervisor或者vmware workstation。他需要模拟的就是一个完整的操作系统,目前流行的Xen,Virtual box、亚马逊AWS以及阿里云都是用的这种技术。操作系统虚拟化是运行在操作系统之上的,模拟的是运行在操作系统之上的多个不同的进程,并将其封装在一个...
2020-02-19 09:44:34
276
原创 Haproxy+keepalived实现动静分离(基于端口的虚拟主机实现)
安装前准备: 需要5台机器,两台安装haproxy+keepalived实现主从,其余三台做后台动态与静态的真实服务器。 该实现后端主机使用基于端口的虚拟主机来实现。后端使用了4台虚拟主机,两静两动。关闭防火墙、selinux,保证时间均同步VIP:192.168.0.100haproxy1:192.168.0.121haproxy2:192.168.0.124htt...
2020-02-14 18:25:38
430
2
原创 LVS+keepalived实现高可用负载均衡集群详解及其实现
集群技术概述: LB(负载均衡集群):LVS、Haproxy、Nginx、F5 BigIP HA(高可用集群):keepalived、RFCS、Pacemaker、Heartbeat HP(高性能集群):Hadoop,sparkKeepalived介绍: keepalived 是linux下一个轻量级的高可用解决方案。其与Heartbeat等...
2020-02-12 18:33:54
845
原创 LVS DR模式搭建(不包含健康检查机制keepalived)
DR模式与NAT模式不同在与,请求报文时经过调度器进行调度,响应报文不会经过调度器,可以直接返回给用户。准备:DS与RS均只需一张网卡,DS上绑定的是DIP与VIP,而RS上绑定的是RIP与VIP。且在同一网段。DIP:192.168.0.121VIP:192.168.0.100RS1: 192.168.0.122RS2: 192.168.0.1241、切记不管什么模式,搭建之...
2020-02-09 21:48:36
193
原创 LVS NAT模式搭建(不包含健康健康机制keepalived)
NAT模式请求与响应都需要经过调度器LVS,因此调度器需要配置双网卡。准备工作:DS:一个网卡连接公网IP,一个连接内部私有IPRS:只需一个网卡,私有网络即可地址准备:DS:一张网卡nat模式做公网IP地址,也即VIP:192.168.0.121,另一张网卡vmnet2,做DIP:192.168.20.1RS:跟DS一样,采用vmnet2做RIP,RS1:192.168.20.7 ...
2020-02-09 20:36:55
294
原创 low level discovery功能
在配置Items时,有时需要对类似的Items进行添加,这些Items具有一些共同的特性,表现为某些特定的参数是变量,而其他设置都是一样的。low level discovery 的key可以对网卡、文件系统、SNMP OIDS进行自动发现,除此之外,还支持自定义功能。low level discovery 的使用过程分为下面两步:自动发现特定变量的名称添加对变量的Items.zab...
2020-02-08 15:52:21
614
原创 zabbix自动发现与自动注册
1、自动发现(服务端主动的方式)修改agent端配置文件,将Server指向服务端IP,并修改Hostname .重启服务。2、服务端修改/etc/hosts。192.168.0.122 web13、web界面下创建自动发现的规则。“配置”->“自动发现”4、创建自动发现的动作,“配置”->“动作”5、过1分钟,在“配置”->“主机”下就看到自动发...
2020-02-08 15:39:16
191
原创 自定义监控项(mysql,根目录使用情况)
自定义检测web1主机的根目录使用情况。先测试好命令如何写。[root@web1 ~]# df -h | awk '/\/$/ {print +$(NF-1)}'92、在agent的配置文件中定义UserParameter= root_use,df -h | awk '/\/$/ {print +$(NF-1)}'上述中逗号前为key,后面为value的获取命令。3、重启客户端。...
2020-02-08 15:34:28
446
原创 zabbix报警
zabbix 告警有三种方式:1、邮件 2、短信 3、微信最常用的就是邮件报警。使用第三方SendEmail邮件报警。1、将sendEmail-v1.56.tar.gz报警小程序上传至服务端。[root@localhost bin]# cd[root@localhost ~]# lsanaconda-ks.cfg sendEmail-v1.56 sendEmail-v...
2020-02-08 15:27:38
1949
原创 zabbix监控windows
1、windows下安装zabbix_agents_3.4.0.win。2、zabbix_agentd.win.conf配置文件修改3、将zabbix agent 加进系统服务。4、启动服务。5、服务端测试[root@localhost ~]# zabbix_get -s 192.168.0.107 -k system.unameWindows GAOFAN-PC 6.1.76...
2020-02-08 15:18:46
169
原创 zabbix监控linux机器,添加主机组,监控项,graph,Screen
1、修改客户端的主机名:hostnamectl set-hostname web12、关闭selinux以及防火墙3、安装zabbix-agent[root@web1 ~]# yum install zabbix40-agent -y4、修改配置agent配置文件:主要配置Server以及ServerActive以及Hostname。[root@minion-122 ~]# gre...
2020-02-08 15:14:31
374
原创 zabbix启动报错
zabbix-server报错处理:检查zabbxi.conf.php中的IP/DNS。检查SELINUX以及防火墙zabbix-agent服务启动不了处理:检查zabbix_agend.conf中Server是否指定,必须指定
2020-02-08 15:06:00
671
原创 Zabbix4.0安装并监测自己
1、搭建之前确认一下Centos系统[root@localhost ~]# cat /etc/redhat-releaseCentOS Linux release 7.4.1708 (Core)[root@localhost ~]# cat /proc/versionLinux version 3.10.0-693.el7.x86_64 (builder@kbuilder.dev.cent...
2020-02-08 15:04:25
583
原创 Zabbix介绍
Zabbix是一个高度集成的网络监控解决方案,可以提供企业级的开源分布式监控解决方案。1、优势:1. Zabbix是一个自由开放源代码的产品,人们可以在其基础上进行二次开发。2. 安装以及配置简单。3. 搭建环境简单,一般情况下lamp或者lnmp即可。4. 可以支持对Linux、UNIX、Windows、AIX、BSD等的监控。并且系统的资源占用非常小,数据采集的性能和速度非常快。5...
2020-02-08 13:38:58
490
1
原创 Nagios监控公众服务(ftp ,http ,mysql,ssh)
1、监控web服务先在command.cfg中看check_http命令是否可以用定义远程主机上的HTTP服务。然后在web主机的配置文件中添加define service{ use generic-service host_name linux_192.168.0.122 service_description check-http check_comma...
2020-02-04 12:01:29
301
原创 Nagios安装、监控linux机器
1、监控Linux在被监控主机上安装nagios插件和nrpe[root@minion-122 yum.repos.d]# yum install nagios-plugins nagios-plugins-nrpe nrpe -y配置nrpe的信息:(添加监控中心的IP)[root@minion-122 yum.repos.d]# vim /etc/nagios/nrpe.cfgal...
2020-02-04 11:56:17
286
原创 Nagios安装、监控windows机器
1、安装早些时候都是源码解压安装,本篇主要用yum来简单安装做一些介绍。安装之前准备一台服务器(监控中心),其余的可以是linux主机也可以是windos机器或者路由器、交换机等设备。也可以是主机上的服务。配置epel源即可。[root@localhost yum.repos.d]wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyu...
2020-02-04 11:46:16
760
原创 nagios介绍
1、nagios是一款开源的免费网络监视工具,能有效监控Windows、linux和Unix的状态,交换机以及路由器等网络设置。系统或者服务发生异常时,可以第一时间通知运维人员。2、它的功能是监控主机与服务,其实它依靠的是众多插件来完成监控与监测功能。3、Nagios软件需要安装在一台独立的服务器上运行,这台服务器称为监控中心,这个监控中心服务器可以采用Linux或者Unix操作系统。...
2020-02-04 11:39:59
1354
原创 Cacti安装之四(监控应用)
上接Cacti安装之三(插件安装)1、Advance Ping 脚本以及模板下载地址:http://forums.cacti.net/about10049.html注:要使用此模板,编译PHP时必须加上–enable-sockets选项来支持套接字。1).功能:此模板用来监控一个TCP/UDP端口、ICMP的延时情况和丢包情况。2).下载ss_fping.php脚本并放到/var/www...
2020-02-02 10:46:18
392
原创 Cacti安装之三(插件安装)
上接Cacti安装之二 (web界面在线安装)以及界面介绍1、增加Cacti功能:直接将下载好的包解压到/var/www/html/cacti/plugins[root@localhost tools]# lscacti-0.8.8h.tar.gz monitor-v1.3-1.tgz settings-0.5.tar.gz thold-0.4.3.tar.gz[root@loca...
2020-02-02 10:39:18
754
原创 Cacti安装之二 (web界面在线安装)以及界面介绍
上接 Cacti安装之一(linux下操作)1、访问http://IP/cacti,傻瓜式点击 next即可。所有软件都安装好时才会出现下面:点击finish。登录后会要求立即修改用户密码。之后重新登录。2、设置监控远程linux服务器客户端安装net-snmp:[root@minion-122 yum.repos.d]# yum install net-snmp -y修改配置...
2020-02-02 10:34:20
1320
原创 Cacti安装之一 (linux机器操作)
1、首先需要在服务端(监控端)与客户端(被监控端)安装snmpd服务。snmp:简单网络管理协议,基于UDP的161号端口。直接配置epel源与本地yum源即可。服务端配置snmp服务:[root@localhost yum.repos.d]#yum install net-snmp net-snmp-utils -y[root@localhost yum.repos.d]# cp /et...
2020-02-02 10:23:20
369
原创 cacti介绍
1、Cacti是用php实现的一个软件,主要功能是利用snmp服务获取数据,然后利用rrdtool储存和更新数据,用户需要查看时用rrdtool生成图表呈现给用户。snmp与rrdtool是关键。2、mysql配合php程序储存一些变量数据进行调用,如:主机名,主机ip,snmp团体名,端口名,模板信息等变量。3、snmp抓取到数据不是存储在数据库中,而是存在rra文件中,rrdtool对数据...
2020-02-02 10:11:05
3963
原创 puppet3.8.7安装以及配置(三种认证方式)以及常见报错
安装:1、为了方便,可以直接配置一个Centos-7、epel源来解决puppet的所有依赖包,配置puppet的源。2、安装之前设置好服务端与客户端的主机名:服务端:hostnamectl set-hostname puppet-master客户端:hostnamectl set-hostname puppet-agent分别在客户端与服务端的/etc/hosts中编写:这里要注...
2020-01-21 17:56:00
666
原创 文件查找
1、which:可执行文件的查找通常通过PATH环境变量到该路径内找可执行文件,所以一般找到的就是命令的存放路径。常见选项: -a:将所有有PATH目录中的可以找到的指令均列出,而不是第一个被找到的指令名称。但是which只可以找到PATH所规范的目录,有的命令是bash内置的就不会被查找到。可以试下使用type来判断命令的类型。example 1:[nebula6@master ~...
2018-11-01 22:30:17
232
原创 linux使用者管理——权限管理(ACL、su、)
传统的权限仅有三种身份(owner,group,others)搭配三种权限(r,w,x)。并没有对某一个用户或者一个组来设置特定的权限需求。ACL可以传统权限之外进行权限设置,针对某一个特定用户、单一文件或者目录进行r,w,x的权限设置。ACL可以设置的权限的方面:用户(user):针对用户来设置用户组(group):针对用户组进行设置默认属性(mask):设置该目录下新建文件/目录是在...
2018-11-01 20:16:27
694
原创 linux使用者管理——用户管理
谈到linux系统,很多人都知道这是一个多用户、多任务的系统,因此可能常常会有很多人同时来使用这台主机进行工作,那么Linux系统中的这么多用户到底怎么管理呢?当我们登录linux主机的时候,输入的是我们的账号,但是linux系统并不会直接认识我们的“账号名称”。它仅仅认识0、1。也就是它只认识我们的id。先来看看id与账号对应关系文件:/etc/passwd[root@master ~]# ...
2018-11-01 17:01:07
456
原创 sed工具
sed命令的使用必须配合正则表达式的,sed本省也是一个管道命令,可以分析standard input,也可以用来进行数据的替换、新增、选取特定行的功能。sed参数:-n:使用安静模式,在sed的一般用法中,所有来自stdin 的数据都会被列出在屏幕上,如果加上了-n参数,则只有经过处理过的那一行才会被列出来。-e:直接在命令行模式下进行sed的编辑操作。-f:直接将sed的动作写在一个...
2018-10-25 22:35:15
245
原创 免密钥通信
**1、当从一台主机ssh另外一台主机的时候,经常会发现需要输入被连接的主机的密码以及yes。如果需要经常这样操作将会非常麻烦。选择免密钥通信是一个不错的手段。**步骤:1、在被连接主机上利用命令ssh-keygen来首先生成公钥与私钥。命令:ssh-keygen -t rsa 然后会出现让你选择公钥与私钥的保存的地址。还会出现一个passphrase时直接选择回车即可。passphra...
2018-10-25 09:14:13
279
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人