自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Leon的博客

但行好事,莫问前程

  • 博客(242)
  • 资源 (2)
  • 论坛 (1)
  • 收藏
  • 关注

原创 k8s Prometheus+node-exporter+Grafana 监控

监控效果架构安装准备# image 依赖# docker pull prom/node-exporter# docker pull prom/prometheus:v2.0.0# docker pull grafana/grafana:4.2.0[root@ecs-ca42 promethus]# tree.├── configmap.yaml├── grafana│ ├── grafana-deploy.yaml│ ├── grafana-ing.yaml│

2020-11-24 16:23:59 73 1

原创 flume+kafka nginx日志系统搭建完整流程

Apache Flume + Zookeeper + Fafka中间件 + 持久化存储 。用 Apache Flume 获取 nginx 日志,设置 sources 为 tail -f access-log,设置 sink 为 kafka 集群 ,从kafka 中取数据 结果存入 redis/mongo/es ,提供 API查询Nginx 日志 format 修改

2020-11-03 16:38:25 129 2

原创 ElasticSearch 性能压榨优化-segment

本文的优化基于 ES 7.6.0 ,索引 主要集中在 TB级索引的查询写入优化分片的最佳平均大小是多少?分片的平均大小应在 几GB到几十GB之间。确定用例的最佳大小的最佳方法是使用您自己的数据和查询进行测试。此外,节点数 和 分片数目 应该设计成比例,这样有利于 分片 平均的 负载在 各个节点上,这样查询时产生的节点消耗将均衡 。副本的最佳数量是多少?副本的基

2020-10-12 16:08:57 120

原创 Redis 的单线程设计、深度剖析IO多路复用的具体实现

Redis 的单线程是否真的是单线程?为什么要采用单线程设计?Redis 单线程为什么快Redis 中事件驱动的实现

2020-09-04 17:03:38 115

原创 Keras TensorFlow 验证码识别(附数据集)

效果先看效果图,左边是 两张测试数据,右边是 预测结果标注数据集下载地址已更新实现1. 训练模型bathcsize 为 700 轮次 50#!/usr/bin/env python# coding: utf-8# # 训练模型# # ## 引入第三方包# In[1]:from PIL import Imagefrom keras import backend as Kfrom keras.utils.vis_utils import plot_modelfrom ke

2020-08-14 09:16:36 512

原创 Redis过期策略以及内存淘汰机制

如果你的 Redis 只能存10G数据,你写了12G,那么 Redis 会怎么淘汰那2G数据呢?过期键删除策略我们都知道,删除键的目的,就是释放内存占用。那么,当一个键过期了,Redis 什么时候会去删除她呢?定时删除设置键的过期时间时,创建一个 Timer ,当过期时间到临时,立刻删除键。内存友好型策略,一旦键过期,就会被删除,并释放所占用的内存,Cpu 不友好,当一...

2018-06-21 18:28:59 20392 5

原创 ElasticSearch迁移数据量太大遇到的问题

本文记录最近迁移ES遇到的问题和解决办法,迁移的方式是从线上es scroll 导出到json,再想办法导入本地机房,可能迁移有其他的办法,不一定这种就是最好的,我这里选择 scroll 是因为各种限制,这样是最方便的,这里主要讨论的是scroll之后,遇到的问题。1 scroll 拉取就是基本的 scroll ,设置了10w行做一个单独的json文件,方便我后续的处理from utils.esd import ES_CLIENT, ES_CLIENT_LOCALfrom elasticsea.

2020-12-13 14:42:17 86

原创 在 Gpu 上使用bert Ner

查看 gpu 支持# 查看 gpu 支持nvidia-smiWed Nov 11 09:28:37 2020+-----------------------------------------------------------------------------+| NVIDIA-SMI 418.67 Driver Version: 418.67 CUDA Version: 10.1 ||-------------------------------+-----

2020-11-12 09:29:04 129 2

原创 elasticsearch nested 增删改查

增PUT /precedent/_mapping{ "properties": { "clean_process": { "properties": { "stand": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256

2020-10-19 17:08:22 212 1

原创 部署 Dashboard 2.0 + Metrics 监控 Pods node 负载

Kubernetes Dashboard 从v2.0.0-beta1版本开始,集成了一个 metrics-scraper 的组件,可以通过 Kubernetes 的 Metrics API 收集一些基础资源的监控信息,并在web页面展示。这次就是想用 metrics-scraper1 使用 openssl 签发证书mkdir certsopenssl req -nodes -newkey rsa:2048 -keyout certs/dashboard.key -out certs/dashb.

2020-09-27 16:57:17 127

原创 k8s流水线发布部署

一开始是想用 Jenkins 来做的,不过我们这边的代码放在code上,愣是没找到 Jenkins 的插件配置 git 的 hook ,碰巧发现了 code 这个平台的 Flow 工具,于是就用了Code + Flow + 自建K8 这一套来实现,原理上都是一样的 ,web hook 提交打包镜像,k8 发布部署容器,运行服务。1. 包含工具Codeup 等同于 Gitlab、Coding 等代码托管平台Flow 等同于Jenkins等 CI集成工具自建 K8s 集群 用于 CD发布 服务2.

2020-09-24 09:57:07 207

原创 用K8s实践部署可扩容缩减的项目实战

这边用一个清洗项目来做一个简单的部署例子,这个项目的功能是,启动一个消费rabbitmq 的项目,mq中存储的是数据队列,容器消费mq 清洗数据处理项目 clean.yaml---apiVersion: apps/v1beta1kind: Deploymentmetadata: name: clean-pod labels: app: cleanspec: replicas: 4 template: metadata: labels: .

2020-09-22 14:18:34 121

原创 kubernetes 集群搭建1.11.3+dashboard

本文环境:centos:7docker:18.06k8:1.11.3前置准备# 3台内网ip + hostname172.16.0.175 k8s-master172.16.0.100 k8s-node1172.16.0.147 k8s-node2# 更改 hosts echo -e "172.16.0.175 k8s-master\n172.16.0.100 k8s-node1\n172.16.0.147 k8s-nod

2020-09-20 21:15:32 88

原创 爬虫问题汇总

request / BeautifulSoup 解析 ISO - 8859 - 1 / GB2312 页面乱码错误设置 r.encoding = ‘GB2312’# r.encoding = 'GB2312'r = requests.get(i,) print(r.encoding) # ISO - 8859 - 1 r.encoding = 'GB2312'print (r.text) :# 国物权法》(上册),张双根译,法律出版社</span><s

2020-09-11 10:42:06 41

原创 tornado 消费队列并配合 superviosr 优雅重启

当你用tornado 作为一个消费队列的实例,如果tornado 异常了,如何在消费队列中重启tornado实例,并继续下一个消费?

2020-06-20 10:07:58 117

原创 用 scroll 和 bulk 拉取和上传千万级 elastic 索引

最近遇到个需求,索引迁移,本来应该用es的reindex,不过由于业务限制等原因,没法使用,使用了 scroll 和 bulk 完成了迁移,记录代码scroll 拉取到csv文件from elasticsearch import Elasticsearchfrom elasticsearch import helpersimport timeimport json# 188 -> 线上class Get_es: def __init__(self): self

2020-06-13 16:38:41 192

原创 nginx 反向代理的缓存问题

http { proxy_cache_path /data/nginx_cache/ levels=1:2 keys_zone=my_zone:10m inactive=60s max_size=5g;#访问时间,过期就会删除}#es判例的location ~ /es/precedents { proxy_cache my_zone; proxy_cache_valid 200 304 10m;#这个是文件缓存时间,和访问频率无关 proxy_ignore_h.

2020-06-13 16:03:31 175

原创 Elastic 分片设计及管理

分片设计Es分片水平扩展/rebalancing创建索引时,为索引设计的分片数,会自动分布在集群的节点上,当节点增加时,es也会自动进行分片的移动,这叫做 shard rebalancing多分片的好处:数据写入可以分散到多个机器上查询可以并行进行增加机器,可以no downtime 的水平扩展/分片的重新分配分片的设计与管理——分片是ES存储数据的地方,本质是一个lucene的索引,分片是ES机器实现水平扩展的最小单位,用她来存储数据必然会消耗系统的性能,如果存储的数据过

2020-06-11 15:17:46 141

原创 Mongo 副本集创建

1修改配置文件sudo vim /usr/local/mongodb4.2/bin/mongodb.conflogpath=/Users/sw/mongodata/logs/mongodb.logfork=truelogappend=truedbpath=/Users/sw/mongodata/dbwiredTigerCacheSizeGB=2port=27017replSet=rs0auth=truekeyFile=/Users/sw/keyfilesudo vim /usr/l

2020-06-10 10:22:29 115

原创 用wt文件恢复mongodb

安装 wt 工具wget http://source.wiredtiger.com/releases/wiredtiger-3.0.0.tar.bz2tar xvf wiredtiger-3.0.0.tar.bz2cd wiredtiger-3.0.0sudo yum install snappy-devel -y./configure --enable-snappymake修复 wt 文件将要修复的mongo的 存储目录整个复制一份到 data ,这里比如我要恢复 colle

2020-06-10 10:17:43 1061 1

原创 screen + rc.local 实现开机自启动多个窗口命令

话不多说,上代码开机启动就不多赘述了,自行百度,这篇博客主要说的是,screen 在开启自启动脚本中的用法。直接写 screen -S xxxx 是会报错,无法自启动的。下面附上一个启动多个screen 任务的脚本 ,直接用就行#!/bin/sh #chkconfig: 2345 80 90 #description:*****# 开启一个sh脚本的运行窗口screen_name1="bash_service"screen -dmS $screen_name1cmd2="bash /ho

2020-05-21 16:23:40 156

原创 pika python rabbitmq 优先级队列、查看队列剩余数目

话不多说,直接上代码。python3.6 pika 实现rabbitmq 优先级队列Sendimport pikaimport sysimport time# 远程rabbitmq服务的配置信息username = '用户名' # 指定远程rabbitmq的用户名密码pwd = '密码'ip_addr = 'ip'port_num = 5672# 消息队列服务的连接和队列的创建credentials = pika.PlainCredentials(username, p

2020-05-21 16:17:22 373

原创 倒排索引增量更新如何被实时检索?

正排索引与倒排索引索引的目的: 使根据 key 查询 value 的速度变快正排索引:Forward Index ,以一个对象的唯一ID 为Key 的哈希索引结构倒排索引:Inverted Index 根据具体内容,反过来查询文档 key ,根据内容(字典),查询对应的文档列表(记录列表)倒排索引的创建:1 文档唯一编号,排序,遍历文档2 解析文档,生成, <关键字,文档ID,关键字Index> (查询多个关键字时,可以比较多个关键字的位置)3 生成 关键字 对应的 (文

2020-05-14 11:26:45 341

原创 解析redis bitmap数据

import redisimport binascii#连接redispool = redis.ConnectionPool(host='122.112.163.26', port=6379, db=0, password='fb0401')r = redis.Redis(connection_pool=pool)#获取bitmap 存储 的字符 ==> b'` \x00\x0...

2020-04-25 17:12:15 148

原创 Redis源码4.0阅读日记 (2)字典dict

dict.h哈希表节点typedef struct dictEntry { void *key; //键 union { void *val; uint64_t u64; int64_t s64; double d; } v; // 值 struct dictEntry *next; // 指向下...

2019-12-26 10:44:10 98

原创 Redis源码4.0阅读日记 (1)内存管理 zmalloc

Redis源码4.0阅读 之 内存管理 zmalloc本文分析了 Redis 的 zmalloc.c 和 zmalloc.h 代码全文注释,分析实现

2019-12-11 17:31:11 189

原创 191. 位1的个数

题目描述编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 '1'。示例 2:输入:000000000000000000000000100...

2019-12-09 09:07:18 103

原创 Python3 列表解析和迭代器的内存占用过程分析

列表解析表达式先来看一个例子~ Leetcode 171 题解法很简单: sum = 0 for i in range(0, len(s): sum += 26 ** (len(s) - 1 - i) * (ord(s[i]) - ord("A") + 1) return sum那么,这里也可以这么写。 return sum...

2019-12-05 16:22:12 615

原创 56. 合并区间 python3

给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。c...

2019-12-03 14:14:52 145

原创 文件名路径有/ 导致目录不存在的问题 No such file or directory

在目录中存在/ 时,读取或写入就会报错 FileNotFoundError: [Errno 2] No such file or directory解决办法如下:title = "ELK CI/CD 部署实践2017-11-06 by leon.pdf"#替换以下的 半角符号 --> 全角符号title = title.replace('/', '/') \ .repl...

2019-11-29 15:12:54 1282

原创 Python3 设置 profile 环境变量

服务器环境 centos7.3 ,由于服务器上profile设置了代理代理仅限访问 A 网站,这时,我需要在我的 Python 脚本中访问 B 网站 ,就会因为代理的原因 无法访问B网站。总不能每次都运行脚本前去 修改 profile 文件 删除代理吧?在python中删除代理 / 修改环境变量OS模块 system (Failed)发现依然是拒绝访问,说明不能通过这种方式(...

2019-11-21 10:12:26 732

原创 一篇最全整理,教会你离线部署Python3和pip包

本文介绍离线安装(无网模式)的坑点1 重新安装 openssl先把系统自带的这些,卸载/删除#编译安装opensslhttp://www.openssl.org/source/ cd /openssl-1.1.1sudo ./config shared --prefix=/usr/local/openssl --openssldir=/usr/lib/opensslmake &...

2019-11-10 10:08:14 526

原创 Python 设置 IP 代理 访问网页 ( 用户名密码验证代理 )

需求如下:待爬取的页面想爬取的部分查看源码,在Js中有返回正常访问时候,使用Firefox代理插件 FoxyProxy 设置代理才能访问到的。本来想用 Selinum打开 FireFox,不过卡在了插件,和插件自动 填充账号密码这块儿,后来发现直接用 urlib 做网络请求 ,然后bs4 解析更方便, 代码如下:import urllib.request as rproxy...

2019-10-24 09:26:22 1549

转载 org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apach

之所以转载这篇文章是因为这个问题, 困扰了我两天的时间,而且百度出来的结果全都是 help--Install New Software ,没有一个可以用的,在我绝望的时候,找到了解决办法。有时候创建maven项目的时候会出错 POMorg.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project....

2019-09-29 09:48:17 83

原创 PySpark DataFrame 操作

SQl 获取 DF 操作# coding:utf-8from pyspark.sql import SparkSessionfrom pyspark.sql.utils import AnalysisExceptionif __name__ == '__main__': spark = SparkSession.builder.enableHiveSupport().appNa...

2019-09-25 10:14:03 248

原创 PySpark Rdd操作

from pyspark import SparkContext, SparkConfconf = SparkConf().setAppName("rdd_trans")sc = SparkContext(conf=conf)print(sc.version)# 创建rdd = sc.parallelize([2, 3, 4, 5, 6, 6, 6, 6, 6])rdd1 = r...

2019-09-23 15:22:39 192

原创 Hive常用表操作语句

常用操作简单表# 创建create table erp_leon_stu_simple (name string, age int) # 查看表存储位置 desc formatted erp_leon_stu_simple2. 外部表# desc formatted erp_leon_stu_simplecreate external table erp_leon_stu...

2019-09-19 15:43:40 73

原创 Python中的GIL和异步Asyncio、Futures

一 、基本概念以下概念都是在 Python 环境下Sync 同步编程Async 异步 ,是指在外观上看来程序不会等待,而是找出可执行的操作/任务/线程 继续执行Asyncio 单个主线程 多个不同的任务 task ,这些 future 对象 被 event loop 对象控制,就好像多线程版本的多个线程GIL 全局解释器锁 Global Interpret LockTask ...

2019-08-14 11:05:14 431

原创 Python 中的 迭代器 和 生成器

生成器验证数学表达式"""验证 (1 + 2 + 3 + 4 + 5 + ...) ^ 2 = 1^3 + 2^3 + 3^3 + 4^3 + 5^3 + ...# 分别用生成器 生成 左边 1次方 和右边 3次方 的sum"""def generator(k): i = 1 while True: yield i ** k i ...

2019-08-02 08:58:37 80

原创 稍微不那么简单,看看Python 中的 List 和 Tuple

简单看看 Python 中的 List 和 TupleListl = []print(l,l.__sizeof__())# l 初始化40字节l.append(1)# 增加一个元素后,(注意,这里是append之后,)预分配了 4个 元素的32 个字节print(l,l.__sizeof__())# 72l += ([2, 3, 4])print(l,l.__sizeof__(...

2019-07-22 14:45:06 93

train-data.zip

leon验证码标注集 https://siwei.blog.csdn.net/article/details/107997005

2020-08-14

prometheus.tar.gz

Prometheus+node-exporter+Grafana-yaml Prometheus+node-exporter+Grafana-yaml

2020-11-24

Siwei0204的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

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

TA关注的人 TA的粉丝

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