- 博客(98)
- 收藏
- 关注
原创 大数据-3:HDFS详解
文章目录1. 简介2. 工作机制:2.1 数据存储:2.2 读取数据2.3 容错1. 简介HDFS属于Master与Slave架构,一个集群中只有一个Namenode,可以有多个DatanodeHDFS存储机制保存了多个副本,当写入1T文件时,我们需要3T的存储,3T的网络流量带宽;系统提供容错机制,副本丢失或宕机可自动恢复,保证系统高可用性HDFS默认会将文件分割成block,然后将block按键值对存储在HDFS上,并将键值对的映射存到内存中,如果小文件太多,会导致内存的负担很重HDFS采用
2021-09-24 12:59:38
472
原创 大数据-2:Hadoop生态以及HDFS部署
文章目录1. Haoop简介2. 安装单机版Hadoop3. Hadoop运行3.1 独立运行/Local (Standalone) Mode3.2 伪分布式集群/Pseudo-Distributed Mode3.3 全分布式集群/Fully-Distributed Mode1. Haoop简介MFS作为分布式文件系统,有很强的灵活扩展性,常用于网盘等;但做数据挖掘,分析用户数据时,常用Hadoop生态下的HDFS文件系统;HDFS起源于GFS,GFS为Google的分布式文件系统Google Fi
2021-09-23 22:21:47
412
原创 大数据-1:分布式文件系统之MFS及对应高可用
文章目录1. 简介2. 准备安装2.1 主节点2.2 从节点2.3 客户端的使用3. 使用3.1 新建文件及查看3.2 恢复删除文件3.3 创建标签并使用SC4. mfs高可用4.1 搭建iscsi共享文件系统4.2 mfs master节点数据目录的手动挂载4.4 搭建高可用集群4.5 创建多个资源(vip,mfsdata,mfsmaster)5. 总结出现的问题1. 简介MooseFS是一个具有容错性的网络分布式文件系统。它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。目的是提
2021-09-21 01:36:58
865
原创 回退doker,k8s版本
文章目录1. Docker-19.03.5安装1.1 卸载旧版本Docker1.2 配置yum源1.2 修改cgroup驱动为systemd:1. Docker-19.03.5安装1.1 卸载旧版本Dockeryum remove docker* -y使用rpm -qa |grep docker可看到为空:1.2 配置yum源安装环境:RHEL7/CentOS配置CentOS7的yum源:参考阿里镜像站执行:curl -o /etc/yum.repos.d/CentOS-Base.rep
2021-09-13 01:59:11
714
原创 k8s-12:HPA与Helm
本节需要在上一节Metrics-server基础上进行1. 简介官网地址Pod 水平自动扩缩(Horizontal Pod Autoscaler) 可以基于 CPU 利用率自动扩缩 ReplicationController、Deployment、ReplicaSet 和 StatefulSet 中的 Pod 数量。 除了 CPU 利用率,也可以基于其他应程序提供的 自定义度量指标 来执行自动扩缩。 Pod 自动扩缩不适用于无法扩缩的对象,比如 DaemonSet。Pod 水平自动扩缩特性由
2021-09-06 21:58:12
416
原创 k8s-11: Metrics Server
官方地址首先在私有仓库准备metrices-server镜像:yaml文件下载将yaml文件中的镜像设置成自己仓库中的镜像:运行后,在kube-system中会出现一个Pod:查看日至,报错x509,此处可以通过添加--kubelet-insecure-tls跳过证书检查。但不推荐生产使用,日志显示为证书问题:kubectl logs -n kube-system metrics-server-7596f4f9b4-p7wnc在此,启用TLS Bootstrap证书签发:vim /va
2021-09-05 18:41:48
199
转载 k8s-10:k8s资源限制
文章目录1. 简介2. 内存限制3. CPU限制4. namespace下的资源限制5. namespace中pod的配额6. 清除资源限制和配额1. 简介request(资源需求):即运行pod的节点必须满足运行pod的最基本需求才能运行pod。limit(资源限制):即运行pod期间,可能内存使用量会增加,那最多能使用多少内存,这就是资源限额。资源类型:CPU的单位是核心数,内存的单位是字节。一个容器申请0.5各CPU,就相当于申请1个CPU的一半,可以加个后缀m表示千分之一的概念。比
2021-09-05 17:42:40
594
原创 k8s-9:k8s调度,亲和,污点,访问控制
文章目录1. 简介2. Kubernetes调度方法2.1 nodeName2.2 nodeSelector3. 亲和与反亲和3.1 节点亲和3.2 Pod亲和性和反亲和4. 污点与容忍5. k8s访问控制5.1 ServiceAccount5.2 UserAccount1. 简介调度器通过Kubernetes的watch机制来发现集群中新创建且未被调度到Node上的Pod。调度器会将发现的每一个未调度的Pod调度到一个合适的Node上运行Kube-scheduler是kubernetes集群的默认
2021-09-03 12:37:55
276
原创 k8s-8:Volumes(2)StatefulSet,Mysql主从集群配置
@toc[]1. StatefulSet1.1 原理及实现StatefulSet通过Headless Service维持Pod的拓扑状态对于分布式集群或主从集群,如mysql或reddis主从集群,每个Pod有自身的独立存储,需要对Pod有特别的标记,达到在开关Pod时有稳定的存储在此删除上一节的PV,PVC以及Pod首先创建一个Headless SVC,接下来创建一个StatefulSet控制器:vim service.yamlapiVersion: v1kind: Servicem
2021-09-02 01:33:48
444
原创 k8s-7:Volumes(1)中的临时卷与持久卷(PV,PVC,SC)及NFS配置
文章目录1. Volumes配置管理2. 卷类型2.1 emptyDir卷2.2 HostPath卷2.3 nfs卷1. Volumes配置管理容器中的文件在磁盘上是临时存放的,这给容器中运行的特殊应用程序带来一些问题。首先,当容器崩溃时,kubelet将重新启动容器,容器中的文件将会丢失,因为容器会以干净的状态重建。其次,当在一个Pod中运行多个容器时,常常需要在这些容器之间共享文件。Kubernetes抽象出Volume对象来解决这两个问题Kubernetes卷具有明确的生命周期,与包裹它的Po
2021-09-01 20:05:49
1249
原创 k8s-5:ConfigMap,Secret
文章目录1. 简介2. 创建方法3. 使用方式3.1 以环境变量的方式传递给pod3.2 通过数据卷的方式1. 简介ConfigMap用于保存配置数据,以键值形式储存ConfigMap资源提供向Pod注入配置数据的方法,若Pod内有服务,需要进行刷新旨在让镜像和配置文件解藕,以便实现镜像的可移植性和可重复性典型的使用场景:– 填充环境变量的值– 设置容器内的命令行参数– 填充卷的配置文件2. 创建方法创建ConfigMap的方式有4种,包含字面值创建,文件创建,目录创建和yaml文件
2021-08-30 16:56:32
199
原创 k8s-4:Service,ingress
文章目录1. Service1.1 简介1.2 k8s网络通信1. Service1.1 简介1.Service可以看作是一组提供相同服务的Pod对外的访问接口。借助Service,应用可以方便的实现服务发现和负载均衡Service默认只支持4层负载均衡能力,没有7层功能(可以通过Ingress实现)Service的类型:– ClusterIP:默认值,k8s系统给Service自动分配的虚拟IP,只能在集群内部访问。– NodPort:将Service通过指定的Node上的端口暴露给外部
2021-08-20 15:56:01
502
原创 k8s-3:Pod生命周期,控制器
文章目录1. Pod生命周期2. 控制器2.1 控制器分类2.2 具体简介2.2.1 RC和RS2.2.2 Deployment2.2.3 DaemonSet2.2.4 StatefuSet2.2.5 其他2.3 控制器清单2.3.1 RS控制器2.3.2 Deployment控制器2.3.3 DaemonSet控制器2.3.4 Job控制器2.3.5 Cronjob控制器1. Pod生命周期主要包括两类容器和两种探针(存活和就绪)在k8s中,google为k8s准备了一个镜像pause,用来准备Po
2021-08-19 13:28:12
237
原创 k8s-2:Pod基础管理,资源清单
文章目录1. Pod基础管理1.1 Pod建立,删除,查看1.2 通过控制器创建Pod1.3 更新Pod镜像与回滚2. 资源清单2.1 创建Pod清单2.2 创建Deployment清单1. Pod基础管理由于k8s时使用namespace隔离,所以要查看具体pod信息时,必须加上对应的namespace区间kubectl describe pod coredns-7f6cbbb7b8-nz9cn -n kube-systempod也可以随时创建和回收,在手动删除pod时:kubectl delet
2021-08-18 21:29:47
2372
原创 k8s-1:部署及初始化
文章目录1. 简介2. 部署1. 简介Kubernetes项目部来源于Brog,对计算资源进行了更高层次的抽象,通过将容器进行细致的组合,将最终的应用服务交给用户Kubernetes的好处:隐藏资源管理和错误处理,用户仅需关注应用的开发服务高可用,高可靠可将负载运行在成千上万的机器联合而成的集群中k8s集群包含有节点代理kubelet和master组件(APIs,scheduler,etc),一切基于分布式的储存系统master:etcd保存master的数据,保存了整个集群的状态
2021-08-16 17:37:26
1025
原创 docker-review7:Swarm
文章目录1. 简介1. 简介Swarm在docker之前属于一个独立的项目,在新版本中合并到了docker中,成为docker的一个子命令swarm是docker社区提供的唯一一个原生支持docker集群管理的工具swarm可以把多个docker主机组成的系统转换为单一的虚拟docker主机,使得容器可以组成跨主机的子网络docker swarm是一个为IT运维团队提供集群和调度能力的编排工具docker swarm architecture:docker swarm:节点分为管理(
2021-08-10 10:52:06
244
原创 docker-review6:docker三剑客之machine,compose
文章目录1. docker machine1.1 machine简介1.2 安装machine1.2 利用machine在server上安装2. docker compose2.1 简介2.1 示例1. docker machine1.1 machine简介是官方编排工具之一,负责在多平台上快速安装docker环境支持常规linux系统,虚拟化平台,openstack,公有云等不同环境下安装配置docker host基于go语言实现,目前在github上的维护地址:github.com/dock
2021-08-07 00:14:51
284
原创 docker-review5:安全(简略)
文章目录1. docker安全1. docker安全docker容器的安全性,很大程度依赖于linux系统本身,评估docker的安全性时,主要考虑以下几个方面:linux内核的命名空间机制提供的容器隔离安全linux控制组机制对硬件资源的控制能力安全(c group)linux内核的能力机制所带来的操作权限安全(黑白名单)docker程序(特别是服务端)本身的抗攻击性其他安全增强机制对容器安全性的影响...
2021-08-06 10:10:46
124
原创 docker-review4:数据卷管理
文章目录1. 简介1.1 bind mount1.2 docker managed volume1.3 对比2. 镜像的保存和分享3. 卷插件简介3.1 简介3.2 docker plugin3.3 官方插件示例:convoy1. 简介mount到主机中,绕开分层文件系统,在容器删除后,文件体统依旧能保留docker李通了两种卷,bind mount和docker managed volume1.1 bind mountbind mount比较直观,默认权限时rw, 是将主机上的目录或文件mo
2021-07-30 17:16:03
206
原创 docker-review3:docker网络
在rhel7上可安装yum install -y bridge-utils,安装完成后可使用brctl show查看网桥
2021-07-26 20:05:36
194
原创 docker-review2:docker私人仓库,harbor
文章目录1. docker仓库概念2. Registry工作原理1. docker仓库概念docker container针对容器操作,docker image针对镜像操作,docker net针对网路进行操作,docker volume针对数据卷进行操作docker仓库时用来包含镜像的位置,docker官方提供一个注册服务器(Register)来保存多个仓库,每个仓库又可以包含多个具备不同tag的镜像docker运行中默认使用的仓库是docker hub公共仓库,可以直接serch,pull,p
2021-07-25 11:03:02
344
1
原创 Docker Review-1:docker安装,常用命令,构建镜像,应用容器化
文章目录server1:vim docker.repo[docker]name=docker-cebaseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/gpgcheck=0若出现依赖性问题:可在阿里云社区中查找相关却依赖性包,注意版本匹配yum install container-selinux-2.77-1.el7.noarch.rpm -y但依赖性包过多,所以考虑配置centos7r
2021-07-22 16:58:05
434
1
原创 LAMP-5:MHA高可用(mysql集群)
文章目录1.简介2. 搭建MHA2.1 搭建一个一主两从的群组2.2 配置server4管理节点3. MHA高可用3.1 手动迁移3.2 自动迁移1.简介MHA(Master High Availability)目前在 MySQL 高可用方面是一个相对成熟的解决方案,是一套优秀的作为 MySQL 高可用性环境下故障切换和主从提升的高可用软件。MHA分为管理节点(manage)和数据节点(node)高可用体现在Mysql出现故障切换时,只需不到30秒即可完成,而且能巨大程度上保持数据的一致性在一台
2021-04-11 16:41:48
195
原创 LAMP-4:Mysql(主从复制及组复制)
文章目录1.主从复制1.1 server2上安装mysql1.2 配置Mysql5.7 server官方手册1.主从复制1.1 server2上安装mysql在server1上,将二进制编译好的mysql复制到server2上:scp -r mysql/ server2:/usr/local/顺便复制配置文件:scp my.cnf server2:/etc/及相关脚本:scp mysqld server2:/etc/init.d/在server2中添加默认变量:vim .bash_profil
2021-04-10 17:43:31
163
原创 LAMP-3:nginx基础功能/tomcat结合memcache
文章目录1. nginx基础功能1.1 限制连接数量1.2 限制请求速率/请求数目(限流)1.3 nginx配置管理1. nginx基础功能关于自定义nginx反向代理控制接入设置,可查看该部分的官方文档。1.1 限制连接数量控制单IP并发连接数:开辟一块内存区域:limit_conn_zone $binary_remote_addr zone=addr:10m;指定内存空间名称,和每次限制时间内允许链接的数量:location /download/ { li
2021-04-06 12:08:11
263
原创 LAMP-2:配置php/整合数据库/利用memcache实现nginx高效缓存/nginx反向代理/平滑升级
文章目录1.链接nginx与php2.整合数据库2.2 用phpMyAdmin测试数据库3.添加memcache缓存模块4.构建nginx高速缓存4.1 配置openresty4.2 构建nginx高效缓存4.3结果对比5.nginx反向代理6.nginx平滑升级6.1 升级6.2 降级7.集群8.开启安全性网页9. nginx不同server权重本文需要上节博客内容作为基础1.链接nginx与php进入fpm路径:cd /root/php-7.4.12/sapi/fpm拷贝模板文件:cp init
2021-04-03 20:57:27
2779
7
原创 软件安装:在Linux(rhel)上安装Typora
Typora作为一个跨平台(Windos,Mac OS,Linux)的Markdown编译器,非常简洁好用,最后也可输出为pdf,是本人平时记笔记的首选app,但是无法直接yum安装,在查阅资料后将安装步骤分享出来。附:官网地址下载官方包Typora-linux-x64.tar.gz解压安装:进入下载目录,本人目录为:cd /home/kiosk/Downloads解压:tar -zxf Typora-linux-x64.tar.gz进入解压文件夹:cd bin/本人习惯将应用程序放入 /o
2021-03-29 10:54:30
388
2
原创 LAMP-1:环境准备(准备虚拟机,安装nginx/mysql/php)
文章目录1. 准备虚拟机2.安装nginx3.安装mysql4.L:LinuxA:Apache/NginxM:MysqlP:1. 准备虚拟机设置一个内网段的虚拟机,真机设置双网段与虚拟机连接,连接方式为桥接。虚拟机为rhel7.6的最小化封装,关闭火墙及selinux2.安装nginx在此准备了nginx-1.18.0.tar.gz在根目录下解压:tar zxf nginx-1.18.0.tar.gz安装软件包依赖性:yum install -y gcc pcre-devel o
2021-03-29 09:55:54
246
2
原创 Python进阶8:文件差异性对比/一致性检查
文章目录1. 文件差异性对比2. 文件一致性检查1. 文件差异性对比import difflibdef diff(fn1, fn2): """对比两个文件内容的不同并以html的格式返回""" with open(fn1) as f1: content1 = f1.readlines() with open(fn2) as f2: content2 = f2.readlines() df = difflib.HtmlDiff() return df.make_
2021-03-21 21:51:50
456
原创 Python进阶9:Django自动化资产扫描1--项目创建/环境搭建
文章目录1. 项目简介1.1 背景1.2 项目技术分析1.3 主要内容2.项目环境搭建12.1 Django环境搭建2.2 ignore2.3 git仓库3.项目环境搭建21.开发与生产环境搭建3.2 资产扫描3.2.1 简介3.2.2 主机存活探测协议3.33.3.1 项目目录配置3.3.2 创建远程虚拟环境3.4 MySQL 远程数据库配置3.4.1 安装数据库3.4.2 创建数据库并授权3.4.3 远程调试3.5 生产环境配置3.5.1 修改生产环境配置文件:3.5.2 安装数据库1. 项目简介
2021-03-21 21:48:58
638
原创 Python进阶7:sysinfo-项目搭建/主机信息监控/Celery定时任务和异步任务
文章目录1. 简介2. 项目搭建2.1 创建子应用host并设置本地化2.2 数据库表的创建和超级用户的创建2.3 git管理项目(.gitignore,requirements.txt,README.md)3. 主机信息监控3.1 搭建框架3.2 远程仓库3.3 编写文件4.psutil模块4.1 介绍与安装4.2 psutil模块的使用1. 简介sysinfo是使用Python Flask框架和psutil开发的一个中文版Linux服务器信息查看应用,可以查看系统,cpu,内存,硬盘,进程,登录用户
2021-03-20 14:30:29
831
1
原创 Linux/Win10中检测系统信息
文章目录1. Linux1.1 查看系统内核版本:1.2 查看内存相关1.3查看cpu相关1.4 查看硬盘相关1.5 查看所有登录用户状态1.6 显示系统整体性能1.7 查看系统已载入模块2. Win102.1 利用psutil第三方模块获取信息1. Linux1.1 查看系统内核版本:uname -alsb_release -acat /etc/issue1.2 查看内存相关free -m:-m为参数,指定显示单位1.3查看cpu相关uptime:系统的平均负载,1分钟,5
2021-03-20 09:46:29
394
原创 Python进阶6:Django5-表单(form)/图片验证码/邮箱注册
文章目录1. django-simple-captcha1.1 配置django-simple-captcha库2. 表单(form)2.1 在Django中使用表单2.1.1 创建表单模型2.1.2 视图逻辑优化2.1.3 Template页面优化1. django-simple-captcha在网站开发的登录页面中,经常会需要使用到图形验证码来验证。在Django中,django-simple-captcha库包提供了图形验证码的使用。1.1 配置django-simple-captcha库安装
2021-03-19 14:53:53
338
原创 Python进阶5:Django4-用户登录和注销的业务逻辑
文章目录1. 路由与视图函数框架搭建1. 路由与视图函数框架搭建URL视图views模板功能/index/login.views.indexindex.html首页/login/login.views.loginlogin.html登录页面/register/login.views.registerregister.html注册界面/logout/login.views.logout无需返回页面登出界面访问策略:未登录人员,不论
2021-03-14 17:25:07
518
原创 Python进阶4:Django3-用户登录注册系统项目搭建/数据库模型设计
文章目录1. 项目开始前的思考2. 搭建项目环境3. git管理3.1 ignore插件:3.2 git提交项目代码到本地仓库4. 数据库模型设计4.1 设置数据库后端4.2 数据库模型文件4.3 测试4.4 数据库模型后台管理可重用注册登录系统注册(邮箱注册,手机,微信,QQ)登录注销1. 项目开始前的思考路由配置urlpattern = [ #路由规则 path('/register/', views.register), #注册时指定的视图函数 path('/l
2021-03-13 17:14:03
603
转载 win10安装git教程
文章目录1. 官网下载git2. 安装git3. 测试安装是否成功4. 自定义设置1. 官网下载git官网下载地址:https://git-scm.com/downloads2. 安装git1)双击安装包,显示如下:2)选择安装路径3)选择安装配置:4)选择开始菜单文件夹5)选择默认编辑器Use the Nano editor by default # 默认使用 Nano 编辑器Use Vim (The ubiquitous text editor) as Git's def
2021-03-13 11:30:17
443
原创 Python进阶3:Django2-数据库管理/后台管理/前台管理
文章目录1.项目数据库的管理1.1 创建数据库模型1.2 数据库模型基本操作(增删改查)1.2.1 导入数据库1.2.2 增加数据信息1.2.3 查看数据库信息1.2.4 删除1.3 添加关联对象2. 自定义模型加入后台管理2.1 自定义模型(Book类和Hero类)加入后台管理2.2 界面内容汉化2.3 自定义管理页面2.3.1 列表页展示2.3.2 修改添加页属性3. 前台管理3.1 URLconf路由管理3.2 视图函数处理业务逻辑3.2.1 html模板显示3.2.2 显示书籍的详情页3.3 模板
2021-03-05 19:52:30
1379
1
原创 Python进阶2:Django1-项目创建/自带项目管理/编写首页
文章目录1. 预备知识1.1 HTTP协议的认识1.2 Http请求中常见的请求方式1.3 MVC模式和MTV模式2. Django快速入门2.1 Django框架介绍2.2 Django添加数据库2.3 启用后台Admin站点管理2.3 创建一个应用2.3.1 创建第一个应用程序2.3.2 编写第一个视图函数2.3.3 路由规则1. 预备知识1.1 HTTP协议的认识什么是HTTP 协议?HTTP协议就是客户端和 服务器端之间数据传输的格式规范,格式简称为“超文本传输协议”。HTTP是一个属于
2021-03-04 17:48:16
427
2
原创 Python进阶1:面向对象编程-封装与继承/高级特性与单例特性
编程类型:面向过程编程(按行执行,在此之前的几章)函数式编程面向对象编程:以过程为中心的编程思想。分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。...
2021-03-02 15:06:27
277
2
转载 k8s-1:k8s简介及安装部署
文章目录1. Kubernetes介绍1.1 简介1.2 功能1.3 设计架构2. 安装部署2.1 所有节点配置2.1 master节点配置2.2 node节点配置1. Kubernetes介绍官网:https://kubernetes.io/zh/docs/1.1 简介在Docker作为高级容器引擎快速发展的同时,在Google内部,容器技术已经应用了很多年,Borg系统运行管理着成千上万的容器应用。Kubernetes项目来源于Borg,可以说是集结了Borg设计思想的精华,并且吸收了Bor
2021-02-20 23:43:20
755
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人