- 博客(290)
- 资源 (17)
- 收藏
- 关注

原创 Ceph集群搭建系列(一):Ceph 集群搭建
目录摘要:目录一、准备机器二、ceph节点安装三、搭建集群后续:Ceph集群搭建系列(二):Ceph 集群扩容参考:摘要:本文介绍的Ceph 集群搭建是基于luminous版本(ceph -v: ceph version 12.2.11 (26dc3775efc7bb286a1d6d66faee0ba30ea23eee) luminous (stable)),c...
2019-06-11 11:50:33
4403
15

原创 Spark Core 子模块 storage分析
一、前言1. 相关版本:Spark Master branch(2018.10, compiled-version spark-2.5.0, 设置了spark.shuffle.sort.bypassMergeThreshold 1 和 YARN-client 模式) ,HiBench-6.0 and Hadoop-2.7.12. 建议先了解Spark 的 RDD、DAG、Memory...
2019-01-14 10:23:02
516
1

原创 搭建Hadoop(v2.7.1)单节点伪模式, 集群(2 节点)及 集群(5 节点)
一 前言:目的: 熟悉一下Hadoop 集群搭建的过程, 哪怕 2 台机器也来趟一遍。通过学习集群的 log,熟悉集群的流程。为以后有条件搭建和维护上百台的集群环境(我想应该是没这个可能的),迈出一小步。二 先来熟悉一下 单节点伪模式(standalone)搭建步骤:1) 安装ssh和 rsyncsudo yum install opensshsudo yum ins...
2018-07-19 10:07:48
945
原创 为什么inline 函数定义在头文件.h中
答案:因为可以解决所用调用inline函数的所有.c文件反复定义该inline函数,inline函数具有局部可见性。编译器不会生成inline函数的链接符号,inline函数只会直接替换代码(类似与宏)。你可以在A.c 和 B.c里重复定义一个inline void func()函数给A.c和B.c用。相反,如果非inline函数定义在.h中。如果非inline函数,是在.h中声明,在.c中定义。一、是不是Inline函数只能定义在.h中?而inline函数在.h中定义。
2023-08-30 21:31:23
170
原创 JTAG 系列(三): JTAG远程连接
JTAG 远程连接向导准备工作需要申请硬件防火墙需要放行ICS的19020端口,还有windows防火墙先把整个OZone软件的访问网络的权限打开。 ICS服务器上需要安装Ozone启动J-Link Remote Sever二、使用J-Link Client端连接使用J-Link GDB Server 做为client来连接2.1. 配置GDB Server2.2 连接成功使用Ozone client做为client来连接3.1. 创建Ozone 的proj..
2021-11-03 16:28:59
1063
转载 ARM 之九 Cortex-M/R 内核启动过程 / 程序启动流程(基于ARMCC、Keil)
ARM 之九 Cortex-M/R 内核启动过程 / 程序启动流程(基于ARMCC、Keil)
2021-08-11 11:15:05
410
转载 ARM 之八 Cortex-M/R 内核启动过程 / 程序启动流程(基于IAR)
ARM 之八 Cortex-M/R 内核启动过程 / 程序启动流程(基于IAR)
2021-08-11 10:51:50
360
转载 ARM 之一 ELF 文件、镜像(Image)文件、可执行文件、对象文件 详解
原文链接:https://blog.csdn.net/ZCShouCSDN/article/details/100048461
2021-08-11 10:32:43
492
转载 windows 脚本 bat: start命令与call命令的区别
start命令与call命令的区别 start命令应用示例:新建两个文本文件,一个命名为startmain,修改文件类型为bat,用Notepad++打开编辑内容为:1 @echo off2 set a=13 pause>nul4 echo start startchild.bat5 start startchild.bat6 echo end start7 pause>nul8 echo %b%9 pause>nul 一个命名为startch..
2021-05-19 11:34:02
2300
原创 结构体 和 结构体指针 作参数的区别
1. 结构体指针作函数的参数:将结构体的地址传送给函数,效率高,可以修改实参的值。2、结构体作函数的参数:将结构体的全部成员值传送给函数,效率低,不能修改实参的值。
2021-05-16 11:45:33
874
转载 ABI (Application Binary Interface)解析
应用程序二进制接口ABI (Application Binary Interface)是一套规则,规定了二进制可执行文件在运行时应如何与某些服务(诸如内核或函数库所提供的服务)交换信息。ABI特别规定了哪些使用寄存器和栈地址来交换信息以及所交换值的含义,一旦针对某个规定的ABI进行了编译,其二进制可执行文件应能在ABI相同的任何系统上运行。与之相反,标准的API(如SUSv3)仅能通过编译源代码来保证应用程序的可移植性。C++中允许重载方法,这些方法在源代码中有相同的名字,却有不同的参数列表。链接器需要
2021-05-06 08:34:43
2082
转载 状态机设计算法
搜索了一下网上的已有的状态机算法,下面两种好于switch case/ if else 的状态机算法。静态数组表示法 状态转移表 + 函数指针数组实现状态机但是我认为状态转移表 + 函数指针数组实现状态机是其中最优的。所以转载传播一下。状态机在工程中使用非常的频繁,有如下常见的三种实现方法:1. switch-case 实现,适合简单的状态机;2. 二维状态表state-event实现,逻辑清晰,但是矩阵通常比较稀疏,而且维护麻烦;3. 用状态转移表stateTransfer T...
2021-04-22 11:13:24
813
原创 git 版本管理常用命令
1. git pull 拉取远程版本库到本地并自动Merge,类似(git fetch + git merge),但不完全等价。Git fetch和git pull的区别示例$ git pull <远程主机名> <远程分支名>:<本地分支名>2. git log 查看最近的入库日志。3. git staus 查看是否有需要提交的 commit4. git commit 提交到本地库5. git push 提交本地库的c...
2021-04-14 21:02:47
200
转载 浅析Python中的main函数
Python作为一门较为灵活的解释型脚本语言,其中定义的main()函数只有当该Python脚本直接作为执行程序时才会执行;当该python脚本被作为模块(module)引入(import)时,其中的main()函数将不会被执行。这是由于两方面原因,一方面,main函数是所有执行程序的入口;另一方面,python的解释器是顺序执行脚本的并且不会调用任何不属于程序本身的代码和函数,需要补充说明的一点是,如果是被作为一个模块或库import到程序中,则会直接成为代码的一部分。下面可...
2021-04-09 11:51:43
244
转载 UFS的Command Queue
众所周知,UFS的一大优点之一就是支持commandqueue,这里我把关于UFScommand queue的几个问题总结一下,希望对大家有用哦~1. cmdqueue代表UFS的多线程吗?有几个queue就代表UFS内部有几个线程吗?我认为不是这样的。UFS的queue只是把device收到的cmds queue起来,至于执行的时候是不是多线程,那是另一个问题。用一个简单的比喻好了。午餐时,大家在餐厅排队打饭,排的队就是所谓的queue,可以排成一队,也可以并排排上几队.而线程呢,就...
2021-03-25 16:34:55
1009
转载 IAR编译环境之:ILINK链接器的.ICF文件编写
1.首先说说什么是icf文件(即ILINK链接器的配置文件)的作用,其实在IAR5.x之前,IAR是采用的叫XLINK的链接器(它相应的配置文件为xcl文件),5.x之后才采用了新版ILINK链接器,所以咱们开发Kinetis的IAR6.x自然也采用的是ILINK链接器,配置文件为icf文件,咳咳,如果有人问什么是链接器,先谷歌一下补补,我这里就引用IAR官方手册里的一句话简要说明一下什么是链接器及其相应配置文件的作用吧:”EWARM 5.xx 中的链接器称为ILINK。ILINK 可以从 ELF/DW
2021-03-17 20:35:12
1206
1
转载 Source Insight 4 的解决办法
Source Insight 4 的解决办法【解决办法】:单个文件乱码解决办法: 菜单栏中【File】 > 【Reload As Encoding...】 > 【Chinese Simplified (GB18030)】 > 选择后,点击load,问题解决!!!所有文件乱码解决办法: 我的理解,在做下面操作的时候关闭所有工程或文件,等设置完后,再把工程或文件加载进来 菜单栏中【Options】> 【Preferences】 >F...
2020-12-25 14:07:37
432
转载 在特定部分中放置一组函数或变量(IAR System)
介绍本技术说明描述了两种在不使用几个#pragma location指令的情况下将多个函数或变量放置在指定节中的方法。讨论区可以使用#pragma location将一个函数(或变量)放置在命名节中,例如:<span style="color:#333333"><span style="color:#880000">#pragma </span><span style="color:#000000">location </span>
2020-12-15 15:20:50
1442
转载 UFS系列九:UFS数据安全
转载:蛋蛋读UFS之九:UFS数据安全前面提到RPMB使用认证机制和抗重放攻击机制保障数据不被黑客攻击,除此之外,UFS还有其它一些手段来保护用户数据安全,这一章节我们来关注UFS数据安全。UFS设备用来存储个人或者企业的数据信息,UFS设备需要这样一种机制,就是必要时,数据能永久从设备(闪存)删除,这样就能防止别有用心的人通过反向工程获取你的数据。话说,陈老师吸取了上次教训,每次...
2020-12-03 16:27:33
3524
1
转载 极光:2019年个人网盘行业研究报告
个人网盘概念定义说明本报告聚焦于服务个人用户的公有云存储网盘服务应用l个人网盘指为个人用户提供数据存储、访问、备份和分享等功能的云存储服务应用l云存储是一个以数据存储和管理为核心的云计算服务;根据云存储服务性质的不同,可分为公有云、私有云和混合云;公有云面向多个客户,服务范围最广;根据云计算资源使用方式的不同,公有云可分为IaaS、PaaS和SaaS三个层次;面向个人/家庭用户的云存储服务主要是SaaS级;企业级云存储则IaaS、PaaS和SaaS均有,IaaS需要大量的硬件和技术支持,以大型科
2020-12-02 16:29:41
1034
转载 嵌入式启动之三:应用程序的三种存储和加载方式
通过前面嵌入式启动方式的学习,再来理解嵌入式应用程序的三种加载方式是比较容易的。一般意义上,启动是为了引导OS到内存,而应用程序则是操作系统run起来后的用户选择,两者是比较相似的。先根据启动的两种方式来介绍应用程序的加载。 1. 对于资源有限型的嵌入式系统,应用程序在编译、链接之后,会通过二进制工具分析可执行文件的格式,抽出code和data段数据,生成.HEX格式或者.BIN格式,下载到SOC内置的flash中。在上电之后就直接执行了。这种加载方式称为离线加载。 2. ...
2020-11-24 11:57:58
766
转载 Arm芯片上电启动流程剖解
关键字:stepping stone:(可以看做是Internal RAM)IROM (Internal ROM):固化在CPU内部ROM里的一段代码,它的运行叫做BL0.IRAM:因为IROM启动运行的时候,外置SDRAM还没有初始化好,而IRAM是可用的,因此必须要把BL1加载到IRAM中运行,由BL1对SDRAM进行初始化。ROM为什么不初始化SDRAM呢?那是因为支持的SDRAM规格是可变的,由固化代码来初始化显得不够灵活,而且固化代码往往代码量比较小,因为越多越容易...
2020-11-24 11:54:53
6286
原创 Ceph优化系列(四):RocksDB 使用 ARM 64 位 CRC32C 硬件优化指令
一、前言CRC32(A cyclic redundancy check 32)应用于校验,为了保证数据的正确性,采用的一种检错手段。CRC32C(CRC32 Castagnoli) 与 CRC32 不同的是它有多项式常数,也就是说生成的CRC表不同,而算法是一模一样.二、内容1. Ceph的当前版本nautilus(v14.2.2) 和 Ceph的master 分支中包含的 R...
2020-11-24 09:50:00
1477
原创 目前源代码网站(已验)
CodeForge 用微信登录就这样了。差评2. 开源中国 下载时直接跳转到了 google,要翻墙3. github 给你5颗 *****4. sourceforge
2020-11-20 17:07:33
89
原创 画 UML 图的 利器 plantuml
安装Eclipse 插件安装 1. 根据Eclipse的版本不同 点击Help->Install new software 或 点击Help->Software Update->Find and install 3. 输入 http://hallvard.github.io/plantuml/ ,并点击select all 按钮好慢,过来大概15分钟,Finish4.安装完plantUML后,还要下载一个Graphviz (https:..
2020-11-18 17:18:28
264
转载 P2P技术详解:NAT详解、P2P简介
《P2P理论详解》系列文章中的总目录如下:《P2P技术详解(一):NAT详解——详细原理、P2P简介》(本文) 《P2P技术详解(二):P2P中的NAT穿越(打洞)方案详解(基本原理篇)》 《P2P技术详解(三):P2P中的NAT穿越(打洞)方案详解(进阶分析篇)》 《P2P技术详解(四):P2P技术之STUN、TURN、ICE详解》...
2020-11-13 17:23:33
592
1
原创 在进行KAFKA + Flink流测试时,我为什么很少看到磁盘读操作
Kafka读写空中接力(Flying on Air)当Producer push消息到Broker发生写操作时,Broker只是将数据写入Page Cache中,并将该页置上dirty标志。 当Consumer 从Broker pull消息发生读操作时,Broker会首先在Page Cache中查找内容,如果有就直接返回了,没有的话就会从磁盘读取文件再写回Page Cache。 可见,只要...
2020-11-13 17:18:35
133
原创 Jenkins 系列二:如何配置及使用SSH remote hosts
Jenkins里配置SSH remote hosts安装SSH PluginManage Jenkins -> Manage Plugins -> Available 安装相关的SSH插件,可在右上角输入ssh 来查询可安装的SSH插件. Jenkins会自动显示未安装的SSH插件。配置SSH site添加SSH 配置,Manage Jenkins -> Config...
2020-11-13 17:17:49
8748
原创 Jenkins 系列一:Ubuntu上安装Jenkins
1. Ubuntu下您可以通过下面命令来安装Jenkins aptwget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key| sudo apt-key add -sudo sh -c ‘echo deb http://pkg.jenkins.io/debian-stablebinary/ > /etc/apt/sources....
2020-11-13 17:17:33
670
原创 遇见Google Abseil开源项目(三):bazel方式编译btree benchmark、mutex benchmark 和 hashtable
自动编译Abseil的btree benchmark 和 mutex benchmark,和编译hashtable源码 使用clang/llvm 编译器: CC=clang-9 BAZEL_COMPILER=llvm 添加如下编译参数:bazel build --cxxopt=-std=c++17 -c opt --cxxopt='-O3' --cxxopt='-fPIE' --cxxopt='-mpie-copy-relocations' --cxxopt='-fno-omit-frame-poin
2020-11-13 17:16:53
443
原创 遇见Google Abseil开源项目(二):bazel方式编译源代码
`1.源码下载git clone https://github.com/abseil/abseil-cpp2. bazel build -c opt //absl/…bazel会在abseil-cpp目录创建WORKSPACE文件,自动根据absl/BUILD.bazel,及子目录的BUILD.bazel编译abseil项目。-c opt选项解释:–compilation_mode [...
2020-11-13 17:16:39
995
原创 遇见Google Abseil开源项目(一):bazel
这篇介绍如何在Ubunu上安装bazel(包括X86 64/AARCH64)1. 安装必要的包sudo apt-get install pkg-config zip g++ zlib1g-dev unzip python2. 下载安装脚本(X86 64)或者源码包(AARCH64)1)X86a) 从 Bazel releases page on GitHub 下载名叫bazel--ins...
2020-11-13 17:16:19
231
转载 Ceph 2018用户调查之我见(Ceph China 小编)
个人点评|作者:耿航总体来说调查还是非常全面的,涵盖了地区、用户行业、使用场景、部署方式、硬件环境、集群环境、版本、供应商、管理监控工具等等。综合性分析:从报告中来看,大部分地区集中在欧洲和中东地区,其次是美国,亚太地区居然排名第三,根据这么多年我在国内的布道经验来看,这个数据不太符合实际,我觉得有几个原因,第一和国内环境有关,做Ceph的都比较低调,很少出来讲;第二覆盖范围有关,因为是开源社区发起的用户调查,其范围难以覆盖大多数(这里我们社区去年也第一时间转发了社区的调查报告)。集群使..
2020-07-06 15:26:35
290
原创 高性能计算(HPC)与 云计算(Cloud)的异同
参考:http://training.nectar.org.au/package04/sections/cloudVsHPC.html
2020-05-26 17:11:35
3699
原创 Excel表格sheet A 如何建立链接到 sheetB
举例:SheetA 链接到SheetB的A8 单元格,链接显示名字为"请给我链接到SheetB的A8 cell"编辑SheetA要建立链接的cell的内容,为如下:=HYPERLINK("#‘SheetB’!A8",“请给我链接到SheetB的A8 cell”)
2020-05-13 18:11:54
487
micron_9200_Ceph_reference_architecture.pdf
2019-07-25
C:\Users\yjiang2\Downloads\Ceph分布式文件系统\Supermicro’s Total Solution for Ceph .pdf
2019-07-25
C:\Users\yjiang2\Downloads\Ceph分布式文件系统\Ceph中国社区\Ceph-User-Survey-2018-Slides.pdf
2019-07-08
Ceph简单介绍
2019-04-23
Continuous Processing in Structured Streaming Design Sketch
2019-03-30
Spark自己的分布式存储系统BlockManager全解析
2019-03-29
PCIe数据链路层协议(Data Link Layer Specifications)
2019-03-29
PCIE处理层协议(Transaction Layer Specifications)
2019-03-29
PCI-Express总线简介
2019-03-29
Nand flash基本原理
2019-03-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人