自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Hadoop MapReduce Streaming小实验:单词计数

Hadoop MapReduce小实验:单词计数   输入:单词列表文件,里边的部分单词会重复,每个单词以换行分开。 good sun apple sun ……   mapper程序:利用AWK脚本再每个单词后边添加TAB和“1”。此时,单词是key,数字“1”是value,代表单词出现了一次,k...

2017-09-03 23:34:05 565 0

原创 PHP的最大递归层数

PHP的最大递归层数跟程序内存限额有关。php5默认允许一个程序使用128M的内存,因此当你的递归层数过大导致128M内存耗尽时,程序会产生一个致命错误并退出。   编辑php.ini文件可以更改PHP的最大内存使用限制: ; Maximumamount of memory a script...

2017-09-02 10:39:23 2402 0

原创 解决wordpress部分博客文章页面无法显示的问题

搭建完wordpress,试着写了一篇博客。文章发布后,首页已经能显示出文章的标题,但是点进去后却提示该页无法显示。 百度一番,先后尝试网上的修改apache配置等方法后依然无效。折腾到最后无意间发现,这个问题是由于wordpress生成的链接中包含中文字符导致的。手动修改链接为纯英文,问题解决。...

2017-06-22 20:06:34 12357 4

原创 利用阿里云搭建wordpress个人博客

系统环境:   服务器:阿里云ECS1核 2GB 系统:阿里云提供的CentOS 7.2 64位   安装:   安装PHP: yum install php php-devel yum install php-mysql yum install php-gd  #...

2017-06-21 23:25:29 1693 0

原创 c++多线程编程遇到的问题小结

众所周知,多线程编程很容易遇上诸如丢失更新、脏读、死锁等烦人的线程冲突问题。多线程的问题一旦发生便很难定位和解决,所以要在编程的初始阶段就要注意避免多线程程序常见的错误。下面总结一些个人在c++多线程编程中遇上的问题。 1、类中的数据成员要尽可能设置读写专用函数,并且在函数中用互斥锁进行并发保护...

2014-08-21 19:43:31 3323 0

原创 在python中扩展c语言模块

有一个以前写的c语言代码,我想把它用在python程序中。我先是看了《python基础教程》一书中的方法,书中说可以用swig加python内置distutils模块的方法来实现。我照着书上的步骤试了试,结果在导入模块的时候总是提示“ImportError: dynamic module doe...

2014-08-16 14:38:04 1954 0

原创 epoll所属IO模型的个人 见解

最近在学习IO模型,就突然想到了epoll属于哪个IO模型这个问题。要研究这个问题,我们首先要知道有哪些常用的IO模型。 常见的IO模型如下: 阻塞IO:程序阻塞直到IO可用。最简单的IO模型,你平时调用的recvfrom接收函数就属于这个模型。 非阻塞IO:程序调用IO函数后立刻返回,无论当前I...

2014-08-16 13:53:30 1688 0

原创 hiredis中异步的实现小结

一般情况下我们使用的都是hiredis的同步通信机制,这种机制下每当你向服务器发送命令请求,程序都会阻塞直到收到服务器的回复并处理。而如果采用异步通信,程序就不需要阻塞等待服务器的回复,而是直接继续执行后边的代码,当服务器回复到来后由程序中预先注册的回调函数来处理回复。

2014-08-15 13:14:19 12579 3

原创 yii框架:CDbConnection failed to open the DB connection: could not find driver的解决办法

这个问题是因为php中缺少pdo mysql造成的

2014-08-09 14:10:14 6291 0

原创 linux下php中找不到php配置文件php.ini的解决方法

首先需要说明的是,如果你的php是编译安装的,那么默认是没有php.ini的,你必须自行去源码包里边拷贝。之后运行phpinfo()命令可以看到php指定的配置文件路径,把配置文件放到这个路径中即可。

2014-08-09 14:08:44 9442 0

原创 mysql数据库拷贝

我们经常会有这样的需求,将某个服务器上的mysql数据库完整拷贝到其他机器上,比如数据库迁移。要想做到这点最简单的就是使用mysql提供的现成工具:mysqldump。     使用mysqldump的时候需要指定账号、密码、主机等信息。     例如:mysqldump -h 10.10.8...

2014-08-04 15:57:12 829 0

原创 php Warning:date(): It is not safe to rely on the system's timezone settings

这个问题是因为你没有设置php的默认时区。打开/etc/php.ini,然后找到date一栏,添加以下内容:date.timezone = Asia/Shanghai 之后还要重启apache:service httpd restart

2014-08-04 13:59:12 508 0

原创 yii框架搭建异常:Application runtime path is not valid

这个错误通常是因为yii对runtime path没有权限造成的。起初我按照网上的方法吧提示中的runtime path的权限设为777,但是问题依然存在。检查apache的设置,没有任何问题。接着我考虑是不是SELinux的问题,关闭SELinux,问题果然解决了。看来以后只要遇上文件权限相关的...

2014-08-04 13:58:06 979 0

原创 yii框架搭建问题:PHP Fatal error: require_once(): Failed opening required

这个问题一般是由于你的yii程序所在的目录无法被apache读造成的。把yii程序目录移动到apache可读的目录,例如/var/www/html即可解决这个问题

2014-08-04 13:56:21 8952 0

原创 mapreduce任务失败、重试、推测式执行机制小结

mapreduce中我们自定义的mapper和reducer程序在执行后有可能遇上出错退出的情况,mapreduce中jobtracker会全程追踪任务的执行情况,对于出错的任务mapreduce也定义了一套自己的处理方式。

2014-07-30 10:44:14 3605 0

原创 c++中析构函数调用时机的研究

众所周知,c++中的每个类都会有一个析构函数,当这个类的对象被销毁的时候,对象会自动调用析构函数。那么什么情况下对象的析构函数会被自动调用呢?其实这个问题也可以换种方式问,什么情况下对象会被自动销毁。

2014-07-29 11:43:00 1742 0

原创 利用sendmsg和recvmsg来指定发送接口或者获取接收数据接口

前言     sendmsg和recvmsg函数是一对相对下层的套接字发送、接受函数。通过这对函数,我们可以设置或者取得数据包的一些额外的控制信息,这些信息中比较常用的就是本文要介绍的发送、接受接口信息。通过这对函数,我们可以指定一个数据包发送的时候使用的接口(网卡)或者获得一个接受到数据包的来...

2014-07-13 19:33:22 2625 0

原创 Linux下利用signal函数处理ctrl+c等信号

前言     linux下可以通过信号机制来实现程序的软中断,是一个非常有用的编程方法。我们平时在程序运行的时候按下ctrl-c、ctrl-z或者kill一个进程的时候其实都等效于向这个进程发送了一个特定信号,当进程捕获到信号后,进程会被中断并立即跳转到信号处理函数。默认情况下一个程序对ct...

2014-07-13 17:53:09 25372 0

原创 linux套接字通信之recv中的缓存机制的研究

以前一直有这么一个小小的疑惑,当一个进程注册一个套接字后,如果这个套接字没有被调用recv函数接受数据包,那么这个套接字能接受到数据包吗? 或者这样说,如果我的程序注册了一个套接字去接受数据包,但是每收到一个数据包都需要很长一段时间处理,并且在处理数据包的途中recv函数使没有被调用的,那么如果程...

2014-07-13 17:29:47 1240 0

原创 centos下hadoop的安装

hadoop的安装不难,但是需要做不少的准备工作。 一、JDK 需要先安装jdk。centos下可以直接通过yum install java-1.6.0-openjdk来安装。不同发布版的安装方式可能不一样。     之后,需要设置ssh为密钥认证登录。如果没有这一步,那么以后每次hadoop运行...

2014-07-13 17:25:01 726 0

原创 linux系统中各个路由表的研究

linux中有0~255共256张路由表。其中0号表示unspec(未指定),253,254,255分别表示default、main、local表。除了以上4张表外的其他表都是留给用户指定的表。现在就说下以上5张系统表的作用。     首先是0号表unspec。这张表可以理解成所有路由表的总和,...

2014-07-13 17:23:31 1837 0

原创 hadoop集群搭建datenode为0问题的解决

搭建了一个小的实验集群,一共4台机器,一台namenode,三台datenode。执行start-all,发现在namenode上没有报任何错误,但是启动后直接显示datenode数量为0。     到datenode上查看日志,发现有这么个错误: ERROR org.apache.hadoop...

2014-07-13 17:21:22 3243 0

原创 hadoop steaming中ERROR:Job not successful. of failed Reduce Tasks exceeded allowed limit.的解决办法

用hadoop streaaming写了个小的mapreduce实验程序,脚本如下: #! /bash/sh hadoop jar /usr/share/hadoop/contrib/streaming/hadoop-streaming-1.2.1.jar \ -input intest \...

2014-07-13 17:19:55 2709 1

原创 c++中引用的一些研究

前言 在c++中,一个变量的引用代表这个变量的别名。如果我们为一个变量定义了引用,则对该引用的操作等效于对所引用的变量的操作。那么,如果在一个函数中返回引用类型,将会产生什么样的现象? 引用作为返回值 下边写一个简单的程序演示引用作为返回值的情况。 class ts { public: ...

2014-07-02 15:55:42 670 0

原创 NoSQL数据库简介

前言 NoSQL:not only SQL(可不是No SQL啊),它的意义是:在适用关系型数据库的时候使用关系数据库,但是在不适合用关系型数据库的地方使用其他数据库。NoSQL的出现主要是为了弥补关系型数据库的不足,可以算是关系型数据库的一个补充吧。但是必须明白一点,NoSQL不是为了取代关系...

2014-07-01 19:30:25 1028 0

原创 redis数据库的设计实例

本文介绍如何使用redis实现一个小的微博系统(该例子来源于redis官网文档)。 首先,我们要设计我们的redis数据库。对于关系型数据库,设计数据库通常等同于设计table、模式等。对于redis我们是不需要这些的,所以我们只需要设计我们程序中的数据结构用什么key、用哪种value表示就足...

2014-07-01 19:25:39 10626 0

原创 linux中epoll模型的总结

一、前言     epoll是Linux下的一种IO多路复用技术。简单的说就是可以实现对多个文件描述符的管理和操作,比如说同时监听多个套接字。epoll的功能跟select很像,但是又能够解决select在大规模并发网络应用场景下效率低下的问题,绝对是大型网络程序(Http服务器)的利器...

2014-06-22 19:44:33 705 0

原创 linux下c++编译入门小结

最近在linux下学习c++,发现linux下编译c++程序和编译c程序还是有不少区别的。     先是照着书上的例子把习题的源代码敲了进去,然后直接gcc编译,结果报出n个错误。首先是提示编译器比支持c++,看来是编译器的问题。直接yum search gcc,结果在里边发现一个gcc-c++...

2014-06-09 17:18:34 618 0

原创 linux下出现connect failed: Permission denied错误的解决办法

有两台linux服务器,一台ubuntu13,一台fedora20,我想用iperf命令测试下两台机器之间的带宽。两台机器已经经过配置保证可以相互ping通。试着在ubuntu上运行iperf客户,fedora上运行iperf服务器,但是每当ubuntu运行iperf后都会显示:connect f...

2014-06-08 16:41:01 6708 0

原创 linux套接字通信之recv中的缓存机制的研究

以前一直有这么一个小小的疑惑,当一个进程注册一个套接字后,那么这个进程每次调用recv系函数接收数据的时候,接收的是执行recv期间收到的数据还是一定时期内收到的数据? 或者这样说,如果我的程序收到一个数据包后需要很长一段时间处理,然而在某段时间又突然有一大批包在很短的时间内发过来(短过数据包的处...

2014-06-04 10:48:23 628 0

原创 fedora下vim的安装

今天用虚拟机新装了个fedora20系统,发现

2014-06-03 15:54:46 3629 0

原创 ip6tables中nflog的使用

一、前言     iptables中有个非常有用的功能:log。通过log我们可以在内核特定位置抓取我们想要的数据包,之后由用户层的程序接收数据包的log并做相应处理。iptables中的log target主要有以下三种:     1、log     log target会把匹配到的数据包...

2014-06-02 00:28:46 2500 1

原创 宏定义错误:error: expected ‘;’ before ‘if’的解决方案

今天写了个宏来处理函数返回的结果,结果编译后总是提示:     iplb_core.c:21:33: error: expected ‘;’ before ‘if’     #define CORE_IF_ERROR(res,estr) if((res) 但是宏的写法明明是没有问题的,按理不...

2014-06-01 16:14:48 5377 0

原创 lib库安装小心得(libnetfilter_log的安装)

最近要写一个iptables的nflog接收软件,去网上找到了一个历程,下载下来安装后提示缺少libnetfilter_log库。软件作者提示可以去netfilter官网上查看此库的说明。于是我便去官网上找到了这个库的文档和下载地址。在这不得不说的是,如果要进行基于linux某些模块的开发工作,这...

2014-05-31 21:38:12 3725 0

原创 ssh远程连接客户端Xshell莫名其妙输出一大堆“xshell”的原因

用Xshell远程连接到一台linux主机上运行自己编写的代码,经常会莫名其妙地输出一堆“xshell”,甚至程序都没有运行了,命令行依然会输出这些东西。排查了一会,发现这些“xshell”总是跟在一个printf语句后边,而这个语句是把从套接字接受的数据直接以%s的形式输出,看来问题就出现这。我...

2014-05-30 13:25:19 2545 1

原创 使用source insight源码编辑软件显示linux库函数及相关宏定义

source insight是一个非常强大的源码查看软件,它可以分析出源码中各个函数

2014-05-30 12:37:44 3219 0

原创 ubuntu+win8下samba的搭建

samba可以实现linux主机与windows主机间文件夹的共享,使用与“网络邻居”相同的技术。要想让你的win主机访问某个linux主机的文件夹,首先要在linux主机上建立samba服务器。     samba主要通过配置/etc/samba/smb.conf配置文件来搭建。不过首先当然要...

2014-05-30 10:45:45 1331 0

原创 fedora14中的syslog服务使用小结(获取hostapd的用户接入信息)

一、前言     需要从hostapd程序中获取用户的接入信息,而这个程序也刚好提供了syslog功能,即使用linux的集中式日志管理工具syslog来记录程序运行中的一些信息。在开启程序的syslog功能后,程序会自动把日志记录发送给syslog守护进程进行处理。 二、syslog服务的配...

2014-05-27 13:54:46 1745 0

原创 linux下原始ip数据包包头(tcp头、udp头)的获取和分析

前言     在有些时候我们需要直接抓取并分析原始ip数据包(比如说netfilter内核框架中数据包的分析、原始套接字中数据包的分析),但是我们所能获得的ip数据包通常只是一个若干字节的在连续地址空间中存储的数据,比如存在数组char[MSG_SIZE]中,下面介绍如何分析原始ip数据...

2014-05-15 20:25:01 4906 0

原创 linux下使用iptables ulog+netlink在内核中抓取特定数据包

前言     iptables是linux下基于Netfilter框架实现的防火墙软件。通过iptables我们可以方便的对内核中流动的数据包进行一些处理。iptables拥有强大的log(数据包记录)功能,可以把按特定规则匹配的ip数据包以log的形式传递到用户层供用户分析,这样我们就...

2014-05-15 19:45:53 12521 1

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