原因分析: 当某个consumer宕机时,消费位点(例如2s提交一次)尚未提交到zookeeper,此时Kafka集群自动rebalance后另一consumer来接替该宕机consumer继续消费,因为先前宕机consumer最近的消费位点尚未提交,导致数据重复消费 突发流量.跨机房(网络请求延时高).网络不稳定,出现丢包现象 业务逻辑有偏差 常见丢包现象如突然掉线.页面卡住.视频卡住.图片加载卡主等,使用Ping测量丢包的最佳方法是向一个IP地址发送大量的Ping命令,然后检查没有应答的那些…
Hanlp在离线环境下的安装我是没有尝试过的,分享SunJW_2017的这篇文章就是关于如何在离线环境下安装hanlp的.我们可以一起来学习一下! HanLP是一款优秀的中文自然语言处理工具,可以实现包括分词.词性标注.实体识别在内容诸多功能,详情见其项目主页.另外,该工具包还提供了python3的接口,在线安装很方便,但有时需要部署在内网机等没有网络环境的机器上,比较繁琐,整理步骤如下: 1.安装jpype1,这是pyhanlp的依赖包,可以下载编译好的.whl文件,地址在这,选择对应自己py…
一.简介 Kafka 是一个实现了分布式的.具有分区.以及复制的日志的一个服务.它通过一套独特的设计提供了消息系统中间件的功能.它是一种发布订阅功能的消息系统. 1.名词介绍 Message 消息,就是要发送的内容,一般包装成一个消息对象. Topic 通俗来讲的话,就是放置"消息"的地方,也就是说消息投递的一个容器.假如把消息看作是信封的话,那么 Topic 就是一个邮箱 Partition && Log Partition 分区,可以理解为一个逻辑上的分区,像是我们…
遇到有项目要在内网环境下安装python项目,所以空余时写了自动化部署python环境和python项目的脚本,由于项目涉密,这里仅提供自动化部署python环境的shell脚本,包括openssl的版本判断和安装 注 需要将相关安装包放在data目录下,或者修改脚本中的路径 没找到上传附件的地方,那就贴下路径好了 openssl的:1.0.2及上版本即可,脚本会自己判断的,若不是内网环境的话把下面这句话替换进去就行,用不着下载下来再放进去 wget https://www.openssl.or…
内网服务器不能上网,但是需要在上面安装python-package 通过另外一台能上网的主机B 1. 下载需要离线安装的Packages 在B上执行如下命令: 安装单个Package $ pip install <package> --download /tmp/offline_packages 安装多个Packages $ pip install --download /tmp/offline_packages -r requirements.txt 2. 将下载好的Packages拷贝至内…
环境 有网的机器(192.168.19.222):rhe65,python2.7.13,pip9.0.1 离线机器(192.168.19.203):rhe65,python2.6 FTP(192.168.20.25):有已经编译好的python2.7.13的zip包 离线安装思路 准备安装包,借助pip下载依赖环境到指定路径 将下载的包压缩上传到离线环境 在离线环境准备同有网机器的python环境(python2.7.13,pip9.0.1) 开始安装 有网机器 #从豆瓣源下载pip和ansib…
本文环境 Redhat Linux 7.3,操作系统采用的最小安装方式. Kubernetes的版本为 V1.10. Docker版本为18.03.1-ce. etcd 版本为 V3.3.8. 1. 准备规划 1.1 Node 规划 主机名 地址 角色 devops-101 192.168.0.101 k8s master devops-102 192.168.0.102 k8s node 1.2 Network 网络 1.3 安装文件 Kubernetes安装需要以下二进制文件: etcd d…
Red Hat Enterprise Linux 7 (RHEL 7) 是第一个支持从前一个 RHEL 主发行版本(RHEL 6)进行原位(in-place)升级的 RHEL 主版本.原位升级(in-place upgrade)提供了通过覆盖已存在的操作系统来把系统升级到一个新的主 RHEL 版本的方法. 原位升级(in-place upgrade)仅支持最新版本的6.x系统升级到最新的7.x统.需要准备低版本的升级工具以及RHEL7.3系统镜像. preupgrade-assistant--.…
运行以下命令 1.tzselect --命令确定时区 2.timedatectl set-timezone Asia/Shanghai  --设置系统时区为上海 3.timedatectl set-ntp no  --关闭时间动态更新 4.timedatectl set-time "YYYY-MM-DD HH:MM:SS"  --修改时间 5.timedatectl set-ntp yes --开启时间动态更新 以下为修改硬件时间 6.hwclock --show --查看硬件时间 7…
先看下效果. 这是一个很无聊的功能....首先说下,我做这个功能的初衷并不是为了实现在控制台中显示图片...(这貌似很无聊) 而是因为自己想做用C做一个游戏:http://q.cnblogs.com/q/65778/ 当然,这是一个艰难而且漫长的过程,我决定只参考下别人的代码而不完全搬运,顺便练下手,因为自己是JAVA程序员,学C貌似有点难度. 我打算从画地图开始做起. 扯远了,开始吧. SOIL(Simple OpenGL Image Library) 顾名思义,简单的OpenGL图片库 其实…
Windows环境下32位汇编语言程序设计(典藏版)(含CD光盘1张)(年,经典再现!) 罗云彬 著 ISBN 978-7-121-20759-4 2013年7月出版 定价:99.00元 756页 16开 编辑推荐 畅销10年,经典再现! 本书第1版出版至今已经10年多了,第3版出版至今也已经3年多了,期间笔者收到了大量的读者来信,对本书提出了各种意见和建议,综合各方面的考虑,典藏版做了以下改进. ●     对第3版中已知的错误进行了修正,包括一些排版错误.错别字和例子中的Bug. ●    …
4.1. 如何在Windows环境下开发Python 4.1. 如何在Windows环境下开发Python 4.1.1. Python的最原始的开发方式是什么样的 4.1.1.1. 找个文本编辑器,新建个.py文件,写上Python代码 4.1.1.2. 打开Windows的cmd,并且切换到对应的python脚本所在目录 4.1.1.2.1. 方法1:手动打开cmd,并cd到对应路径 4.1.1.2.2. 方法2:通过Notepad++的Open current dir cmd 4.1.1.3…
LInux个人开发过程中可以直接连到公网,所以想要安装各种软件时直接安装即可,但工作环境往往很让人头疼. 如果应用场景是没法链接外网的,公司内部绝大多数情况下是在自己的局域网下玩,这时候想装个软件是相当困难,不像Windows下载完安装包就能直接安装使用,Linux的各种软件都是轻量级的,各种依赖关系可以折腾到没脾气;为了能顺利安装当前发行版的软件(这里只说使用yum包管理的发行版),在离线环境下可以尝试配置离线yum源;就相当于有了自己的离线软件仓库,用yum install命令安装可以省去不…
defer和async特性相信是很多JavaScript开发者"熟悉而又不熟悉"的两个特性,从字面上来看,二者的功能很好理解,分别是"延迟脚本"和"异步脚本"的作用.然而,以defer为例,一些细节问题可能开发者却并不一定熟悉,比如:有了defer特性的脚本会延迟到什么时候执行:内部脚本和外部脚本是不是都能够支持defer:defer后的脚本除了会延迟执行之外,还有哪些特殊的地方等等.本文结合已有的一些文章以及MDN文档中对两个特性的阐述,对de…
说明 1.git上的配置地址可能都是本地环境,提交到git server后怎么来使用发布不同环境? 2.关于EFCore本地数据库有更新的情况 添加了 Migrations文件 怎么在构建的时候去更新不同环境下的数据库? 下面就来解决这两个问题 1.在测试服务器上分别建立开发.测试 两个目录用于放.NetCore发布文件(发布的.NetCore 用IISHosting方式) 2.在每个目录下建一个对应的配置文件(服务器环境下的配置文件,用作替换) 如下:发布2个站点(授权认证(Identitys…
参考资料:PM3官方Wiki 因为国内网络上大多是在Kali系统上使用PM3的教程(链接1.链接2.链接3),而这些教程的步骤对于Ubuntu系统并不完全适用.所以写下本文,记录我个人的安装经历. 本教程与官方Wiki相比省略了部分步骤,仅验证过在全程root用户操作时可行,建议按照官方英文教程进行安装 官方Wiki中的刷写固件步骤(Flashing XXX)非必须且风险较大,除非有需求,否则不要轻易刷固件,容易变砖 一.安装必要软件包 在终端中依次执行以下命令 sudo apt update…
最近遇到了一个很奇葩的问题,我编写了一个.net core程序读取多个数据库数据源,进行数据同步处理.该程序在windows环境下运行完全正常,但在linux环境下运行报异常,提示 System.Data.SqlClient.SqlException: Connection Timeout Expired. The timeout period elapsed during the post-login phase. 更奇葩的地方在于在linux环境下,两个数据库,一个读取正常,一个读取异常.我…
通常情况下,我们的线上的服务在迁移到k8s环境下的时候,都是采用平滑迁移的方案.服务治理与注册中心等都是采用原先的组件.比如spring cloud应用,在k8s环境下还是用原来的一套注册中心(如eureka),服务治理(hystrix,ribbon)等.但是当我们开发新的应用时,我们是可以借助于sping-cloud-kubernetes组件为我们提供的服务发现.负载均衡等来摈弃像eureka这样的注册中心.本文主要通过构建两个spring cloud 服务来演示spring-cloud-ku…
因为涉及到进程间互斥与通信问题,因此默认情况下Python中的logging无法在多进程环境下打印日志.但是查询了官方文档可以发现,推荐了一种利用logging.SocketHandler的方案来实现多进程日志打印. 其原理很简单,概括一句话就是说:多个进程将各自环境下的日志通过Socket发送给一个专门打印日志的进程,这样就可以防止多进程打印的冲突与混乱情况. 本文主要记录下SocketHandler真实的用法情况: 1 时序图 简单说明下逻辑:主进程(MainProcess)启动一个专门打印…
在实际开发时经常需要把一些配置信息写在配置文件,比如mysql的主机地址.端口号.用户名和密码等.另外,在开发代码时可能用一套配置参数,而部署到测试环境时又会用另一套配置参数,测试完毕再部署到线上环境时,又需要使用线上环境下的另一套参数.因此,实际开发中面临着如何给工程添加多个环境下的配置文件.且要保证不同环境下能自动使用不同的配置文件的问题. spring提供了spring.profiles.active参数,通常情况下,这个值我们会设置为dev.test和online中的一个,分别代表开发环…
为了解决传统应用升级缓慢.架构臃肿.不能快速迭代.故障不能快速定位.问题无法快速解决等问题,云原生这一概念横空出世.云原生可以改进应用开发的效率,改变企业的组织结构,甚至会在文化层面上直接影响一个公司的决策,可以说,云时代的云原生应用大势已来.在容器领域内,Kubernetes已经成为了容器编排和管理的社区标准.它通过把应用服务抽象成多种资源类型,比如Deployment.Service等,提供了一个云原生应用通用的可移植模型.在这样的背景下,我们如何在云原生的环境下实践更高效的DevOps来达…
作者:炸鸡可乐 原文出处:www.pzblog.cn 一.问题描述 经常有些面试官会问,是否了解过 HashMap 在多线程环境下使用时可能会发生死循环,导致服务器 cpu 100% 的线上故障? 关于这个问题,很多年前,在淘宝内网里就有很多的程序员发过这种帖子说一个CPU 被100%了,原因竟是多线程环境下使用 HashMap 造成的死循环,并且这个事发生了很多次. 虽然 Java 官方明确表示,在多线程环境下不推荐使用 HashMap,但是对于这种问题,小编其实也比较意外,如果不是深入的去了…
K8S(18)容器环境下资源限制与jvm内存回收 目录 K8S(18)容器环境下资源限制与jvm内存回收 一.k8s中的java资源限制与可能的问题 方案1:通过JVM的Xms和Xmx参数限制 方案2:通过容器的requests和limits参数控制 方案3:容器参数和JVM参数共用 二.解决问题三板斧 1)采用JDK8-191以上的jdk版本 2)使用JVM新的资源限制参数且不相等 3)配置容器的资源限制参数 一.k8s中的java资源限制与可能的问题 与以前单机跑单服务的情况相比,在k8s.…
常拿自己的电脑常用来测试各种Bug,所以始终奋斗在XP.IE6的环境下.让我们在如此级别的环境下,开始Node之路吧~~ 在过去,Node.js一直不支持在Windows平台下原生编译,需要借助Cygwin或MinGW来模拟POSIX系统,才能编译安装.如果学的早,可能会体会比较深刻啊! 幸运的是2011年6月微软开始与Joyent合作移植Node.js到Windows平台上(http://www.infoq.com/cn/news/2011/06/node-exe ),这次合作的成果最终呈现在…
原文网址:http://www.metsky.com/archives/525.html 前面介绍Windows下Android 开发环境配置,主要是面向JAVA开发环境,对只做APK上层应用开发人员来讲,基本够用了,由于Linux系统的权限限制和Android封装架构限制,很多涉及底层设备.接口.驱动控制的应用开发,不得不使用到本文的NDK开发环境(基于Android源码或内核源码修改),开发语言使用C/C++,NDK开发更接近于Linux开发,需要更多关于Linux应用编程知识.本文就介绍一…
前面介绍Windows下Android 开发环境配置,主要是面向JAVA开发环境,对只做APK上层应用开发人员来讲,基本够用了,由于Linux系统的权限限制和Android封装架构限制,很多涉及底层设备.接口.驱动控制的应用开发,不得不使用到本文的NDK开发环境(基于Android源码或内核源码修改),开发语言使用C/C++,NDK开发更接近于Linux开发,需要更多关于Linux应用编程知识.本文就介绍一下NDK环境搭建及基础编程思想. 本文演示环境:Windows 7 Ultimate+Cy…
一.编译安装xen4.6过程 操作系统使用ubuntu16.04,通过下载xen4.6的源代码并编译安装来创建xen4.6环境. 一.依赖包的安装 sudo apt-get install gcc make binutils zlib1g-dev python-dev sudo apt-get install libncurses5-dev libcurl4-openssl-dev libx11-dev sudo apt-get install uuid-dev libyajl-dev liba…
freeSSHD在windows环境下搭建SFTP服务器 0 建议现在windows环境下安装cygwin,否则在windows环境下cmd模式使用不了sftp去连接,可以利用win scp去测试连接 1 下载freeSSHD.exe 2 安装 傻瓜式一键安装 安装过程中会提示“提示私有秘钥没安装”,点击确认,安装目录下会多出几个文件. 3 运行方式(最好以管理员方式运行) 4 设置 1> 添加用户 2> 设置SSH服务器ip,端口等信息 3>设置登录授权选项,其中Public key…
google protocol buffer的使用和原理 概况: Protocol Buffers(也就是protobuf)是谷歌的语言中立的.平台中立的.可扩展的用于序列化结构化的数据: windows环境下的安装与使用: protocol编译器 安装.安装protocol编译器,用来编译.proto文件: 下载.路径:https://github.com/google/protobuf/releases.里面有windows版的:protoc-3.6.1.win32.zip. 安装. 下载完…