擅长面向对象设计、C++程序开发,在金山和华为呆过,互联网从业十多年,有分布式计算和存储系统经验。
# 相关链接:https://cmake.org/cmake/help/v3.0/module/CheckCXXCompilerFlag.html include(CheckCXXCompilerFlag) CHECK_CXX_COMPILER_FLAG("-std=c++11"...
mem.zip 用于分析指定进程是否存在内存泄漏, 使用ps等命令统计开销相对较大,直接读取/proc文件系统则高效许多。 格式(利用了awk给外部变量赋值,请参考博文http://blog.
除非明确说明,本文内容仅针对x86/x86_64的Linux开发环境,有朋友说baidu不到,开个贴记录一下(加粗字体是关键词):用“-Wl,-Bstatic”指定链接静态库,使用“-Wl,-Bdynamic”指定链接共享...
方法1:使用iotop工具 这是一个python脚本工具,使用方法如:iotop -o 方法2:使用工具dmesg 使用dmesg之前,需要先开启内核的IO监控: echo 1 >/proc/sys/vm/block_dump或sysctl vm.
Redis Cluster原理初步.pdf 目录 目录 1 1. 前言 1 2. 槽(slots) 1 3. 路由配置(node.
sfdisk -l sfdisk -s fdisk -l dmesg |grep SCSI dmesg |grep -i raid df -h cat /proc/scsi/scsi hdparm /dev/sda mount 加载一块硬盘 mkfs 创建文件系统 /etc/fstab 文件内容mount命令输出一致 lscpu 查看CPU lspci 查看主板 lsscsi 查看SCSI卡 测速 hdparm -t /dev/sda parted parted是一个由GNU开发的功能强大的磁盘分区和分区大小调整工具。
// 测试setsockopt设置超时是否生效代码 #include arpa/inet.h> #include netinet/in.
如果是win7、win8或win10三者的64位版本,可以下载驱动解决:http://file2.mydrivers.com/2014/notebook/apple_broadcom_bluetooth_5040_win64.zip 或:http://drivers.mydrivers.com/drivers/481_192767.htm 下载好后解压,然后通过windows资源管理器,更新蓝牙驱动,找到解压生成的目录,即可更新成功,消除资源管理器中显示的感叹号。
对于下段代码:public List hmget(String key, List fields) throws org.
对于下段代码: public ListString> hmget(String key, ListString> fields) throws org.apache.thrift.
假设有如下标准化的目录结构: $HOME |-- log |-- conf |-- bin |-- lib |-- data jar包放在lib目录,启动脚本放在bin目录,日志文件放在log目录,配置文件放在conf目录(包括log4j的配置文件log4j.properties)。
使用命令passwd修改密码时,遇到如下问题: # echo 'utf8'|passwd zhangsan --stdin Changing password for user zhangsan.
// 使用示例: // ./mooon_upload -h=192.168.10.11,192.168.10.12 -p=6000 -u=root -P='root123' -s=.
使用示例: ./mooon_upload -h=192.168.10.11,192.168.10.12 -p=6000 -u=root -P='root123' -s=./abc -d=/tmp/ 表示将本地的文件.
使用示例(使用了默认用户root,和默认端口号22): ./mooon_ssh --h=192.168.4.1,192.168.4.2 -P=password -c='cat /etc/hosts' #include "mooon/net/libssh2.
继承CZookeeperHelper即可快速实现主备切换:https://github.com/eyjian/mooon/blob/master/mooon/include/mooon/net/zookeeper_helper.h zookeeper的ZOO_EPHEMERAL节点(如果ZOO_EPHEMERAL满足不了需求,可以考虑和ZOO_SEQUENCE结合使用),在会话关闭或过期时,会自动删除,利用这一特性可以实现两个或多节点间的主备切换。
1) 使用sizeof操作符替代魔鬼数字 if (s1.substr(0, 10) == s2) 改成: if (s1.substr(0, sizeof("YYYY-MM-DD")-1) == s2) 2) 长的放后头 if (s2 == s1.substr(0, sizeof("YYYY-MM-DD")-1)) 原因是长的放前面,代码看起来会复杂些。
如果文件名包含了中文,当执行“svn up .”遇到如下错误时:svn: Can't convert string from 'UTF-8' to native encoding:svn: docs/?\228?\188?\129?\228?\184?\154?\230?\141?\...
HelloWorld.zip 点击(此处)折叠或打开 package elementary; import java.
如果运行crontab如遇下面这样的错误: $ crontab -l You (zhangsan) are not allowed to access to (crontab) because of pam configuration. 原因可能是因为用户zhangsan密码过期了。
Yarn上运行spark-1.6.0.pdf 目录 目录 1 1. 约定 1 2. 安装Scala 1 2.1. 下载 2 2.
目录 目录 1 1. 前言 1 2. 约定 2 3. 服务端口 2 4. 安装MySQL 2 4.1. 安装MySQL 2 4.
Hive 1.2.1&Spark&Sqoop安装指南.pdf 目录 目录 1 1. 前言 1 2. 约定 2 3. 服务端口 2 4.
MySQL-5.7.10主主同步的安装和配置.pdf 目录 目录 1 1. 安装 1 2. 修改MySQL的root密码 4 3.
这里安装的是最新的MySQL 5.7.10,下载网址为:http://dev.mysql.com/downloads/mysql/,本文选择是的“Linux - Generic”下的“Linux - Generic (glibc 2.5) (x86, 64-bit), Compressed TAR Archive”,它的二进制安装包名为mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz。
可以从下列链接找到process_monitor.sh:https://github.com/eyjian/mooon/blob/master/common_library/shell/process_monitor.
iconv是一个字符集转换函数,原型为: size_t iconv(iconv_t cd, char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesl...
HBase & thrift & C++编程.pdf 目录 目录 1 1. 前言 1 2. 启动和停止thrift2 1 2.
目录 目录 1 1. 前言 1 2. 启动和停止thrift2 1 2.1. 启动thrift2 1 2.2. 停止thrift2 1 2.3. 启动参数 2 3. hbase.thrift 2 3.1. 编译hbase.thrift 2 4. thrift_helper.h 3 5. 示例代码 4 1. 前言 本文目的是介绍使用C++如何操作HBase。
版本:redis-3.0.5 redis-3.2.0 redis-3.2.9 参考:http://redis.io/topics/cluster-tutorial。
版本:redis-3.0.5 redis-3.2.0 redis-3.2.9 redis-4.0.11 参考:http://redis.io/topics/cluster-tutorial。
目录 目录 1 1. 名词解释 1 2. 什么是守护进程? 2 2.1. 后台运行 2 2.2. 解释关系 2 3. 以“&”方式运行有何问题? 2 4.
进入hadoop-hdfs-project/hadoop-hdfs/src目录,执行cmake以生成Makefile文件。 如果遇到如下的错误: ~/hadoop-2.7.1-src/hadoop-hdfs-project/hadoop-hdfs/src]$ cmake .
cron_Paul_Vixie.zip /* $OpenBSD: cron.c,v 1.39 2007/02/18 23:59:03 jmc Exp $ */ /* Copyright 1988,1990,19...
Zookeeper客户端cli_st为何在crontab中运行不正常?.pdf 实践中,发现直接在命令行终端运行cli_st时,能够得到预期的结果,但一将它放到crontab中,则只收到: bye 相关的一段clit_st源代码如下: ...
Hadoop-2.7.2分布式安装手册.pdf目录 目录 1 1. 前言 3 2. 特性介绍 3 3. 部署 5 3.
openssh间免密码登录.pdf 以下针对的是openssh,而不是ssh,也不是ssh2。配置分两部分:一是对登录机的配置,二是对被登录机的配置,其中登录机为客户端,被登录机为服务端,也就是解决客户端到服务端的无密码登录问题。
HBase的FlushLargeStoresPolicy.pdf 众所周知,HBase的一个例族flush时,会导致所有例族都跟着被flush。在HBase-0.94的官方说明(http://hbase.apache.org/0.94/book/number.of.cfs.html)也明确HBase不能很好的支持一个以上的例族。
GNU Binary Utilities或binutils是一整套的编程语言工具程序,用来处理许多格式的目标文件。当前的版本原本由在Cygnus Solutions的程序员以Binary File Descriptor library(libbfd)所撰写。
在gcc-4.8.2和gcc-4.1.2基础上编译gcc-5.2.0,有可能会遇到一些问题。 要想成功编译gcc,则在编译之前需要安装好它的至少以下三个依赖: gmp mpfr mpc 而mpc又依赖gmp和mpfr。
hadoop提供了CMake来编译libhdfs,因此在编译之前需要先安装好CMake工具。 然后进入libhdfs的源代码目录,如:/data/hadoop-2.7.1-src/hadoop-hdfs-project/hadoop-hdfs/src 执行cmake以生成Makefile文件(假设jdk的安装目录为/data/jdk1.
gcc链接参数--whole-archive的作用.pdf // a.h extern void foo(); // a.cpp #include void foo() { printf("foo\n"); } // x.
1) jdb调试正在运行的进程: 先使用jps先确定进程号,然后让jdb连接上目标进程(23549换成实际的进程号): jdb -connect sun.jvm.hotspot.jdi.SAPIDAttachingConnector:pid=23549 接着,可以使用thread N切换线程(使用threads命令可以查看有哪些线程),如:thread 1,然后就可以使用where命令查看调用栈了(jdb中的where相当于gdb的bt)。
初学java,使用eclipse编译时,可能会遇到如下图所示的编译错误(Exception in thread "main" java.lang.Error: Unresolved compilation problem): 错误的原因是因为代码中没有指定package,加上“package elementary;”后再编译即OK。
CMake使用技巧集.txt 1、注意CMake不允许出现相同的目标名称,即使是不同的目录下的CMakeLists.txt 2、将头文件搜索路径插入到其它的前面: include_directories(BEFORE /tmp) 当使用CMake的include复用规则时,如果想让某头文件路径至于其它的前面,则需要指定BEFORE,否则/tmp将位于其它的后面。
设计一函数f(),使用得下面代码中的第一个f()调用可正常编译,而其它编译报错 #include stdio.h> #include string> int main() { f(...
glibc-2.14中的arean.c源代码,供研究malloc和free实现使用: /* Malloc implementation for multiple threads without lock contention.
glibc-2.14中的malloc.c源代码,供研究malloc和free实现使用: /* Malloc implementation for multiple threads without lock contention.
__lll_mutex_lock_wait的错误原因.pdf 1. x86_64栈(glib 2.4): free时: (gdb) bt #0 0x00002b94...
rapidjson的Move语意,请浏览http://rapidjson.org/zh-cn/md_doc_tutorial_8zh-cn.html#MoveSemantics, 示例: rapidjson::Value a(123); rapidjson::Value b(456); b = a; // a变成Null,b变成数字123,这样的做法是基于性能考虑 除了上述示例的复制语句外,AddMember()和PushBack()也采用了Move语意。