<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Victor_Monkey的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Victor_Monkey</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Victor_Monkey]]></copyright><item><title><![CDATA[mac pyenv 安装2.7.5 报错ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?]]></title><link>https://blog.youkuaiyun.com/Victor_Monkey/article/details/111992295</link><guid>https://blog.youkuaiyun.com/Victor_Monkey/article/details/111992295</guid><author>Victor_Monkey</author><pubDate>Wed, 30 Dec 2020 15:51:30 +0800</pubDate><description><![CDATA[解决办法：
CFLAGS=-I/usr/include/openssl LDFLAGS=-L/usr/lib pyenv install -v 2.7.5


]]></description><category></category></item><item><title><![CDATA[Nginx 配置http和https 同时访问]]></title><link>https://blog.youkuaiyun.com/Victor_Monkey/article/details/108577919</link><guid>https://blog.youkuaiyun.com/Victor_Monkey/article/details/108577919</guid><author>Victor_Monkey</author><pubDate>Mon, 14 Sep 2020 14:01:29 +0800</pubDate><description><![CDATA[目录一、HTTPS配置1.生成测试https证书2.构建nginx容器测试3.修改default.conf文件如下4.测试nginx配置文件是否正确5.测试（火狐浏览器）
一、HTTPS配置
1.生成测试https证书
# 1.创建服务器私钥，执行以下命令，会让你输入一个口令，要记住它:
openssl genrsa -des3 -out server.key 1024

# 2.创建签名请求的证书(CSR)：
#这里执行后会让你填写一些服务器相关信息，如域名、公司等数据
openssl req -new ]]></description><category></category></item><item><title><![CDATA[Centos搭建 ceph&Kubernetes挂载cephfs和cephrbd]]></title><link>https://blog.youkuaiyun.com/Victor_Monkey/article/details/108143078</link><guid>https://blog.youkuaiyun.com/Victor_Monkey/article/details/108143078</guid><author>Victor_Monkey</author><pubDate>Fri, 21 Aug 2020 11:20:27 +0800</pubDate><description><![CDATA[目录一、配置说明二、环境准备1.安装epel源 (所有节点)2. 添加ceph源地址(所有节点)3.安装python工具包(所有节点)4.主节点安装ceph-deply(主节点)5.安装ntp(所有节点)6.安装ssh服务(所有节点)7.建立ceph用户，方便管理，并且给予root权限，免密登陆8.建立免密ssh登陆9.关闭防火墙10.SELinux 设置为 Permissive三、ceph集群搭建 主要在kube-master节点操作1.创建文件夹，保存ceph文件2.创建集群3.安装ceph 所有节点同]]></description><category></category></item><item><title><![CDATA[centos7.8 搭建kubernetes集群]]></title><link>https://blog.youkuaiyun.com/Victor_Monkey/article/details/108130540</link><guid>https://blog.youkuaiyun.com/Victor_Monkey/article/details/108130540</guid><author>Victor_Monkey</author><pubDate>Thu, 20 Aug 2020 19:28:03 +0800</pubDate><description><![CDATA[目录一、概述二、硬件配置三、环境配置1、master、node节点分别修改主机名2、master、node节点主机名称解析3、保证各个主机之间ssh免密登录4、master、node节点关闭防火墙、SElinux、swap，安装支持桥接网络模块5、master、node节点部署ipvs6、master、node节点安装docker-ce并配置group，安装版本19.037、master、node节点安装kubelet、kubeadm、kubectl8、master初始化kubernetes集群（1）初始化]]></description><category></category></item><item><title><![CDATA[Flask项目编写Prometheus监控]]></title><link>https://blog.youkuaiyun.com/Victor_Monkey/article/details/107963496</link><guid>https://blog.youkuaiyun.com/Victor_Monkey/article/details/107963496</guid><author>Victor_Monkey</author><pubDate>Wed, 12 Aug 2020 19:09:31 +0800</pubDate><description><![CDATA[一、背景说明
目前监控数据库服务安全的服务存在本身服务不受监控的问题，根据调研，目前技术社区对Prometheus有较高评价，并且在k8s中的使用率高，目前已有完成的exporter能够监控k8s集群的各项服务。

二、概念介绍
Prometheus定义了4种不同的指标类型(metric type)：Counter（计数器）、Gauge（仪表盘）、Histogram（直方图）、Summary（摘要）。

Counter：Counter类型的指标其工作方式和计数器一样，只增不减（除非系统发生重置）。

Gau]]></description><category></category></item><item><title><![CDATA[Kubernetes dns问题排查]]></title><link>https://blog.youkuaiyun.com/Victor_Monkey/article/details/107671185</link><guid>https://blog.youkuaiyun.com/Victor_Monkey/article/details/107671185</guid><author>Victor_Monkey</author><pubDate>Wed, 29 Jul 2020 17:55:19 +0800</pubDate><description><![CDATA[一、环境介绍
二、问题说明
1、es集群搭建过程中，查看日志，报错如下
三、问题排查
1、首先查看coredns是否有报错(运行正常)
2、查看coredns日志
3、按照官网上的步骤，添加一个简单的pod，然后验证
4、查看pod中dns的配置是否正常，pod中的dns配置，在etc/resolv.conf中
5、打开coredns的日志配置，重新请求域名解析，查看日志
6、排查kube-proxy，发现报错
三、解决问题
1、 更新内核版本（k8s所有节点）
使用该方式更新内容后，重启系统失败
更新，在]]></description><category></category></item><item><title><![CDATA[celery worker初始化--DAG实现]]></title><link>https://blog.youkuaiyun.com/Victor_Monkey/article/details/105808218</link><guid>https://blog.youkuaiyun.com/Victor_Monkey/article/details/105808218</guid><author>Victor_Monkey</author><pubDate>Mon, 11 May 2020 13:28:53 +0800</pubDate><description><![CDATA[本文环境python3.5.2，celery 4.3.0系列
celery的启动过程中涉及多个模块，各个模块之间又存在着依赖关系，那么如何按照依赖关系启动各个模块，celery设计了一套简单的DAG（有向无环图），本文就主要分析一下celery DAG的实现过程。

celery 中各个模块定为step

Worker

Timer：用于执行定时任务的 Timer，和 Consumer 那里的 timer 不同
Hub：Eventloop 的封装对象（回顾一下 Kombu 的）


Pool：构造各种执行.]]></description><category></category></item><item><title><![CDATA[Kombu源码分析(二)Producer 消息发布]]></title><link>https://blog.youkuaiyun.com/Victor_Monkey/article/details/105527568</link><guid>https://blog.youkuaiyun.com/Victor_Monkey/article/details/105527568</guid><author>Victor_Monkey</author><pubDate>Thu, 16 Apr 2020 09:56:39 +0800</pubDate><description><![CDATA[本文环境python3.5.2，kombu4.6.8系列
本文主要根据kombu官方用例，来分析逐个分析kombu源码，了解kombu中的主要结构和代码实现

上文主要根据官方示例分析了Connection初始化的源码，本篇将继续根据示例代码讲解Producer的初始化和消息发布的源码，上文中提到，Connection初始化过程是并没有建立连接的，而是在使用时才能建立连接，本篇在Producer...]]></description><category></category></item><item><title><![CDATA[Kombu源码分析(一) Connection]]></title><link>https://blog.youkuaiyun.com/Victor_Monkey/article/details/105412189</link><guid>https://blog.youkuaiyun.com/Victor_Monkey/article/details/105412189</guid><author>Victor_Monkey</author><pubDate>Tue, 14 Apr 2020 09:38:46 +0800</pubDate><description><![CDATA[Celery是Python中最流行的异步消息队列框架，支持RabbitMQ、Redis、ZoopKeeper等作为Broker，而对这些消息队列的抽象，都是通过Kombu实现的。Kombu实现了对AMQP transport和non-AMQP transports(Redis、Amazon SQS、ZoopKeeper等)的兼容。
AMQP中的各种概念，Message、Producer、Excha...]]></description><category></category></item><item><title><![CDATA[keepalived+mongo集群搭建高可用数据库集群]]></title><link>https://blog.youkuaiyun.com/Victor_Monkey/article/details/103362306</link><guid>https://blog.youkuaiyun.com/Victor_Monkey/article/details/103362306</guid><author>Victor_Monkey</author><pubDate>Wed, 04 Dec 2019 10:43:36 +0800</pubDate><description><![CDATA[本文环境mongo=3.4, keepalived=2.0.5, docker=1.8
本次采用三个节点，搭建mongo集群3sharding,每个sharding采用一主一从一仲裁, 其中搭建三个router节点,为防止application与mongo集群中router节点的连接出现单点故障,特搭建keepalived集群,通过虚拟ip连接三个节点上的router节点，application...]]></description><category></category></item><item><title><![CDATA[nginx性能优化--conf参数说明及优化]]></title><link>https://blog.youkuaiyun.com/Victor_Monkey/article/details/102806293</link><guid>https://blog.youkuaiyun.com/Victor_Monkey/article/details/102806293</guid><author>Victor_Monkey</author><pubDate>Wed, 30 Oct 2019 10:51:12 +0800</pubDate><description><![CDATA[平时nginx部署项目，安装完成，然后到/etc/nginx/nginx.conf文件中配置好server，或者在conf.d中创建一个.conf文件进行配置，就可以实现基本功能，但是对nginx内原始参数基本很少修改，如果想进一步提升nginx性能，则需要对参数有基本的认识，并且了解参数设置值的由来，下面就简单介绍一下conf文件中的参数配置
顶层配置
user www-data;
worker...]]></description><category></category></item><item><title><![CDATA[大数据工具--Sqoop简介及使用]]></title><link>https://blog.youkuaiyun.com/Victor_Monkey/article/details/100535134</link><guid>https://blog.youkuaiyun.com/Victor_Monkey/article/details/100535134</guid><author>Victor_Monkey</author><pubDate>Wed, 18 Sep 2019 12:01:24 +0800</pubDate><description><![CDATA[本文环境hadoop 2.7.7，sqoop 1.4.7
Sqoop是一个在结构化数据和Hadoop之间进行批量数据迁移的工具，此篇博客没有深入的介绍sqoop的底层，只是简单介绍其功能，重点记录sqoop的使用命令　sqoop import, sqoop export, sqoop job的使用

Sqoop简介
Sqoop是一个在结构化数据和Hadoop之间进行批量数据迁移的工具，结构化数据...]]></description><category></category></item><item><title><![CDATA[spark实现wordCount(scala、python）]]></title><link>https://blog.youkuaiyun.com/Victor_Monkey/article/details/100766241</link><guid>https://blog.youkuaiyun.com/Victor_Monkey/article/details/100766241</guid><author>Victor_Monkey</author><pubDate>Wed, 18 Sep 2019 12:00:19 +0800</pubDate><description><![CDATA[本文环境spark1.6，java1.8, scala 2.1.6, python 2.7
Spark是大家非常熟悉的大数据处理框架，虽然在公司已经使用了很久，但是没有深入的了解过Spark的底层代码原理，大家都清楚，Spark是由scala开发实现的，为了深入了解Spark，学习scala是必不可少的，在这里简单的写一下三种语言调用Spark接口的方式，实现wordCount功能。

Scal...]]></description><category></category></item><item><title><![CDATA[轻量版orm-peewee源码分析]]></title><link>https://blog.youkuaiyun.com/Victor_Monkey/article/details/87922790</link><guid>https://blog.youkuaiyun.com/Victor_Monkey/article/details/87922790</guid><author>Victor_Monkey</author><pubDate>Wed, 27 Feb 2019 15:00:43 +0800</pubDate><description><![CDATA[&amp;amp;gt; 本文环境python3.5.2，peewee 2.0.6系列
原本想写一下django的orm源代码，但是django的orm代码太庞大了，所以选了一个轻量级的orm，代码量小，但是实现原理基本相似，peewee已经发行了138个版本到3.8.2版本了，最新版本的代码也多了些“繁文缛节”，随意选了低版本的实现功能代码，原想选最低版本0.9.6,但随便点了一个2.0.6版本，代码量反而少了...]]></description><category></category></item><item><title><![CDATA[django源码分析：信号signal]]></title><link>https://blog.youkuaiyun.com/Victor_Monkey/article/details/87864291</link><guid>https://blog.youkuaiyun.com/Victor_Monkey/article/details/87864291</guid><author>Victor_Monkey</author><pubDate>Fri, 22 Feb 2019 17:46:32 +0800</pubDate><description><![CDATA[
本文环境python3.5.2，django1.10.x系列
本文主要介绍django是如果通过中间件SessionMiddleware来处理session，重点将放到SessionMiddleware中间键的源码讲解。

django本就是依靠一套信号机制来来处理在框架的不同位置之间的信息。完成一套信号的处理函数（receiver），经过初始化后进行储存，等到需要调用此功能的时候，就可以通过发...]]></description><category></category></item><item><title><![CDATA[django源码分析：中间件SessionMiddleware]]></title><link>https://blog.youkuaiyun.com/Victor_Monkey/article/details/85080950</link><guid>https://blog.youkuaiyun.com/Victor_Monkey/article/details/85080950</guid><author>Victor_Monkey</author><pubDate>Wed, 19 Dec 2018 14:48:28 +0800</pubDate><description><![CDATA[
本文环境python3.5.2，django1.10.x系列
本文主要介绍django是如果通过中间件SessionMiddleware来处理session，重点将放到SessionMiddleware中间键的源码讲解。

关于中间件的作用，在上一篇文章介绍CsrfViewMiddleware中间件时已经讲过，在这里就不再进行赘述。下面就直入主题，讲讲SessionMiddleware的源码。
...]]></description><category></category></item><item><title><![CDATA[django源码分析：中间件CsrfViewMiddleware]]></title><link>https://blog.youkuaiyun.com/Victor_Monkey/article/details/85057259</link><guid>https://blog.youkuaiyun.com/Victor_Monkey/article/details/85057259</guid><author>Victor_Monkey</author><pubDate>Tue, 18 Dec 2018 13:43:57 +0800</pubDate><description><![CDATA[
本文环境python3.5.2，django1.10.x系列
介绍django中关于跨域请求保护的内容，主要由其中一个中间件完成，下面稍微讲一下关于csrf原理和django中间件在请求中的作用，重点将放到CsrfViewMiddleware中间键的源码讲解。

csrf原理
   CSRF概念：CSRF跨站点请求伪造(Cross—Site Request Forgery)，跟XSS攻击一样，存...]]></description><category></category></item><item><title><![CDATA[动态规划问题]]></title><link>https://blog.youkuaiyun.com/Victor_Monkey/article/details/82229093</link><guid>https://blog.youkuaiyun.com/Victor_Monkey/article/details/82229093</guid><author>Victor_Monkey</author><pubDate>Thu, 30 Aug 2018 22:43:29 +0800</pubDate><description><![CDATA[
  本文参考书籍《图解算法》


举例说明动态规划问题 
考虑一个场景：周末准备一场户外旅行，要准备一些物品，你有一个可承载8kg背包和一些物品，物品也有重量和需求值，全部物品重量超过背包承重，因此无法全部携带，如何去选取价值总量最高的物品组合呢？



   
        物品名
        重量
        价值
    
   
        water
        1k...]]></description><category></category></item><item><title><![CDATA[贪婪算法]]></title><link>https://blog.youkuaiyun.com/Victor_Monkey/article/details/82179165</link><guid>https://blog.youkuaiyun.com/Victor_Monkey/article/details/82179165</guid><author>Victor_Monkey</author><pubDate>Wed, 29 Aug 2018 10:24:25 +0800</pubDate><description><![CDATA[
  本文参考书籍《图解算法》


一、在了解贪婪算法之前，首先需要了解一下 NP完全问题


  NP完全问题(NP-C问题)，是世界七大数学难题之一。 NP的英文全称是Non-deterministic Polynomial的问题，即多项式复杂程度的非确定性问题。简单的写法是 NP=P？，问题就在这个问号上，到底是NP等于P，还是NP不等于P。。。。。。。


具体的详细描述可以参考百度百科，...]]></description><category></category></item><item><title><![CDATA[django 使用原生sql]]></title><link>https://blog.youkuaiyun.com/Victor_Monkey/article/details/82144265</link><guid>https://blog.youkuaiyun.com/Victor_Monkey/article/details/82144265</guid><author>Victor_Monkey</author><pubDate>Tue, 28 Aug 2018 10:51:11 +0800</pubDate><description><![CDATA[
  Django中查询筛选数据时，大多数是使用封装好的orm，其中有一些较为复杂的sql语句很难使用orm实现，因此在此引入Django中原生sql的使用方法


在Django中使用原生Sql主要有以下三种方法: 
一：extra:结果集修改器，一种提供额外查询参数的机制 
二：raw:执行原始sql并返回模型实例 
三：直接执行自定义Sql


  举例说明使用方法


from djang...]]></description><category></category></item></channel></rss>