自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 YARN (二) NodeManager

NodeManager:ContainerManagerImpl:

2021-05-28 12:09:48 181

原创 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

原创 debug dpdk

export EXTRA_CFLAGS='-O0 -g'编译dpdk前执行export ,就可以gdb了

2018-01-01 14:56:42 646

原创 编译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关注的人

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