自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一见

技术人生 生活点滴

  • 博客(110)
  • 资源 (53)
  • 收藏
  • 关注

原创 Hadoop(HDFS、YARN、HBase、Hive和Spark等)默认端口表

端口作用9000fs.defaultFS,如:hdfs://172.25.40.171:90009001dfs.namenode.rpc-address,DataNode会连接这个端口50070dfs.namenode.http-address50470dfs.namenode.https-ad

2014-04-29 18:45:19 6575

原创 O_DIRECT方式读取文件示例

#include #include #include #include #include #include #include #include #include // 读文件类class CFileReader{public: CFileReader() : _buffer(NULL) { } ~CFileReader() { free(_buffer

2014-04-28 14:11:50 22708

原创 Hadoop-2.4.0分布式安装手册

目录目录 11. 前言 22. 部署 22.1. 机器列表 22.2. 主机名 22.2.1. 临时修改主机名 32.2.2. 永久修改主机名 32.3. 免密码登录范围 43. 约定 43.1. 安装目录约定 43.2. 服务端口约定 54. 工作详单 65. JDK安装 65.1. 下载安装包 65.2. 安装步骤 66. 免密码

2014-04-28 09:28:38 11447

原创 HBase-0.98.0和Phoenix-4.0.0分布式安装指南

目录目录 11. 前言 12. 约定 13. 相关端口 24. 下载HBase 25. 安装步骤 25.1. 修改conf/regionservers 25.2. 修改conf/hbase-site.xml 25.2.1. hbase.master.info.port 45.2.2. hbase.master.info.bindAddress 45.3.

2014-04-24 10:37:48 2468

原创 Hive 0.12.0安装指南

目录目录 11.前言 12.约定 13.服务端口 24.安装MySQL 24.1.安装MySQL 24.2.创建Hive元数据库 25.安装步骤 35.1.下载Hive0.12.0二进制安装包 35.2.安装Hive 35.3.安装MySQL-Connector 35.4.修改配置 35.4.1.修改/etc/profi

2014-04-23 15:45:29 1180 1

原创 什么是反向代理?

有同学问我怎么理解反向代理和CDN加速。既然叫“反向”,是否有对应的“正向”了?答案是有,不过一般就直接叫代理了。 日常中也不难见,比如很多公司电脑上网,需要配置一个代理,这个代理就是正向代理,显然它被安装在客户端。 所谓“反向代理”,是指安装在服务端的代理。做互联网后台开发的人比较容易理解,常见的情形是部署反向代理面向用户,用户直接反向代理,然后由反向代理去连接内部的各种系统。

2014-04-22 18:57:01 1066

原创 ZooKeeper-3.4.10分布式安装指南

目录目录 11. 前言 12. 约定 13. 安装步骤 23.1. 配置/etc/hosts 23.2. 设置myid 23.3. 修改conf/zoo.cfg 24. 启动ZooKeeper集群 35. 安装验证 3 1. 前言介绍ZooKeeper-3.4.6版本的分布式安装,力求细致,提供精确的安装指导。本文的安装环境是64位的SuSE 10.

2014-04-22 11:54:54 10152

原创 在Linux上编译Hadoop-2.4.0

Hadoop-2.4.0的源码目录下有个BUILDING.txt文件,它介绍了如何在Linux和Windows下编译源代码,本文基本是遵照BUILDING.txt指示来操作的,这里再做一下简单的提炼。第一次编译要求能够访问互联网,Hadoop的编译依赖非常多的东西,一定要保证机器可访问互联网,否则难逐一解决所有的编译问题,但第一次之后的编译则不用再下载了。1. 安装依赖在编译Hadoo

2014-04-21 15:47:59 9042

原创 g++中宏NULL究竟是什么?

NULL是个指针,还是个整数?0?或(void*)0?答案是和g++版本有关。g++ 4.6支持C++11,引入了nullptr,也许会发生变化。 可以写段简单代码求证一下:#include #include  int main(){        printf("NULL: %d\n", NULL);        printf("sizeof

2014-04-21 15:36:23 8288

原创 Hadoop-2.4.0中HDFS文件块大小默认为128M

134217728 / 1024 = 131072 / 1024 = 128

2014-04-19 14:32:38 12392

原创 看两种截然不同的设计理念:分布式文件系统支持大和小文件的思考

为何Google GFS设计成对大文件友好,而像腾讯的TFS(Tencent File System)和淘宝的TFS(Taobao File System)却设计成对小文件友好了?这一点非常好理解,两个TFS都用来满足图片等大量小文件的需求。但是两者是矛盾的吗?答案是否。实际中TFS也在努力支持大文件,GFS也要支持小文件。 GFS通过在GFS之上构建Bigtable来支持大量小文件,

2014-04-19 11:30:41 840

原创 SecondaryNameNode中的“Inconsistent checkpoint fields”错误原因

该错误原因,可能是因为没有设置好SecondaryNameNode上core-site.xml文件中的“hadoop.tmp.dir”。2014-04-17 11:42:18,189 INFO org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode: Log Size Trigger    :1000000 txns2014

2014-04-19 10:57:27 4215

原创 查看HDFS集群信息

clusterID:集群ID,必须保持一致1)在NameNode上查看cat $HADOOP_HOME/dfs/name/current/VERSION#Fri Apr 18 11:56:57 GMT 2014namespaceID=1397306199clusterID=CID-bfe869e9-fe7a-48c7-9606-08512f1708becTime=0

2014-04-19 10:39:13 3644

原创 执行“hdfs dfs -ls”时报ConnectException

原因可能是指定的端口号9000不对,该端口号由hdfs-site.xml中的属性“dfs.namenode.rpc-address”指定,即为NameNode的RPC服务端口号。 文件上传后,被存储在DataNode的data(由DataNode的hdfs-site.xml中的属性“dfs.datanode.data.dir”指定)目录下,如:$HADOOP_HOME/data/cur

2014-04-17 20:10:08 10831

原创 启动Hadoop HDFS时的“Incompatible clusterIDs”错误原因分析

“Incompatible clusterIDs”的错误原因是在执行“hdfs namenode -format”之前,没有清空DataNode节点的data目录。 网上一些文章和帖子说是tmp目录,它本身也是没问题的,但Hadoop 2.4.0是data目录,实际上这个信息已经由日志的“/data/hadoop/hadoop-2.4.0/data”指出,所以不能死死的参照网上的解决办法,

2014-04-17 19:53:33 8861

原创 “hdfs dfs -ls”命令的使用

“hdfs dfs -ls”带一个参数,如果参数以“hdfs://URI”打头表示访问HDFS,否则相当于ls。其中URI为NameNode的IP或主机名,可以包含端口号,即hdfs-site.xml中“dfs.namenode.rpc-address”指定的值。“hdfs dfs -ls”要求默认端口为8020,如果配置成9000,则需要指定端口号,否则不用指定端口,这一点类似于浏览

2014-04-17 18:57:59 9710

原创 SuSE Linux上修改主机名

1) 临时修改主机名临时修改使用hostname即可,格式为:hostname 新主机名。Hostname命令除可以临时修改主机名外,还可以用它来查看主机名,不带参数执行它,即为查看主机名。 2) 永久修改主机名修改文件/etc/HOSTNAME即可:cat /etc/HOSTNAMEVM-40-171-sles10-64 但修改后,

2014-04-17 16:01:00 10693

原创 strerror线程安全分析

导读strerror是否线程安全了? 1errno是否线程安全? 1附1:strerror源码 2附2:__strerror_r源码 2 strerror是否线程安全了?答案是NO,但它有个线程安全的版本:strerror_r。借助Linux的man,即可看到详情:#include char *strerror(int errnum);int

2014-04-16 13:30:47 10017

原创 两个SSH2间免密码登录

以下针对的是ssh2,而不是ssh,也不是OpenSSH。配置分两部分:一是对登录机的配置,二是对被登录机的配置,其中登录机为客户端,被登录机为服务端,也就是解决客户端到服务端的无密码登录问题。下述涉及到的命令,可以直接拷贝到Linux终端上执行,已全部验证通过,操作环境为SuSE 10.1。如何确定是OpenSSH还是SSH2?执行命令“ssh -V”,通过它的输出,即可确定:

2014-04-16 12:25:40 9098

原创 SSH2免密码登录OpenSSH

1. 如何确定是OpenSSH还是SSH2?执行命令“ssh -V”,通过它的输出,即可确定:SSH2ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) onOpenSSHOpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010

2014-04-16 12:24:02 11597 1

原创 OpenSSH免密码登录SSH2

1. 如何确定是OpenSSH还是SSH2?执行命令“ssh -V”,通过它的输出,即可确定:SSH2ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) onOpenSSHOpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010

2014-04-16 12:22:02 2461 2

原创 mysql_init调用卡住原因分析

有同学做类似如下的操作:class X{public:X() // 类X的构造函数ctor{_mysql_handler = mysql_init(NULL);}}; // 定义类X的全局变量X g_x; // 程序入口main函数int main(){。。。 。。。} 看似简单的代码,但非

2014-04-15 20:23:19 8825

原创 磁盘文件读性能测试

未缓存前:time ./x bin.tar file size is 816322560816322560 bytes read nowreal    0m3.378suser    0m0.000ssys     0m0.996s 被缓存后:time ./x bin.tar file size is 8163

2014-04-14 16:25:45 8033

原创 madvise、fadvise、posix_madvise和posix_fadvise函数的使用

系统调用madvise的作用:建议内核如何使用指定段的内存。函数原型如下:#include int madvise(void *addr, size_t length, int advice); 参数advice的取值有如下几种:MADV_NORMAL MADV_RANDOM 

2014-04-14 14:46:41 10829

原创 进程间传递文件描述符fd

众所周知,子进程会继承父进程已经打开的文件描述符fd,但是fork之后的是不会被继承的,这个时候是否无能无力了?答应是NO。Linux提供了一个系统调用sendmsg,借助它,可以实现进程间传递文件描述符fd,而且不仅限于父进程到子进程。sendmsg函数的原型如下: #include ssize_t sendmsg(int socket, const struct m

2014-04-14 09:44:22 19493

原创 Orace开源的异步IO编程库,特点是接口非常简单

官网:https://oss.oracle.com/projects/libaio-oracle/,正如标题所说,非常简单了,不用多解释,请直接看头文件,其中aio_poll类似于poll,重要的结构是aiocb64,类似于epoll_event。

2014-04-14 09:02:15 15528

原创 爱奇艺视频窗口显示不出来解决办法

爱奇艺视频窗口显示不出来解决办法一见 2014/4/11 22:301. 问题描述自爱奇艺视频3.2版本以来,遇到爱奇艺视频窗口显示不出来,不管是从菜单、任务栏、桌面、还是通知栏点击,窗口都显示不出来,包括设置、关于等窗口统统显示不出来。应当是爱奇艺视频自3.2以来的BUG,因为其它软件正常,而且中间有回退到3.1也正常,现在3.3出来了,3.1已经无法使用,为此采用了本文的办法强制将

2014-04-12 09:19:03 17589

原创 brk/sbrk和mmap行为分析程序

#include #include #include // #include // int mallopt(int param, int value);// info mallopt, 一些系统可以man mallopt// M_TRIM_THRESHOLD: 紧缩内存阈值,对应的环境变量为MALLOC_TRIM_THRESHOLD_// M_MMAP_THRESHOLD: 使用

2014-04-10 16:20:11 17025

原创 编译boost,去掉不使用的组件

说明:下面内容仅针对Linux环境(boost官网为:http://www.boost.org/,可从这里下载它的源代码包,这里要求下载.tar.gz包,而非.7z、.zip或bz2包)。在当前目录下,解压boost库,如:tar xzf boost_1_52_0.tar.gz完成后,会在当前目录下新生成一个boost子目录boost_1_52_0,进入boos

2014-04-10 14:30:59 8250

原创 请关注“原创推荐”

原创推荐清单:http://blog.chinaunix.net/uid/20682147/cid-178444-list-1.html主要内容:软件开发心得点滴记录mooon编译系统介绍(可复用Makefile)小心两个共享库共用同一个静态库Linux上制作可执行的共享库示例RPC的实现深入多线程编程GDB高级技巧 。。。其它原创将陆续链接到这。。。

2014-04-10 10:58:39 607

原创 软件开发心得点滴记录

软件开发心得点滴记录 一见 创建日期:2013/6/27 1. 前言 自从2002年大学毕业后一直沉浸于软件开发之路,平时喜欢思考和归纳,时常会产生一点心得和想法,回想起来是一笔宝贵的财富,只可惜陆陆续续遗忘了。今天立此文章,希望从今以后可以记录下,以帮助自己不断地提升,同时也作为一种纪念。 2. 心得点滴 将心得点滴分类成若干

2014-04-10 10:58:36 690

原创 bash/shell的字符串trim实现

#!/bin/shtrim(){    trimmed=$1    trimmed=${trimmed%% }    trimmed=${trimmed## }    echo $trimmed}测试:a=" x x "b=" b b"c="c c "echo "=$a="echo "=$b="echo "=$c="a

2014-04-10 10:58:34 13245

原创 Linux下的strerror是否线程安全?

下列是glibc-2.14中的源代码: 点击(此处)折叠或打开 char * strerror (errnum)      int errnum; {   char *ret = __strerr

2014-04-10 10:58:30 9147

原创 Storm的wordCounter计数器详解

原文:http://www.maoxiangyi.cn/index.php/archives/362拓扑 点击(此处)折叠或打开 package cn.jd.storm; import backtype.stor

2014-04-10 10:58:28 8084

原创 开源大数据利器汇总

类别 名称 官网 备注 查询引擎 Phoenix http://phoenix.incubator.apache.org/ Apache HBase之上的一个SQL中间层,完

2014-04-10 10:58:25 8640

原创 拼车协议书(拼车合同)

请下载后打印:拼车协议书.pdf拼车协议书.doc 拼车协议书 甲方(车主方):                乙方(拼车方):                根据国家有关法律和法规,甲

2014-04-10 10:58:21 1711

原创 抓住主要矛盾,活用二八原则,谈业务运营部门发展思路

拒绝平庸!通常一个公司的业务运营部门,是公司不可或缺的组成部分,但地位却有些尴尬,技术上依赖于架构等技术部门,业务却受制于强势的产品部门,直白点说就是在为产品打工,借助技术部门的解决方案赚钱微薄的利益。如果让业务运营部门更上一层楼了?日常生活中一些非常通俗简单的道理往往被忽略,而这里正好可以加以使用。首先对服务的产品部门进行分类,类似于银行将客户划分成多个等级,不妨考虑按产品的等级

2014-04-10 10:58:18 8332

原创 portableDFS-可便携的分布式文件系统

PPT下载(因附件大小有限制,删除了PPT中的隐藏页,如需完整版本,请转到it168文库下载):portableDFS-可便携的分布式文件系统.ppt完整版本请上这里下载:http://wenku.it168.com/d_001249543.shtml百花齐放,portableDFS有何不同? 管理员在2009年8月13日

2014-04-10 10:58:16 7921

原创 GCC 4.7相对4.6.x的改进点

原文:http://www.iteye.com/news/24628针对C的功能改进:支持ISO C11标准中的更多特性。除了之前的-std=c1x和-std=gnu1x选项外,GCC现在还支持-std=c11和-std=gnu11选项。针对C++的功能改进:g++现在支持-std=c++11、-std=gnu++11和-Wc++11-compat选项,这些选项的作用相同。

2014-04-10 10:58:13 7970

原创 升级Ubuntu 12.04下的gcc到4.7

我们知道C++11标准开始支持类内初始化(in-class initializer),Qt creator编译出现error,不支持这个特性,原因在于,Ubuntu12.04默认的是使用gcc4.6,而只有gcc4.7才支持C++11,使用如下办法升级Ubuntu 12.04下的gcc :   更新Ubuntu源g++-4.rarsudo add-apt-reposit

2014-04-10 10:58:11 739

ejstatd一个增强型的jstatd

jstatd启动后会打开两个端口,其中一个端口可通过参数“-p”指定,如果不指定默认为1099,另一个是一个随机端口,不能参数指定。在防火墙环境使用不便,ejstatd是jstatd的增强版本,可指定端口,方便防火墙环境中使用。

2018-12-05

开源C++版本CGI库CGICC入门

  CGICC是一个C++语言实现的开源CGI库,采用LGPL授权协议,使用较为简单。   CGICC官网:http://www.gnu.org/software/cgicc/,截止2015/3/14,CGICC最新稳定版本为3.2.16,下载地址是:http://ftp.gnu.org/gnu/cgicc/cgicc-3.2.16.tar.gz,最新更新时间为2014/12/7(令人惊讶和欣慰的是作为古老的CGI,CGICC还在不断的更新)。

2018-12-04

Redis-5.0.0集群配置

  本文档基于以前写的《Redis-3.0.5集群配置》和《Redis-4.0.11集群配置》。   redis-3.0.0开始支持集群,redis-4.0.0开始支持module,redis-5.0.0开始支持类似于kafka那样的消息队列。   本文参考官方文档而成:http://redis.io/topics/cluster-tutorial,不适用redis-5.0.0以下版本,原因是从redis-5.0.0版本开始,redis-trib.rb的功能被redis-cli替代了。   redis-5.0.0以下版本的安装和部署,可参考:https://blog.csdn.net/Aquester/article/details/50150163。   redis运维工具和部署工具:https://github.com/eyjian/redis-tools。

2018-11-01

大数据利器2018版

当下最流行的各类大数据、云计算开源资源列表,如:hadoop、spark、flink、hbase、redis等

2018-11-01

SSH2免密码登录OpenSSH

如何确定是OpenSSH还是SSH2? 执行命令“ssh -V”,通过它的输出,即可确定: SSH2 ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) on OpenSSH OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010

2018-10-11

两个openssh间免密码登录

以下针对的是openssh,而不是ssh,也不是ssh2。配置分两部分:一是对登录机的配置,二是对被登录机的配置,其中登录机为客户端,被登录机为服务端,也就是解决客户端到服务端的无密码登录问题。下述涉及到的命令,可以直接拷贝到Linux终端上执行,已全部验证通过,操作环境为CentOS Linux release 7.0。 如何确定是OpenSSH还是SSH2?执行命令“ssh -V”,通过它的输出,即可确定

2018-10-11

OpenSSH登录SSH2

如何确定是OpenSSH还是SSH2? 执行命令“ssh -V”,通过它的输出,即可确定: SSH2 ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) on OpenSSH OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010

2018-10-11

两个SSH2间免密码登录

以下针对的是ssh2,而不是ssh,也不是OpenSSH。配置分两部分:一是对登录机的配置,二是对被登录机的配置,其中登录机为客户端,被登录机为服务端,也就是解决客户端到服务端的无密码登录问题。下述涉及到的命令,可以直接拷贝到Linux终端上执行,已全部验证通过,操作环境为SuSE 10.1。

2018-10-11

Hadoop-2.8.0分布式安装手册

  当前版本的Hadoop已解决了hdfs、yarn和hbase等单点,并支持自动的主备切换。   本文的目的是为当前最新版本的Hadoop 2.8.0提供最为详细的安装说明,以帮助减少安装过程中遇到的困难,并对一些错误原因进行说明,hdfs配置使用基于QJM(Quorum Journal Manager)的HA。本文的安装只涉及了hadoop-common、hadoop-hdfs、hadoop-mapreduce和hadoop-yarn,并不包含HBase、Hive和Pig等。   NameNode存储了一个文件有哪些块,但是它并不存储这些块在哪些DataNode上,DataNode会上报有哪些块。如果在NameNode的Web上看到“missing”,是因为没有任何的DataNode上报该块,也就造成的丢失。

2018-09-11

ZooKeeper-3.4.6分布式安装指南

  介绍ZooKeeper-3.4.6版本的分布式安装,力求细致,提供精确的安装指导。本文的安装环境是64位的SuSE 10.1 Linux,也适用于ZooKeeper-3.4.8。   ZooKeeper节点间不需要互登录,因此不用配置免密码登录。

2018-09-10

磁盘文件读性能测试

硬盘读取性能: hdparm -t /dev/sdb /dev/sdb: Timing buffered disk reads: 2454 MB in 3.00 seconds = 817.84 MB/sec 10块物理磁盘,做了Raid10,因此读性能高,达每秒817.84MB。

2018-09-10

快速上手,协程剖析

协程也叫微线程,英文名称为 coroutine。一个进程可以有多个线程,一个线程可以有多 个协程,这是协程和线程间的关系。不同的是,线程由系统调度,但协程需要自己调度,协 程运行在用户态。

2018-09-10

理解snprintf()函数

在编程中,需要关注snprintf()的两个问题:一是它的返回值,二是它的第二个参数。

2018-09-10

madvise、fadvise、posix_madvise和posix_fadvise函数的使用

  系统调用madvise的作用:建议内核如何使用指定段的内存,可配合mmap使用。函数原型如下: #include int madvise(void *addr, size_t length, int advice);

2018-09-10

Redis-4.0.11集群配置

版本:redis-3.0.5 redis-3.2.0 redis-3.2.9 redis-4.0.11 参考:http://redis.io/topics/cluster-tutorial。 集群部署交互式命令行工具:https://github.com/eyjian/redis-tools/tree/master/deploy 集群运维命令行工具:https://github.com/eyjian/redis-tools/tree/master 批量操作工具:https://github.com/eyjian/libmooon/releases

2018-09-10

Thrift结构分析及增加取客户端IP功能实现

  分析Thrift的结构动机是为了实现服务端能取到客户端的IP,因此需要对它的结构、调用流程有些了解。另外,请注意本文针对的是TNonblockingServer,不包含TThreadPoolServer、TThreadedServer和TSimpleServer。   thrift对网络连接没有使用内存池,最直接简单的性能优化是绑定Google gperftools中的TCMalloc。

2018-09-10

再议GCC编译时的静态库依赖次顺问题

这个问题的原因是b.cpp依赖a.cpp,gcc要求(实际是ld要求)libb.a须放在liba.a前面,即需要改成:g++ -g -o x x.o libb.a liba.a,也就是被依赖的库需要放在后头。 这是最常规的解决办法,除此之外,只需要加入--start-group和--end-group两个链接参数,即可保持被依赖的库放在前头,也就是改成如下即可:g++ -g -o $@ -Wl,--start-group $^ -Wl,--end-group。 这里的“-Wl,”表示后面跟着的参数是传递给链接器ld的,gcc不关心具体是啥。“--start-group”表示范围的开始;“--end-group”表示范围的结束,是可选的。位于“--end-group”之后的仍然要求被依赖的库放在后头。

2018-09-10

C++鲜为人知的符号

  这些鲜为人知的C++符号,可直接在代码中使用,但实践中不推荐这么做,可作为茶余饭后的乐趣了解C++的另一面。   虽然它们鲜为人知,但却不是GNU g++独有的,而是C++标准定义的,找一本C++标准书或pdf文档看看,就可以见到它们赫然在目。(注:C++17标准将干掉这些鲜为人知的符号)

2018-09-10

__lll_mutex_lock_wait的错误原因

(gdb) bt #0 0x00002b9405ea1c38 in __lll_mutex_lock_wait () from /lib64/libc.so.6 #1 0x00002b9405e45e5f in _L_lock_4026 () from /lib64/libc.so.6 #2 0x00002b9405e42df1 in free () from /lib64/libc.so.6 #3 0x00002b9405e5b148 in tzset_internal () from /lib64/libc.so.6 #4 0x00002b9405e5b9d0 in tzset () from /lib64/libc.so.6 #5 0x00002b9405e5fe44 in strftime_l () from /lib64/libc.so.6 #6 0x00002b9405e93701 in __vsyslog_chk () from /lib64/libc.so.6 #7 0x00002b9405e3c6d0 in __libc_message () from /lib64/libc.so.6 #8 0x00002b9405e4177e in malloc_printerr () from /lib64/libc.so.6 #9 0x00002b9405e42dfc in free () from /lib64/libc.so.6 #10 0x00000000004007c9 in main (argc=1, argv=0x7fffa524f4d8) at x.cpp:17

2018-09-10

nohup、&、setsid、fork和fg、bg究竟有啥区别?

  子进程从父进程继承了:SessionID、进程组ID和打开的终端。子进程如果要脱离这些,代码中可通过调用setsid来实现。,而命令行或脚本中可以通过使用命令setsid来运行程序实现。setsid帮助一个进程脱离从父进程继承而来的已打开的终端、隶属进程组和隶属的会话。   需要注意,代码中调用setsid是有条件的:即调用进程自己不能是进程组长。因此,调用setsid之前需要先fork,然后由产生的子进程调用setsid。

2018-09-09

零停重启程序工具Huptime研究

  零停重启目标程序,比如一个网络服务程序,不用丢失和中断任何消息实现重新启动,正在处理的消息也不会中断和丢失,重启的方法是给目标程序的进程发SIGHUP信号。

2018-09-09

mooon_ssh和mooon_upload使用示例

  mooon_ssh被用来远程在一台或多台机器执行shell命令,而mooon_upload被用来将一个文件上传到一台或多台机器上。通过命令行参数“--help”可以查看两者的参数信息。支持高亮显示,以及成功、失败结果汇总。

2018-09-09

Kafka C++客户端库librdkafka笔记

librdkafka提供的异步的生产接口,异步的消费接口和同步的消息接口,没有同步的生产接口。

2018-09-09

Kafka常用命令收录

  本文内容主要来自两个方面:一是网上的分享,二是自研的随手记。日记月累,收录kafka各种命令,会持续更新。   在0.9.0.0之后的Kafka,出现了几个新变动,一个是在Server端增加了GroupCoordinator这个角色,另一个较大的变动是将topic的offset 信息由之前存储在zookeeper上改为存储到一个特殊的topic(__consumer_offsets)中。

2018-09-09

mooon编译系统介绍(可复用Makefile)

基于automake的编译脚本和模板,助一分钟搭建好Make

2013-06-21

性能测试进阶指南——LoadRunner 9.1实战(扫描版)

目录 第1章 性能测试基础  1.1 性能测试工程师的标准及挑战   1.1.1 性能测试工程师的考评指标   1.1.2 性能测试工程师的挑战  1.2 性能测试基础   1.2.1 性能   1.2.2 性能指标   1.2.3 性能分析及调优   1.2.4 单机软件性能与网络架构软件性能   1.2.5 性能测试的流程   1.2.6 性能测试的注意要点   1.2.7 性能测试招聘要求  小结 第2章 LoadRunner综述  2.1 LoadRunner简介

2012-11-01

深入多线程编程

线程库 多线程编程定式 无锁编程(Lock Free) 阻塞型同步(Blocking Synchronization) 非阻塞型同步(Non-blocking Synchronization) 优先级反转(Priority Inversion) 优先级继承(Priority Inheritance) 优先级顶置(Priority Overhead) 内存屏障

2012-11-01

iwlwifi-9000-pu-b0-jf-b0-34.618819.0.tar.gz

联想笔记本上Ubuntu无线网卡驱动,安装方法请参见博文:https://blog.csdn.net/Aquester/article/details/103655720。

2020-02-04

Linux后台开发工具箱-葵花宝典.pdf

本文是个大杂烩,内容为日常点滴的日积月累,持续更新当中,可关注博客(https://blog.csdn.net/Aquester或http://aquester.blog.chinaunix.net),查看最新版本。文中的内容,可帮忙开发提升分析和定位各类问题,比如找出导致IO负载高的进程等,以及一些简单的运维工作等。

2020-01-15

Docker入门之安装Docker.pdf

本文操作基于CentOS7,其它Linux发行版本可能存在差异,分基于yum的在线安装和基于二进制包的离线安装(实际还有基于rpm包的离线安装),离线安装可以更多地了解Docker及相关体系。 Docker要求Linux内核版本不低于3.10,并且必须为64位系统,执行命令“docker version”可查看Docker版本。 CentOS7防火墙默认采用的是firewalld管理netfilter子系统,底层调用的仍然是iptables命令,firewalld实际是iptables的一个封装。不同的防火墙相互间存在冲突,使用某其中一个时应禁用其他的。 谨记:容器运行在Linux内核之上,不包含位于内核之上的glibc等库,以及ls等命令。如果容器中的程序依赖glibc等库或者依赖ls等命令,则容器自身应当包含这些设施。另外,容器中的程序等必须和内核兼容,否则将会遇到“FATAL: kernel too old”错误,该错误和库文件ld-linux.so有关。

2020-01-14

服务网格代理Envoy入门.pdf

Envoy是什么? Envoy是Lyft开源的一个C++实现的代理(Proxy),和Nginx及HAProxy类似,可代理L3/L4层和L7层。代理是它最核心和基础的功能,它也是服务网格框架Istio的Sidecar。

2020-01-07

rapidjson常见使用示例.pdf

rapidjson相比jsoncpp性能高出太多,使用接口一样的简单的。官方中文帮助文档:http://rapidjson.org/zh-cn/。

2019-12-02

车世界-车的知识大全

如何区别进口,还是合资车?合资车通常在车尾贴有合资厂商的中文名称,如:一汽丰田、长安福特等,进口则无。 什么是GT跑车?拉丁文Gran Turismo,英文翻译为Grand Touring。Grand的意思是大,而Touring的意思是旅行。Grand Touring加在一起,其实是解作大型的旅行车。 在赛车界中,GT就是被指为拥有大马力动力输出,同时有车顶设计的双门双人所乘坐的超级跑车(开蓬跑车不能算为GT赛车),因此GT的中文名称或许应该称之为世界上最顶级的超级跑车。 什么是掀背?顾名思义就是“能掀起来的后背”,而汽车的后背就是后备箱盖,掀背车型就是整个后备箱盖和后车窗玻璃是一体的能够一起打开的车型,多见于两厢车。 什么是SUV?全称是Sport Utility Vehicle,中文意思是运动型多用途汽车。分两类:城市型和越野型。 什么是MPV?全称是Multi-Purpose Vehicles,中文意思是多用途汽车。同小型面包车存在明显的区别,面包车是单厢式结构,即乘客空间和发动机共同在一个框架结构内,发动机被安放在驾驶员座位的后下方。 豪华车通常指D级车,是英文Luxury

2019-11-12

基于zookeeper-3.5.5安装hadoop-3.1.2.pdf

截至本文撰写时(2019/9/17日),Hadoop最高版本为3.2.0,但适用于生产环境的为3.1.2(9月22日发布了可用于生产环境的3.2.1版本),本文只介绍3.1.2版本的分布式安装,不包含单机版安装。适用于Hadoop-3.1.3版本,所操作的环境为CentOS-7.2,对应的Linux内核版本为3.10,不同的Linux可能略有区别。 为提升安装效率,本文的安装过程使用了批量命令工具和批量上传文件工具。批量操作工具的下载和使用,请参见《附2:批量操作工具》。

2019-11-09

在hadoop-3.1.2上安装hbase-2.2.1.pdf

本文将HBase-2.2.1安装在Hadoop-3.1.2上,关于Hadoop-3.1.2的安装,请参见《基于zookeeper-3.5.5安装hadoop-3.1.2》一文。安装环境为64位CentOS-Linux 7.2版本。 本文将在HBase官方提供的quickstart.html文件的指导下进行,在docs/getting_started目录下可找到quickstart.html,或直接浏览在线的:http://hbase.apache.org/book/quickstart.html。 安装使用外置的ZooKeeper,有关ZooKeeper的安装,请参见《基于zookeeper-3.5.5安装hadoop-3.1.2》一文。 关于分布式安装,请浏览:http://hbase.apache.org/book/standalone_dist.html#distributed,关于HBase使用外置的ZooKeeper配置,请浏览:http://hbase.apache.org/book/zookeeper.html。所有在线的文档,均会出现在二进制安装包解压后的docs目录下

2019-11-09

Linux后台开发工具箱-葵花宝典.pdf

本文是个大杂烩,内容为日常点滴的日积月累,持续更新当中,可关注博客(https://blog.csdn.net/Aquester或http://aquester.blog.chinaunix.net),查看最新版本。文中的内容,可帮忙开发提升分析和定位各类问题,比如找出导致IO负载高的进程等,以及一些简单的运维工作等。

2019-11-08

REdis命令处理流程处理分析

  分析版本:REdis-5.0.4。   REdis命令处理流程可分解成三个独立的流程(不包括复制和持久化): 接受连接请求流程; 接收请求数据和处理请求流程,在这个过程并不会发送处理结果给Client,而只是将结果数据写入响应缓冲,将由响应请求流程来发送; 响应请求流程。   上述三个流程均是异步化的,并且没有直接的联系。它们的共同点均是通过REdis的简单事件驱动(AE,A simple event-driven)触发,对于Linux实际是epoll的包装,对于macOS为evport的包装,对于FreeBSD对kqueue的包装,对于其它则是select的包装。

2019-04-01

严格别名规则“-fstrict-aliasing”和“-fno-strict-aliasing”及类型双关

  “-fstrict-aliasing”表示启用严格别名规则,“-fno-strict-aliasing”表示禁用严格别名规则,当gcc的编译优化参数为“-O2”、“-O3”和“-Os”时,默认会打开“-fstrict-aliasing”。 什么是严格别名规则?gcc对严格别名的定义:

2019-01-30

源码解读Linux的limits.conf文件

本文不一定适合比较老版本的Linux,如果只关心使用,请直接看“总结”,本文主要针对CentOS,其它Linux发行版本类似,但细节可能有出入,比如重启服务可能不是用systemctl,而是service等。

2019-01-30

x86_64汇编调试程序初步

  掌握此基础,就可以用来修改无源代码的程序等,比如希望jstatd在指定的端口上监听,而不是一个值为0的随机端口号,请参见《防火墙内JVisualVM连接jstatd解决方案》。

2018-12-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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