自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 最大子序和

题目描述思路一动态规划沿数组移动并在原数组修改。时间复杂度O(n)空间复杂度O(1)但是原本的数组会被破坏class Solution: def maxSubArray(self, nums: List[int]) -> int: max_ = nums[0] for i in range(1,len(nums)): ...

2019-12-28 20:05:21 190

原创 搜索插入位置

题目描述思路一:遍历整个数组,因为数组是有序的,所以第一次发现索引对应的值大于或等于target,我们就在这个索引前面插入这个值,此时的索引就是j,如果遍历了整个数组都没有条件符合,那就是target是最大值,索引值就是数组的长度时间复杂度是O(n)class Solution: def searchInsert(self, nums: List[int], target: in...

2019-12-28 19:50:20 182

原创 移除元素

题目描述思路一:遍历整个数组,遇到和val值相等的,直接移除,使用remove,对索引可以使用del(索引的话建议从后往前删)遍历一次,所以复杂度时O(n)直接删除值class Solution: def removeElement(self, nums: List[int], val: int) -> int: while val in nums: ...

2019-12-28 19:40:10 237

原创 删除排序数组中的重复项

题目描述思路一二都是建立在数组有序的情况下思路一:从后往前便利,如果相邻的两个元素相同,就删除索引大的那个**注意,在数组中,你每删除一个元素,后面的元素就会往前移动,索引都会变化,所以从前往后找,涉及到的元素变动就会多,因此我们从后往前找class Solution: def removeDuplicates(self, nums: List[int]) -> int...

2019-12-28 09:48:49 122

原创 两数之和

题目描述思路一:两层for循环,复杂度是O(n),最后显示时间超时思路二:先用一层循环,用i遍历整个数组,看目标值-索引是i的值的结果是否在数组里,如果在就返回**注意,目标值为6,数组为[3]的情况,此时,目标值-索引是i的值的结果还是在数组里,但是数组元素只有一个,所以不符合----因此要做判断,两个判断1.目标值-索引是i的值的结果是否和索引是i的值相等2.整个值在数组中是否...

2019-12-28 09:28:22 130

原创 MFS配置高可用

配置高可用1.server4上安装master,编辑域名解析,开启服务[root@server4 3.0.103]# yum install -y moosefs-master-3.0.103-1.rhsystemd.x86_64.rpm[root@server4 3.0.103]# vim /etc/hosts172.25.20.1 server1 mfsmaster[root...

2019-10-07 16:22:35 159

原创 MFS文件系统

MFSMFS文件系统MooseFS是一个具有容错性的网络分布式文件系统。它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。MooseFS文件系统结构管理服务器master管理服务器:负责各个数据存储服务的管理文件读写调度,文件空间回收以及恢复,多节点拷贝元数据日志服务器:负责备份master服务器的变化日志文件,文件类型为changelog_ml.*.mfs,...

2019-10-07 16:22:22 534

原创 redis持久化

持久化Redis支持RDB和AOF两种持久化机制,持久化功能有效地避免因进程退出造成的数据丢失问题,当下次重启时利用之前持久化的文件即可实现数据恢复。RDBRDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发。bgsave是主流的触发RDB持久化方式1)执行 bgsave命令, Redis父进程判断当前是否存在正在执行的子进程,如RDB/A...

2019-10-01 18:27:11 108

原创 编译型语言和解释型语言

编译型语言:类似C/C++、Pascal/Object Pascal(Delphi)、Golang程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行。程序执行效率高,依赖编译器,跨平台性差些。解释型语言:类似Java、C#、PHP、JavaScript、VBScript、Perl、Python、Ruby、MATLAB等等程序不...

2019-10-01 17:55:56 124

原创 SaltStack--API调用

API调用利用api接口来实现SaltStack推送,管理集群是非常方便的手段1.在server1上安装salt api[root@server1 ~]# yum install -y salt-api-2018.3.3-1.el7.noarch.rpm2.配置自签名证书[root@server1 private]# pwd/etc/pki/tls/private[root@ser...

2019-06-19 11:10:33 792

原创 SaltStack常用模块

自定义模块自定义modules的文件目录应该是放在/srv/salt/_modules下面[root@server1 ~]# mkdir /srv/salt/_modules[root@server1 ~]# cd /srv/salt/_modules/[root@server1 _modules]# vim my_disk.py[root@server1 _modules]# cat ...

2019-06-19 09:39:49 209

原创 SaltStack--syndic

syndicSalt Syndic是一个salt代理,当master需要管理大量的机器时,可以使用Syndic来帮助处理任务。自定义模块自定义modules的文件目录应该是放在/srv/salt/_modules下面[root@server1 ~]# mkdir /srv/salt/_modules[root@server1 ~]# cd /srv/salt/_modules/[roo...

2019-06-19 09:38:59 236

原创 MYSQL存储SaltStack推送信息

MYSQL存储SaltStack推送信息在server1(master)端向minion端推送之后,minion端会保存推送信息24小时,我们将推送信息保存在数据库中为了日后便于查看推送的信息。安装部署1.在server1端安装 mariadb-server和MySQL-python[root@server1 ~]# yum install -y mariadb-server[root@...

2019-06-19 09:01:24 119

原创 自动化部署--SaltStack

1.安装并开启saltstackserver1 server2 server3都执行[root@server1 ~]# cd 2018/[root@server1 2018]# lslibsodium-1.0.16-1.el7.x86_64.rpm PyYAML-3.11-1.el7.x86_64.rpmopenpgm-5.2.122-2.el7.x86_64.rpm ...

2019-06-15 12:28:37 789

原创 自动化运维--ansible

安装部署ansible1.安装软件[root@server1 ~]# cd ansible/[root@server1 ansible]# lsansible-2.7.8-1.el7.noarch.rpmansible-tower-setup-bundle-3.4.2-1.el7.tar.gzlibtomcrypt-1.17-25.el7.x86_64.rpmlibtommath-0...

2019-06-14 20:10:30 468

原创 Docker--Kubernetes

KubernetesKubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。Kubernetes一个核心的特点就是能够自主的管理容器来保证云平台中的容器按照用户的期望状态运行着(比如用户想让apache一直运行,用户不需要关心怎么去...

2019-06-05 20:43:29 216

原创 Docker--swarm集群

swarmSwarm是Docker公司在2014年12月初发布的一套较为简单的工具,用来管理Docker集群,它将一群Docker宿主机变成一个单一的,虚拟的主机。Swarm使用标准的Docker API接口作为其前端访问入口,换言之,各种形式的Docker Client(docker client in go, docker_py, docker等)均可以直接与Swarm通信。Swarm d...

2019-06-05 19:42:35 159

原创 Docker--compose实现负载均衡

部署compose1.二进制文件 docker-compose-Linux-x86_64-1.22.0移到 /usr/local/bin/,赋予执行权限[root@server1 ~]# mv docker-compose-Linux-x86_64-1.22.0 /usr/local/bin/docker-compose[root@server1 ~]# chmod +x /usr/loca...

2019-06-05 16:50:49 1888

原创 Docker--cgroup

1.打开docker并检测cgroup是否开启[root@server1 ~]# systemctl start docker[root@server1 ~]# mount -t cgroup2.cgroup子系统的层级路径[root@server1 ~]# cd /sys/fs/cgroup/[root@server1 cgroup]# lltotal 0drwxr-xr-x 4...

2019-06-05 16:31:43 934

原创 Docker--容器互连

同主机之间的容器互连1.创建一个bridge模式的网络[root@server1 ~]# docker network lsNETWORK ID NAME DRIVER SCOPE248e3fb44e70 bridge bridge locale18...

2019-05-30 23:03:06 262

原创 Docker--网络管理

Docker的四种网络模式· host模式,使用–net=host指定。· container模式,使用–net=container:NAME_or_ID指定。· none模式,使用–net=none指定。· bridge模式,使用–net=bridge指定,默认设置。查看docker网络的模式[root@server1 ~]# docker network lsNETWORK ID...

2019-05-30 19:02:33 187

原创 Docker本地仓库

创建本地仓库Docker 官方已经把仓库封装为镜像,直接通过启动容器就可以部署完成仓库[root@server1 ~]# docker load -i registry2.tar[root@server1 ~]# docker images registry[root@server1 ~]# docker run -d --name registry -p 5000:5000 -v /op...

2019-05-30 12:08:41 293

原创 docker+harbor(搭建Harbor企业级docker仓库)

harborHarbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。Harbor支持安装在多个Registry节点的镜像资源复制,镜...

2019-05-29 22:02:39 1068

原创 Docker之编写Dockerfile

编写DockFile实现安装httpd服务1.开启docker服务,导入rhel镜像[root@server1 ~]# systemctl start docker[root@server1 ~]# docker load -i rhel7.tar2.编写Dockerfile[root@server1 ~]# mkdir /tmp/docker[root@server1 ~]# cd...

2019-05-29 21:35:49 1505 1

原创 hadoop+zookeeper实现高可用

zookeeperZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。ZooKeepe...

2019-05-29 16:54:42 1128 1

原创 hadoop+yarn

yarn高可用配置[hadoop@server1 hadoop]$ pwd/home/hadoop/hadoop/etc/hadoop[hadoop@server1 hadoop]$ vim mapred-site.xml <configuration> <property> <name>mapreduce.framewor...

2019-05-29 13:12:02 232

原创 Docker容器搭建及使用

DockerDocker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。Docker的部署与安装1.安装docker和相关依赖性[root@server1 docker]# lscontainer-selinux-2.21-1....

2019-05-28 22:16:18 2913

原创 hadoop单机模式、伪分布式和分布式

一.单机模式建立用户,设置密码(密码此次设置为redhat)[root@server1 ~]# useradd -u 1000 hadoop[root@server1 ~]# passwd hadoop2.hadoop的安装配置[root@server1 ~]# mv hadoop-3.0.3.tar.gz jdk-8u181-linux-x64.tar.gz /home/hado...

2019-05-28 11:14:21 1416 2

原创 Nginx的脚本配置

Nginx脚本1.我们可以安装一个httpd服务,在httpd服务的脚本加以修改,制作nginx的脚本[root@server1 ~]# yum install httpd -y[root@server1 ~]# cd /usr/lib/systemd/system[root@server1 system]# cp httpd.service /etc/systemd/system/ngi...

2019-05-05 21:04:40 875

原创 Nginx的平滑升级

Nginx的平滑升级平滑升级:有时候,我们需要对服务器进行升级更高版本,此时我们将强制停止服务器,然后在原来基础上升级,这样会关闭之前正在运行的进程。平滑升级正是解决这个问题的,平滑升级时,不会停掉在运行着的进程,这些进程会继续处理请求,但是不会再接收新的请求,在这些老进程处理完还在处理的请求后,停止。此平滑升级的过程中,新开的进程会被处理。他不会影响我们的进程处理。原理:Ngnix中的...

2019-05-05 20:54:47 178

原创 封装7.3版本虚拟机

物理机准备6.5镜像把7.3镜像在网络上共享打开本地虚拟机管理器进行安装1.查看网卡首先查看网卡是否是eth0,如果不是vi /boot/grub2/grub.cfg在LANG=en_US.UTF-8后添加 空格net.ifnames=0然后重启系统,网卡会被修改为eth02.配置网卡首先查看网卡文件与当前网卡名称是否匹配不匹配的话就修改网卡文件名vi /etc/sy...

2019-05-05 20:26:04 144

原创 MemCache在tomcat中的负载均衡和session交叉存放

TomcatTomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技...

2019-04-29 23:25:07 452

原创 OpenResty实现LNMP的缓存前移(到达nginx前端层面)

OpenRestyOpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。通过汇聚各种设计精良的 Nginx 模块,从而将 Nginx 有效地变成一个强大的通用 Web 应用平台。这样,Web 开发人员和系统工程师可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lu...

2019-04-29 16:03:50 154

原创 MemCache对PHP页面的缓存加速优化

MemCache简介memcache是一个高性能的分布式的内存对象缓存系统,用于动态Web应用以减轻数据库负担。memcache通过在内存里维护一个统一的巨大的hash表,来存储经常被读写的一些数组与文件,从而极大的提高网站的运行效率。memcache是一种内存缓存技术,是一种缓存手段,要看情况来使用。对于频繁读取,每次读取重复率高,数据更新频度低的数据,用memcache可以优化...

2019-04-28 21:14:59 463

原创 LNMP架构的实际应用——论坛部署

Discuz论坛1.解压Discuz的论坛代码,并将其放在nginx的默认发布目录/usr/local/lnmp/nginx/html/下[root@server1 ~]# yum install unzip -y[root@server1 ~]# unzip Discuz_X3.2_SC_UTF8.zip -d /usr/local/lnmp/nginx/html2.在浏览器输入:...

2019-04-28 18:36:54 266

原创 LNMP架构的搭建——源码编译(MYSQL,PHP,nginx)

概念解析LNMP架构介绍LNMP = Linux+Nginx+Mysql+PHPLNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。Nginx中的PHP是以fastcgi的方式结合Nginx的,可以理解为Nginx代理了PHP的fastcgi。LNMP和LAMP唯一不同是指提供web服务的是Nginx,在Apache中,PHP是作为一个模块存在的...

2019-04-28 18:24:19 508

原创 Linux之RHCS

RHCS(红帽集群套件)RHCS即 RedHat Cluster Suite ,中文意思即红帽集群套件。红帽集群套件(RedHat Cluter Suite, RHCS)是一套综合的软件组件,可以通过在部署时采用不同的配置,以满足你对高可用性,负载均衡,可扩展性,文件共享和节约成本的需要。它提供有如下两种不同类型的集群:1、高可用性:应用/服务故障切换-通过创建n个节点的服务器集群来实现关...

2019-04-25 18:06:28 2440

原创 Linux之LVS

LVSLVS 简介(通过IP和端口,在四层)LVS 是 Linux Virtual Server ,Linux 虚拟服务器;是一个虚拟的服务器集群【多台机器 LB IP】。LVS 集群分为三层结构:负载调度器(load balancer):它是整个LVS 集群对外的前端机器,负责将client请求发送到一组服务器[多台LB IP]上执行,而client端认为是返回来一个同一个IP【通常把...

2019-04-25 12:03:06 182

原创 Linux之haproxy

haproxyHAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络...

2019-04-22 21:10:51 250

原创 Linux之CDN varnish

CDN:概念:CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的...

2019-04-19 21:35:17 159

空空如也

空空如也

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

TA关注的人

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