2014年6月 ’ 的文章存档

Hadoop科普文—常见的45个问题解答

1.Hadoop集群可以运行的3个模式?

  1. 单机(本地)模式
  2. 伪分布式模式
  3. 全分布式模式

2.  单机(本地)模式中的注意点?

在单机模式(standalone)中不会存在守护进程,所有东西都运行在一个JVM上。这里同样没有DFS,使用的是本地文件系统。单机模式适用于开发过程中运行MapReduce程序,这也是最少使用的一个模式。
阅读全文

getsockopt的TCP层实现剖析

应用层

 

NAME

getsockopt – get options on sockets

SYNOPSIS

#include <sys/types.h>

#include <sys/socket.h>

int getsockopt (int s, int level, int optname, void *optval, socklen_t *optlen);

 

调用关系

阅读全文

流量劫持 —— 浮层登录框的隐患

传统的登录框

在之前的文章流量劫持危害详细讲解了 HTTP 的高危性,以至于重要的操作都使用 HTTPS 协议,来保障流量在途中的安全。

traditional-login

 

这是最经典的登录模式。尽管主页面并没有开启 HTTPS,但登录时会跳转到一个安全页面来进行,所以整个过程仍是比较安全的 —— 至少在登录页面是安全的。
阅读全文

深入剖析 redis 事务机制

redis 事务简述

MULTI,EXEC,DISCARD,WATCH 四个命令是 redis 事务的四个基础命令。其中:

  • MULTI,告诉 redis 服务器开启一个事务。注意,只是开启,而不是执行
  • EXEC,告诉 redis 开始执行事务
  • DISCARD,告诉 redis 取消事务
  • WATCH,监视某一个键值对,它的作用是在事务执行之前如果监视的键值被修改,事务会被取消。

在介绍 redis 事务之前,先来展开 redis 命令队列的内部实现。

redis 命令队列

redis 允许一个客户端不间断执行多条命令:发送 MULTI 后,用户键入多条命令;再发送 EXEC 即可不间断执行之前输入的多条命令。因为,redis 是单进程单线的工作模式,因此多条命令的执行是不会被中断的。
阅读全文

linux 信号量

信号量及信号量上的操作是E.W.Dijkstra 在1965年提出的一种解决同步、互斥问题的较通用的方法,并在很多操作系统中得以实现, Linux改进并实现了这种机制。

信号量(semaphore )实际是一个整数,它的值由多个进程进行测试(test)和设置(set)。就每个进程所关心的测试和设置操作而言,这两个操作是不可中断的,或称“原子”操作,即一旦开始直到两个操作全部完成。测试和设置操作的结果是:信号量的当前值和设置值相加,其和或者是正或者为负。根据测试和设置操作的结果,一个进程可能必须睡眠,直到有另一个进程改变信号量的值。

信号量可用来实现所谓的“临界区”的互斥使用,临界区指同一时刻只能有一个进程执行其中代码的代码段。为了进一步理解信号量的使用,下面我们举例说明。

 假设你有很多相互协作的进程,它们正在读或写一个数据文件中的记录。你可能希望严格协调对这个文件的存取,于是你使用初始值为1的信号量,在这个信号量上实施两个操作,首先测试并且给信号量的值减1,然后测试并给信号量的值加1。当第一个进程存取文件时,它把信号量的值减1,并获得成功,信号量的值现在变为0,这个进程可以继续执行并存取数据文件。但是,如果另外一个进程也希望存取这个文件,那么它也把信号量的值减1,结果是不能存取这个文件,因为信号量的值变为-1。这个进程将被挂起,直到第一个进程完成对数据文件的存取。当第一个进程完成对数据文件的存取,它将增加信号量的值,使它重新变为1,现在,等待的进程被唤醒,它对信号量的减1操作将获得成功。

上述的进程互斥问题,是针对进程之间要共享一个临界资源而言的,信号量的初值为1。实际上,信号量作为资源计数器,它的初值可以是任何正整数,其初值不一定为0或1。另外,如果一个进程要先获得两个或多个的共享资源后才能执行的话,那么,相应地也需要多个信号量,而多个进程要分别获得多个临界资源后方能运行,这就是信号量集合机制,Linux 讨论的就是信号量集合问题。

阅读全文

数学之美:Hacker News的热门排名算法

Hacker News 是一家关于计算机黑客和创业公司的社会化新闻网站,由 Paul Graham的创业孵化器 Y Combinator 创建。与其它社会化新闻网站不同的是 Hacker News 没有踩或反对一条提交新闻的选项(不过评论还是可以被有足够 Karma 的用户投反对票,或是投支持票);只可以赞或是完全不投票。简而言之,Hacker News 允许提交任何可以被理解为“任何满足人们求知欲”的新闻。
阅读全文

Mysql 设备选型与系统规划-实战参考文档

引言:项目的设备选型是一项细腻而又艰巨的任务。因为它有一次性、不可更改、兼容性、扩展性、功能性、性能性、易用性等参数阀值来参照。例如我们的项目,首先要了解今年的设备采购预算有多少,如何分配的,分配下来每个项目大概有多少,按照预算标准进行分级。其次由于我们是金融企业采购范围是有所限制的,会有一个备选目录,上面列举了品牌、厂家、规格等信息,只能在这些目录中选择,如果设备有超出目录的需要写说明申请。

再次就需要按照需求说明书和自己的实战经验来选择合适的设备,我可以列举几项参考参数来帮助我们选择到合适的设备。

 

设备选型

CPU:聚合运算、并行度、硬件RAM结构、内存匹配程度,是选择CPU的重要指标。

内存:结果集响应时间、部署的软件负载程度、操作系统、数据交互、内存总线,是选择内存的重要指标。
阅读全文

创业“负”能量:创业失败,这是我的感受

原文来源:Medium

rrr

我们有用户,日常有交易,但是我们还是失败了。四年的感人的过山车式的创业历程终于画上了句号。

前言

90% 的科技创业企业最后以失败告终,但是我从来没有想过我创办的 99dresses 能成为这 90%。

如果创业只教会了我一件事,那就是我比自己想象的都要坚韧的多。回首创业,我还在高中的时候就创办了 99dresses,那时候我的太年轻,对于自己做的事一无所知。实际上,我根本就不知道创业到底是什么。我只知道我想解决一个自己遇到的问题:衣橱里挂满了衣服,但是依旧觉得没有衣服穿。
阅读全文

怎么得到你喜欢作者新书的免费、预发布版本

曾经在亚马逊发现一本新书,今天刚上线,我想知道它是如何得到那些评论的?看了看封面,想道,“在这本书公开发行之前,它就被打印好了,但是它包含了著名企业、名人和其他作家的推荐。”

这些评论者为什么如此早地拿到书了呢?我也能得到吗?

下面是我的步骤。

当我们看到有很多人在看东西的时候,我们会产生兴趣。这是我们心理在作祟。因此作者想让推荐信围绕着他们的书。

出版公司和他们的公关职员负责这些评论的工作。他们把该书的早期版本传给同一家出版公司的其它作者,或邮件给他们联系人里的有影响力的人。
阅读全文

15 款 Windows 的数据恢复工具

无论是Mac系统还是Windows系统,都有不计其数的数据恢复工具可提供下载和使用。它们可以帮助你恢复误删的文件,或是恢复那些由于病毒而丢失的数据。你应当知道,在你删除一个文件的时候,它们被放入了回收站(对windows而言)。一旦清空回收站,你就不能恢复文件了,可能你会认为它已经彻底被删掉了。好吧,如果是这样的话,这倒是一个存在“可能性”的案例,因为不借助第三方的应用程序,你是不可能恢复这些文件的,有了第三方工具,文件距离彻底丢失还有一段距离。

除非在你硬盘上存储指定文件的扇区损坏或者被复写,还是有些软件可以帮助你恢复文件的。下面的列表包含了15种此类软件。这些软件相对而言非常容易上手。不过要注意,本文提到的这些软件都是针对Windows平台而言,并且是免费软件。闲话少说,精彩马上呈现……15款windows的数据恢复工具。我们希望你能享受这篇文章,一如往常,我们非常希望看到您的评论。
阅读全文