挖煤工人学IT
码龄9年
关注
提问 私信
  • 博客:267,535
    267,535
    总访问量
  • 20
    原创
  • 980,841
    排名
  • 49
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖北省
  • 加入CSDN时间: 2016-06-17
博客简介:

ccy19910925的博客

查看详细资料
个人成就
  • 获得51次点赞
  • 内容获得15次评论
  • 获得312次收藏
  • 代码片获得170次分享
创作历程
  • 7篇
    2021年
  • 1篇
    2020年
  • 34篇
    2019年
  • 68篇
    2018年
成就勋章
TA的专栏
  • 负载均衡
    3篇
  • Zabbix
    6篇
  • ELK
    5篇
  • 算法
    2篇
  • 缓存
    2篇
  • kubernetes
    35篇
  • 消息队列
    2篇
  • Python
  • Shell
    1篇
  • Docker
    11篇
  • Linux
    9篇
  • redis
    12篇
  • ansible
    6篇
  • kafka
    6篇
  • prometheus
    1篇
  • HDFS
    1篇
  • Hadoop
    3篇
兴趣领域 设置
  • 运维
    容器devops自动化kubernetes系统架构
  • 服务器
    linuxcentos
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

优化生产环境中的 Kubernetes 资源分配

我和 Kubernetes 的初次接触就涉及到将应用容器化并部署到生产环境集群中,当时我的工作重点是把 buffer 吞吐量最高(低风险)的某个端点从单个应用程序中分离出来,因为这个特殊的端点会给我们带来很大的困扰,偶尔还会影响到其他更高优先级的流量。在使用curl进行一些手动测试之后,我们决定将这个剥离出来的端点部署在Kubernetes上。当有1%的流量打进来时,服务运行正常,一切看起来都是那么地美好;当流量增加到10%时,也没有什么大问题;最后我将流量增加到50%,麻烦来了,这时...
转载
发布博客 2021.07.02 ·
411 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Kubernetes Pod 驱逐详解

在 Kubernetes 中,Pod 使用的资源最重要的是 CPU、内存和磁盘 IO,这些资源可以被分为可压缩资源(CPU)和不可压缩资源(内存,磁盘 IO)。可压缩资源不可能导致 Pod 被驱逐,因为当 Pod 的 CPU 使用量很多时,系统可以通过重新分配权重来限制 Pod 的 CPU 使用。而对于不可压缩资源来说,如果资源不足,也就无法继续申请资源(内存用完就是用完了),此时 Kubernetes 会从该节点上驱逐一定数量的 Pod,以保证该节点上有充足的资源。当不可压缩资源不足时,Kuberne
转载
发布博客 2021.07.02 ·
2931 阅读 ·
0 点赞 ·
0 评论 ·
8 收藏

轻量级容器运行时 CRI-O 解析

1.CRI-O 的诞生当容器运行时(Container Runtime)的标准被提出以后,Red Hat 的一些人开始想他们可以构建一个更简单的运行时,而且这个运行时仅仅为 Kubernetes 所用。这样就有了skunkworks项目,最后定名为CRI-O, 它实现了一个最小的 CRI 接口。在 2017 Kubecon Austin 的一个演讲中, Walsh 解释说, ”CRI-O 被设计为比其他的方案都要小,遵从 Unix 只做一件事并把它做好的设计哲学,实现组件重用“。根据 Red ...
转载
发布博客 2021.07.01 ·
4797 阅读 ·
1 点赞 ·
0 评论 ·
6 收藏

Device Mapper基础教程:Docker 中使用 devicemapper 存储驱动

1.准备条件 devicemapper存储驱动是RHEL,CentOS和Oracle Linux系统上唯一一个支持Docker EE和Commercially Supported Docker Engine(CS-Engine) 的存储驱动,具体参考Product compatibility matrix. devicemapper在CentOS,Fedora,Ubuntu和Debian上也支持Docker CE。 如果你更改了Docker...
转载
发布博客 2021.07.01 ·
3379 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

你确定你会写 Dockerfile 吗?

如今 GitHub 仓库中已经包含了成千上万的Dockerfile,但并不是所有的 Dockerfile 都是高效的。本文将从五个方面来介绍 Dockerfile 的最佳实践,以此来帮助大家编写更优雅的 Dockerfile。如果你是 Docker 的初学者,恭喜你,这篇文章就是为你准备的。后面的系列将会更加深入,敬请期待!本文使用一个基于Maven的 Java 项目作为示例,然后不断改进 Dockerfile 的写法,直到最后写出一个最优雅的 Dockerfile。中间的所有步骤都是为了说明某一...
转载
发布博客 2021.06.30 ·
108 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Docker 镜像制作教程:减小镜像体积

对于刚接触容器的人来说,他们很容易被自己制作的 Docker 镜像体积吓到,我只需要一个几 MB 的可执行文件而已,为何镜像的体积会达到1 GB以上?本文将会介绍几个奇技淫巧来帮助你精简镜像,同时又不牺牲开发人员和运维人员的操作便利性。本系列文章将分为三个部分:第一部分着重介绍多阶段构建(multi-stage builds),因为这是镜像精简之路至关重要的一环。在这部分内容中,我会解释静态链接和动态链接的区别,它们对镜像带来的影响,以及如何避免那些不好的影响。中间会穿插一部分对Alpine镜像...
转载
发布博客 2021.06.30 ·
398 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Redis AOF 追加阻塞问题分析处理

当Redis开启AOF持久化时,常用的同步硬盘的策略是everysec,用于平衡性能和数据安全性。对于这种方式,Redis使用另一条线程每秒执行fsync同步硬盘。当系统硬盘资源繁忙时,会造成Redis主线程阻塞,如图所示。阻塞流程分析:1)主线程负责写入AOF缓冲区。2)AOF线程负责每秒执行一次同步磁盘操作,并记录最近一次同步时间。3)主线程负责对比上次AOF同步时间:如果距上次同步成功时间在2秒内,主线程直接返回。 如果距上次同步成功时间超过2秒,主线程将会阻塞,直到同步.
原创
发布博客 2021.04.15 ·
1243 阅读 ·
2 点赞 ·
0 评论 ·
7 收藏

openresty监控模块nginx-module-vts编译安装

下载vts插件:(如果报错说/usr/local不为空可以先下载到其他路径,然后必须再移过来)git clone git://github.com/vozlt/nginx-module-vts.git /usr/local下载openresty-packaging:生成Openresty RPM包的配置文件git clone https://github.com/openresty/openresty-packaging.git ~/有些文章中提及要下载Openresty源码,实际操作时
原创
发布博客 2020.07.08 ·
1985 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Docker填坑大全

1. docker报【Error response from daemon: Error running DeviceCreate (createSnapDevice) dm_task_run failed】错解决办法:# systemctl stop docker.service# thin_check /var/lib/docker/devicemapper/devicemappe...
原创
发布博客 2019.11.18 ·
908 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

MapReduce的核心运行机制

正文概述一个完整的 MapReduce 程序在分布式运行时有两类实例进程:1、MRAppMaster:负责整个程序的过程调度及状态协调2、Yarnchild:负责 map 阶段的整个数据处理流程3、Yarnchild:负责 reduce 阶段的整个数据处理流程 以上两个阶段 MapTask 和 ReduceTask 的进程都是 YarnChild,并不是说这 MapTas...
转载
发布博客 2019.07.20 ·
203 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MapReduce与YARN调度图

首先让我们来重温一下 hadoop 的四大组件:HDFS:分布式存储系统MapReduce:分布式计算系统YARN:hadoop 的资源调度系统Common:以上三大组件的底层支撑组件,主要提供基础工具包和 RPC 框架等MapReduce 是一个分布式运算程序的编程框架,是用户开发“基于 Hadoop 的数据分析应用” 的核心框架MapReduce 核心功能是将用户...
原创
发布博客 2019.07.20 ·
206 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

MapReduce相关问题思考

1、Shuffle的定义是什么?每个map task都有一个内存缓冲区,存储着map的输出结果,当缓冲区快满的时候需要将缓冲区的数据以一个临时文件的方式存放到磁盘,当整个map task结束后再对磁盘中这个map task产生的所有临时文件做合并,生成最终的正式输出文件,然后等待reduce task来拉数据。2、map task与reduce task的执行是否在不同的节...
原创
发布博客 2019.07.20 ·
326 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

Zookeeper的ZAB协议与Paxos协议区别

一、联系1. 两者构建的系统都有一个Leader角色,Leader进程负责协调多个Follower进程的运行2. Leader进程都会等待超过半数的Follower进程做出正确的分亏后,才会将一个提案进行提交3. 在ZAB协议中每个Proposal中都包含一个epoch值,用来代表当前的Leader周期;在Paxos算法中,同样存在这样一个标识(Ballot)二、区别1.两者...
转载
发布博客 2019.07.19 ·
763 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

HDFS简单介绍

一.HDFS产出背景及定义1>.HDFS产生背景  随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理磁盘中,但是不方便维护和管理,迫切需求一种系统来管理多台机器上的文件,这就是分布式文件管理系统。HDFS只是分布式文件管理系统中的一种。2>.HDFS定义  HDFS全称为:Hadoop Distributed File System,它...
原创
发布博客 2019.07.16 ·
168 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

如何落地全球最大 Kubernetes 生产集群(摘抄)

鲍永成京东基础架构部技术总监,DevOps 标准核心编写专家前言JDOS 就是京东数据中心操作系统,随着数据中心规模不断的扩大,我们需要对数据中心做综合的考虑。所以一开始就先说数据中心的层面,大家知道数据中心里面有服务器、网络、基础软件,还有就是部署业务系统。随着技术的发展,有一些集群管理、编排加进来。JDOS 1.0 是基于 openstack ...
转载
发布博客 2019.03.11 ·
446 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

redis连接超时原因(tcp_backlog)

TCP中backlog简介Linux内核为每个TCP服务器程序维护两条backlog队列,一条是TCP层的未连接队列,一条是应用层的已连接队列,分别对应net.ipv4.tcp_max_syn_backlog和net.core.somaxconn两个内核参数。一个客户端连接在完成TCP 3次握手之前首先进入到未连接队列,完成握手之后正式建立连接,进入已连接队列,交付给应用程序处理。应用程序...
转载
发布博客 2019.03.11 ·
9065 阅读 ·
0 点赞 ·
0 评论 ·
7 收藏

经典案例复盘——运维专家讲述如何实现K8S落地(摘抄)

以下是运满满K8s容器化进程记录,摘抄一下,方便以后查阅。背景介绍运满满自开始微服务改造以来,线上线下已有数千个微服务的 Java 实例在运行中。这些 Java 实例部署在数百台云服务器或虚机上,除少数访问量较高的关键应用外,大部分实例均混合部署。这些实例的管理,采用自研平台结合开源软件的方式,已实现通过平台页面按钮菜单执行打包、部署、启动、停止以及回滚指定的版本等基本功能,取得了不错...
转载
发布博客 2019.03.07 ·
6708 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Vmstat命令详解

一、前言vmstat命令:用来获得有关进程、虚存、页面交换空间及CPU活动的信息。这些信息反映了系统的负载情况二、虚拟内存运行原理在系统中运行的每个进程都需要使用到内存,但不是每个进程都需要每时每刻使用系统分配的内存空间。当系统运行所需内存超过实际的物理内存,内核会释放某些进程所占用但未使用的部分或所有物理内存,将这部分资料存储在磁盘上直到进程下一次调用,并将释放出的内存提供给有...
转载
发布博客 2019.02.28 ·
294 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

Kubernetes StatefulSet 详解

StatefulSet 作为 Controller 为 Pod 提供唯一的标识。它可以保证部署和 scale 的顺序。使用案例参考:kubernetes contrib - statefulsets,其中包含zookeeper和kakfa的statefulset设置和使用说明。StatefulSet是为了解决有状态服务的问题(对应Deployments和ReplicaSets是为无状态服务...
原创
发布博客 2019.02.15 ·
2429 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

Kafka文件的存储机制

同一个topic下有多个不同的partition,每个partition为一个目录,partition命名的规则是topic的名称加上一个序号,序号从0开始。每一个partition目录下的文件被平均切割成大小相等(默认一个文件是500兆,可以手动去设置)的数据文件,每一个数据文件都被称为一个段(segment file),但每个段消息数量不一定相等,这种特性能够使得老的segmen...
转载
发布博客 2019.02.01 ·
194 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多