- 博客(22)
- 收藏
- 关注
原创 Rides Cluster
Rides Cluster中使用了Gossip协议进行集群信息同步1.节点间通信内容消息类型:#define CLUSTERMSG_TYPE_PING 0 /* Ping */#define CLUSTERMSG_TYPE_PONG 1 /* Pong (reply to Ping) */#define CLUSTERMSG_TYPE_MEET 2 /* Meet "let's join" message */#def...
2022-02-27 21:07:08 232
原创 Kafka 原理及代码分析
Kafka版本3.0.01.LogSegmentappend():如参:startOffset: Long:maxSize: Int:maxPosition: Long = size:minOneMessage: Boolean = false:read():recover():
2022-01-16 14:52:02 1051
原创 HDFS (二) DataNode
DataNode:BlockPoolManager:成員:startAll():啓動所有BPServiceActor綫程List<BPOfferService>:保存所有BPOfferService對象,每個對象對應一個BlockPoolId,每個BlockPoolId對應一個NameData服務。BPOfferService:BPServiceActor:主要作用:保持和對應NameNode之間的心跳。成員:DatanodeProtocolClientSide
2021-05-28 12:11:07 138
原创 HDFS (一) NameNode
NameNode:Namesystem:FSDirectory:成员INodeDirectory:rootDir , 目录跟节点,继承自INode, 跟isFile判断是目录还是文件INodeMap:inodeMap: 保存根目录下所有Inode节点,通过INodeId查找INode。主要作用:管理文件路径FSImage:包含FSEditLog类。主要作用:管理image和edit文件读取fsimage文件:loadFSImageFile()保存fs...
2021-05-28 12:10:50 168
原创 HDFS (三) 联邦,HA
FederationMetrics:ViewFileSystem:主要作用:维护和多个NameNode集群文件路径之间的映射关系。在用户层面不需要区分多个集群。例配置:<configuration> <property> <name>fs.viewfs.mounttable.test.link./user</name> <value> hdfs://slave1:9000/user </val...
2021-05-28 12:10:38 132
原创 YARN (一) ResourceManager
ResourceManager:RMActiveServices:成员:applicationMasterLauncher: 生成Launch事件,与对应的nodemanager通信,让其准备启动的新的AM的Container。ApplicationMasterService:applicationMasterLauncher:成员:LauncherThread:启动线程,从队列中取出相应RMAppAttempt, 通知NodeManager,handle(...
2021-05-28 12:10:19 117
原创 ptmalloc原理
主分配区:内存申请:可用通过mmap和brk获取系统内存。数量:一个进程只能有一个主分配区非主分配区:内存申请:只能通过mmap获取系统内存。内存申请libc_malloc():1.获取分配区,如果发现没有可用分配区则创建新的分配区(heap_info)。 一个分配器只能被一个线程获取,并加锁,分配结束前,这个分配区不能被其他线程使用。2.(1)如果是主分配区,且分配内存大小小于M_MMAP_THRESHOLD,则去malloc_state->bins中查找已有的空闲.
2021-05-28 12:08:00 300
原创 Linux 多线程性能分析(基于单core,多core)
看网上很多关于多线程的讨论,但是感觉都没什么比较好的例子,于是我做了关于多线程与单线程直接性能比较,并且根据cpu core具体分析并附上代码,首先放上实验结果时间用timeval 统计的可能有少许偏差不过不影响整体结果,clock多线程是有问题的不阻塞的情况下一共循环2100000000例1.一个线程 5 seconds例2.三个线程 绑定到同一个core(每个线程70000000...
2019-09-17 20:43:22 766
原创 log4cplus代码详解(一) configureAppenders
log4cplus-1.2.1通过代码可以清楚的了解配置文件是如何生效的log4cplus.logger.logClient=INFO, logClientlog4cplus.appender.logClient=log4cplus::SocketAppenderlog4cplus.appender.logClient.host=10.1.14.115log4cplus.append...
2019-09-16 20:50:55 580
转载 管理处理器的亲和性(affinity)
管理处理器的亲和性(affinity) https://www.ibm.com/developerworks/cn/linux/l-affinity.htmlhttps://www.cnblogs.com/swey/p/4469722.html wait pid : https://www.cnblogs.com/LUO77/p/5804436.html...
2018-11-27 13:35:42 130
原创 编译DPDK 之前一定要安装 numactl,否则会出现找不到numa头文件
yum install numactlyum install numactl-libsyum install numactl-devel
2017-11-16 22:05:34 9424
原创 dpdk c++ cmake
cmake_minimum_required (VERSION 2.6)set(CMAKE_CXX_FLAGS "-msse4.2")#include_directories(/home/*****/dpdk/dpdk/x86_64-native-linuxapp-gcc/include)include_directories(${CMAKE_CURRENT_SOURCE_
2017-11-15 21:43:25 1380
原创 Error reading from file descriptor 13: Input/output error
when run dpdk pmd meet Error reading from file descriptor 13: Input/output error,change code lib/librte_eal/linuxapp/igb_uio/igb_uio.c /* fall back to INTX */ case RTE_INTR_MODE_LEG
2017-11-14 21:39:13 1719
原创 if there is a error "SSSE3 instruction set not enabled"
add "set(CMAKE_CXX_FLAGS "-msse4.2")" to CMakeLists.txt
2017-11-13 23:28:04 1736 1
原创 dpdk"SSSE3 instruction set not enabled" while building dpdk.
c++ 调用dpdk会出现错误:"SSSE3 instruction set not enabled" while building dpdk.make config T=x86_64-native-linuxapp-gccmake install T=x86_64-native-linuxapp-gccmake config T=x86_64-native-linuxapp-
2017-11-13 00:16:07 1003
原创 DPDK install and test
1.DownLoad dpdk,version 16.07. cd ....../dpdk-16.072.steup environment: export RTE_SDK=/home/lifuxin/Downloads/dpdk-16.07 export RTE_TARGET=x86_64-native-linuxapp-gcc3.install dp
2017-11-05 21:40:28 1066
转载 System V信号量(非原创)
System V信号量是不属于POSIX标准,它属于SUS(Single UNIX Specification)单一UNIX规范中的扩展定义。它和POSIX信号量一样都提供基本的信号量功能操作。System V信号量相对于POSIX信号量最大的区别是在信号量的操作复杂度。在POSIX信号量中说过,根据信号量取值(代表可用资源的数目)的不同,POSIX信号量可以分为:二值信号
2016-06-11 21:06:41 810
转载 Linux进程同步之POSIX信号量(非原创)
POSIX 信号量是属于 POSIX 标准系统接口定义的实时扩展部分。在 SUS (Single UNIX Specification )单一规范中,定义的 XSI IPC 中也同样定义了人们通常称为 System V 信号量的系统接口。信号量作为进程间同步的工具是很常用的一种同步IPC 类型。在《 UNIX 网络编程 卷 2 :进程间通信》的前言第二页与第 1 版的区别中作者提到“ PO
2016-06-11 20:02:13 1221
转载 Linux进程同步之记录锁 (转载,非原创)
记录锁相当于线程同步中读写锁的一种扩展类型,可以用来对有亲缘或无亲缘关系的进程进行文件读与写的同步,通过fcntl函数来执行上锁操作。尽管读写锁也可以通过在共享内存区来进行进程的同步,但是fcntl记录上锁往往更容易使用,且效率更高。记录锁的功能:当一个进程正在读或修改文件的某个部分是,它可以阻止其他进程修改同一文件区。对于这个功能阐述我认为有三点要解释的:记录锁不仅仅可以用来同步不同
2016-06-10 17:14:57 321
原创 旋转字符串 解题代码
方法1每次移动1位移动n次方法2直接移动内存中的数据如果有其他方法请赐教#include #include using namespace std;//方法 1//void fun1(char* str,int length)//{// char a=str[0];// for(int index=0;index//
2016-03-13 18:25:40 288
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人