kafka脚本命令、配置解读

文章目录1.常用命令总结1)kafka-topic.sh 脚本相关常用命令,主要操作 Topic(主题增删查改)2)kafka-consumer-groups.sh 脚本常用命令,主要用于操作消费组相关的()3)kafka-consumer-offset-checker.sh 脚本常用命令,用于检查 OffSet 相关信息。(注意:该脚本在 0.9 以后可以使用 kafka-consumer-groups.sh 脚本代替,官方已经标注为 deprecated (v.对…表示极不赞成; 强烈反对 )了)4)k
分类: 其他 发布时间: 11-30 05:04 阅读次数: 0

通过一些问题深入了解kafka:①如何选择合适分区数、(未完待续10/31)

文章目录补充:关于参数解读,请看这个链接一、如何选择合适的分区数1.1 性能测试工具(这里用kafka脚本去测试)1)生产者举例:向一个只有一个分区和一个副本的主题topic-1中发送100W条信息,并且每条信息大小为1MB,生产者对应的acks参数为12)生产者脚本参数说明3)消费者脚本4)消费者参数说明1.2 分区数越多吞吐量就越高吗1)背景:2)测试原理3)测试环境4)测试脚本命令5)测试结果6)总结:1.3 分区数的上限(跟文件描述相关)1.4 考量因素二、三、补充:关于参数解读,请看这个链接传
分类: 其他 发布时间: 11-30 05:04 阅读次数: 0

kafka高性能原因分析(想到就写,持续更新,10/31):顺序读写、页缓存、零拷贝

文章目录1.顺序读写磁盘2.页缓存(把磁盘中的数据存到内存中,把对磁盘的操作变为对内存的访问)3.零拷贝技术1.顺序读写磁盘各个存储介质的速度层级顺序读写和随机读写对比有关测试结果表明,一个由6块7200r/min的RAID-5阵列组成的磁盘簇的线性(顺序)写入速度可以达到600MB/s,而随机写入速度只有100KB/s,两者性能相差6000倍。操作系统可以针对线性读写做深层次的优化,比如预读(read-ahead,提前将一个比较大的磁盘块读入内存)和后写(write-behind,
分类: 其他 发布时间: 11-30 05:04 阅读次数: 0

磁盘I/O流程的场景分类和linux系统中的I/O调度策略

文章目录一、磁盘I/O的场景应用二、发起I/O请求的步骤可以表述为如下的内容(以最长链路为例)1)写操作(异步)2)读操作(同步)3)I/O请求处理三、linux系统中的I/O调度策略1)NOOP2)CFQ3)DEADLINE4)ANTICIPATORY5)文件层面对kafka的影响一、磁盘I/O的场景应用一般磁盘I/O的场景有以下四种(1)用户调用标准C库进行I/O操作,数据流为:应用程序buffer→C库标准IObuffer→文件系统页缓存→通过具体文件系统到磁盘。(2)用户调用文件 I/O
分类: 其他 发布时间: 11-30 05:03 阅读次数: 0

安装kafka和zookeeper遇到的坑

文章目录一、找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain-新版本zookeeper易犯错误一、找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain-新版本zookeeper易犯错误解决方法:去zk的官网下载,别去github上下载release版本原因:1)总结:3.5.5之前也去官网下载tar包,3.5.5之后带有bin名称的包才是我们想要的下载可以直接
分类: 其他 发布时间: 11-30 05:03 阅读次数: 0

linux和windows查看和修改环境变量

文章目录一、Linux:二、window:(set的用法与linux中export的用法类似,不过Windows中显相应不是$变量名,而是%变量名%)三、linux将指令加入开机启动一、Linux:1、查看所有环境变量的指令方法1:$:export (export命令作用是显示、设置或删除linux环境变量;)方法2:$:env2、查看某个指定的环境变量方法1:$:export PATH方法2:$:echo $PATH3、修改设置某个环境变量:1)临时修改某个环境变量,下次开
分类: 其他 发布时间: 11-30 05:03 阅读次数: 0

zookeeper的C客户端API介绍及编译测试程序(未完待续11/01,缺测试程序)

文章目录一、初始化、销毁 Zookeeper 句柄1)初始化zookeeper句柄2)销毁zookeeper句柄二、辅助函数1)设置日志等级2)获取客户端的 session id,只有在客户端的当前连接状态有效时才可以。3)返回当前会话的超时时间,只有在客户端的当前连接状态有效时才可以。4)获取 Zookeeper 句柄的上下文。5)设置 Zookeeper 句柄的上下文。6)设置 Zookeeper 句柄的全局监视器回调函数,该函数返回全局监视器的旧回调函数。7)返回当前 Zookeeper 连接的套接字
分类: 其他 发布时间: 11-30 05:03 阅读次数: 0

Zookeeper的客户脚本及命令、ACL、zk集群搭建

文章目录1)启动zookeeper2)用客户端连接服务器3)创建节点4)删除节点5)读取节点6)修改节点1)启动zookeeperlinux[root@localhost bin]# sh zkServer.sh startZooKeeper JMX enabled by defaultUsing config: /usr/zookeeper/zookeeper-3.4.9/bin/../conf/zoo.cfgStarting zookeeper ... STARTED[root@loc
分类: 其他 发布时间: 11-30 05:02 阅读次数: 0

脚本一键安装JDK或JRE配置(大致是这样,有些小错误,以后再修改)

文章目录1.将下载好的jdk安装包和jre安装包拷贝到c盘根目录下。2.在c盘根目录下新建一个txt文件,文件名为JDKinstall,文件后缀修改成.bat后缀。3.右键点击刚刚新建好的JDKinstall.bat,点击“编辑”用记事本打开,复制以下内容到里面,并保存退出。4.在c盘根目录下再新建一个txt文件,文件名为JREinstall,文件后缀修改成.bat后缀。5.右键点击刚刚新建好的JREinstall.bat,点击“编辑”用记事本打开,复制以下内容到里面,并保存退出。6.依此 以管理员身份运行
分类: 其他 发布时间: 11-30 05:02 阅读次数: 0

注册zookeeper为windows的服务

文章目录1.配置修改2.测试zk是否能正常启动3.服务注册1)把prunsrv.exe、prunmgr.exe复制到zookeeper的bin路径下2)新建一个install.bat文件,用于注册服务, 可以用记事本编辑3)新建一个zkServerStop.cmd文件,用于停止服务, 可以用记事本编辑4)4 配置zookeeper的环境变量(不会请自行百度),新建ZOOKEEPER_HOME和ZOOKEEPER_SERVICE,ZOOKEEPER_HOME是zookeeper的bin路径,后面是注册到Win
分类: 其他 发布时间: 11-30 05:02 阅读次数: 0

windwos批处理脚本命令及常用指令(未完待续11/03)

文章目录1.CMD获取当前目录的绝对路径2.windwos查看哪个端口被占用1)查找所有运行的端口2)查看被占用端口对应的 PID3)查看指定 PID 的进程4)结束进程3.查看JDK的安装路径,可以输入java -verbose,会返回很多信息,其中就包含了JDK的安装路径4.使用批处理命令设置环境变量1.CMD获取当前目录的绝对路径新建Path.bat文件,内容如下:@echo offecho 当前盘符:%~d0echo 当前盘符和路径:%~dp0echo 当前批处理全路径:%~f0ech
分类: 其他 发布时间: 11-30 05:02 阅读次数: 0

SVN Update Error Please execute the ‘Cleanup‘ command 解决方案

问题SVN Update Error: Please execute the ‘Cleanup’ command详细描述使用SVN更新文件时,会碰到失败的情况(可能因为上次拉取被强制中断等操作),提示需要cleanup ,但是你clean up时又提示文件夹已经locked,这时候你又去release lock,但是还是失败,提示 Please execute the ‘Cleanup’ command.(TMD真难用)解决方案显然这个无法操作因为是svn文件被锁需要释放,但是手动.
分类: 其他 发布时间: 11-30 05:01 阅读次数: 0

linux查看进程开多少线程相关命令

文章目录一、PS二、Top三、Htop一、PS在ps命令中,“-T”选项可以开启线程查看。下面的命令列出了由进程号为的进程创建的所有线程。ps -T -p <pid>“SID”栏表示线程ID,而“CMD”栏则显示了线程名称。二、Toptop命令可以实时显示各个线程情况。要在top输出中开启线程查看,请调用top命令的“-H”选项,该选项会列出所有Linux线程。在top运行时,你也可以通过按“H”键将线程查看模式切换为开或关。要让top输出某个特定进程并检查该进程
分类: 其他 发布时间: 11-30 05:01 阅读次数: 0

游戏专辑一 3D游戏碰撞之体素内存、效率优化(未完待续10/14)

文章目录一、背景介绍二、体素生成三、体素内存优化1)体素合并的原理2)体素合并的算法3)地面处理4)水的处理5)范围控制6)内存自管理7)体素内存优化算法的结果8)体素效率优化四、NavMe生成五、行走、轻功、摄像机碰撞本篇文章是腾讯游戏开发精粹的读书总结一、背景介绍二、体素生成三、体素内存优化1)体素合并的原理2)体素合并的算法3)地面处理4)水的处理5)范围控制6)内存自管理7)体素内存优化算法的结果8)体素效率优化四、NavMe生成五、行走、轻功、摄像机碰撞...
分类: 其他 发布时间: 11-30 05:01 阅读次数: 0

正文十二:rpc的原理和应用(未完待续,11/14)

文章目录一、RPC原理1)常见RPC框架2)完整RPC框架3)流程4)RPC核心功能框架5)RPC 核心之功能实现(1)服务寻址(2)序列化和反序列化(3)RPC 核心之网络传输协议6)REST和RPC的区别二、RPC核心要素三、BRPC应用RPC:remote procedure call远程系统调用一、RPC原理1)常见RPC框架2)完整RPC框架3)流程(1)服务器注册业务(2)客户端在对应服务器探测业务(3)负载均衡处理客户端和服务器的处理4)RPC核心功能框架
分类: 其他 发布时间: 11-30 05:00 阅读次数: 0

用redis的订阅/发布机制来做1)进程间通信、2)操作hiredis库、3)异步处理hiredis订阅

文章目录一、往1这个通道发布一条信息abc,这里是开启通道二、订阅1这个通道的信息(这里别的窗口再输入了一次redis-cli publish 1 abc)三、一些细节1)一个订阅者可以订阅多个频道(这里订阅订阅了2和3通道)2)订阅者(收消息):会一直阻塞等待新消息3)发布消息会发给所有订阅者四、hiredis库实现发布订阅1)初步的代码2)打印订阅的信息3)开启订阅,然后打印收到的发布的信息一、往1这个通道发布一条信息abc,这里是开启通道二、订阅1这个通道的信息(这里别的窗口再输入了一次redi
分类: 其他 发布时间: 11-30 05:00 阅读次数: 0

协程的学习二:C风格写的协程(以云凤的协程为例子讲解)

文章目录一、测试代码讲解1)main函数主流程2)main测试代码示例二、协程头文件coroutine.h1)代码作用讲解①协程执行函数②创建协程调度器③关闭协程调度器④创建协程⑤协程堆栈恢复⑥判断协程yield出去后是否准备resume回来⑦coroutine_running(struct schedule *)不知道什么作用⑧协程让出CPU占用(yield)2)代码实体三、协程函数实现文件coroutine.c0)备注背景知识1)错误码及结构体①struct args②struct coroutine③
分类: 其他 发布时间: 11-30 05:00 阅读次数: 0

游戏思考系列02:技能伤害计算流程(不涉及buff)

文章目录一、题外话:1)技能伤害和特效表现的分离二、流程(举例:逻辑和业务分开:技能可以分为四个阶段)`举例`:LOL日炎灼烧效果,每0.5s产生一次伤害1)客户端开始施法,技能前摇。此时通知服务器同步进入施法流程2)客户端开始分段施法,每一阶段都要和服务器做同步。主要是为了防外挂,比如一些穿墙挂、瞬移挂等。3)在施法过程中或者施法结束的时候,服务器进行同步的伤害计算发送给客户端,然后客户端显示一些伤害的效果和伤害的数字等4)施法结束,客户端和服务器同步三、补充1)这里客户端不需要每一帧和服务器同步,只需要
分类: 其他 发布时间: 11-30 05:00 阅读次数: 0

lua的坑(持续更新,每日更新两篇,11/17),更新到14个

文章目录1.把数值转成16进制的格式2.去掉商里的小数转载自:https://blog.csdn.net/weixin_43994445/article/details/1091352151.把数值转成16进制的格式print(string.format('%x', 1221197823))输出:48c9ffff2.去掉商里的小数背景:用"/"来做除法, 得到的结果中总会带有小数, 像这样:print(700 / 100)print(701 / 100)输出:7.07
分类: 其他 发布时间: 11-30 04:59 阅读次数: 0

C/C++遇到的坑(持续更新,每日更新两篇,11/24)

文章目录1.基础问题1.1 运算符优先级2.编译问题3.库函数问题4.文件处理问题5.类和对象问题6.内存使用问题7.多线程问题8.性能问题9.其他问题9.1 中文截断成乱码问题摘录自《从缺陷中学习C/C++》1.基础问题1.1 运算符优先级//to get 2*n+1int func(int n){ return n<<1 + 1;}后果上述代码中的函数func本意是期望计算2n+1,但程序实际运行结果是4n。分析这段代码使用左移1位来代替乘以2的运
分类: 其他 发布时间: 11-30 04:59 阅读次数: 0