近期文章

猿来如此 2017-11-04

在ubuntu上单机配置部署Hadoop

环境

在Ubuntu14.04上安装,在Hadoop 2.8.2版本安装通过。

准备工作

创建用户

终端下输入:

sudo useradd -m hadoop -s /bin/bash

设置密码:

sudo passwd hadoop

增加sudo管理员权限:

sudo adduser hadoop sudo

切换至刚刚创建好的hadoop用户:

sudo su hadoop

更新系统

我们需要更新下系统,这样可以保证安装软件尽量是最新版本的:

sudo apt-get update
sudo apt-get upgrade -y

安装ssh,配置无密码登录

集群、单节点模式都需要用到 SSH 登陆(类似于远程登陆,你可以登录某台 Linux 主机,并且在上面运行命令),Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server:

sudo apt-get install openssh-server

接下来使用如下命令来生成密钥,然后将密钥加入授权中:

ssh-keygen -t rsa              # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys  

接下来使用ssh localhost命令,应该会无需密码直接登录成功。

安装Java环境

sudo...
猿来如此 2017-11-04

hadoop学习笔记

首先先介绍下Hadoop,来自维基百科:

Apache Hadoop是一款支持数据密集型分布式应用程序并以Apache 2.0许可协议发布的开源软件框架。它支持在商品硬件构建的大型集群上运行的应用程序。Hadoop是根据谷歌公司发表的MapReduce和Google文件系统的论文自行实现而成。所有的Hadoop模块都有一个基本假设,即硬件故障是常见情况,应该由框架自动处理。 Hadoop框架透明地为应用提供可靠性和数据移动。它实现了名为MapReduce的编程范式:应用程序被分区成许多小部分,而每个部分都能在集群中的任意节点上运行或重新运行。此外,Hadoop还提供了分布式文件系统,用以存储所有计算节点的数据,这为整个集群带来了非常高的带宽。MapReduce和分布式文件系统的设计,使得整个框架能够自动处理节点故障。它使应用程序与成千上万的独立计算的电脑和PB级的数据。现在普遍认为整个Apache Hadoop“平台”包括Hadoop内核、MapReduce、Hadoop分布式文件系统(HDFS)以及一些相关项目,有Apache Hive和Apache HBase等等。

Hadoop框架中最核心的设计就是:MapReduce和HDFS。MapReduce的思想是由Google的一篇论文所提及而被广为流传的,简单的一句话解释MapReduce就是“任务的分解与结果的汇总...

Linux 2017-09-29

Linode开启Google BBR

熟悉科学上网的同学可能会知道,由于境内外网络环境复杂,延迟高、丢包率高,许多基于TCP协议的翻墙工具会存在传输速度低且不稳定的问题。这在很大程度上是因为,TCP协议可以使用多种拥塞控制算法,而最常用的CUBIC算法存在着无法全速发送数据、易被丢包干扰、容易产生锯齿状波动等问题。因此,各种TCP单边加速工具层出不穷,如锐速(Appex)、ZetaTCP。但这些工具需要较高的运行权限且大部分是收费使用并不开源,因此从安全、成本和可靠性的角度会让使用者有更多顾虑。
好在,2016年09月,Google向Linux Kernel提交了Google BBR的Pull Request。Google BBR是一种新的TCP拥塞控制算法,在Google的内部广域网(B4)中已经进行了广泛的测试,该算法可以充分利用网络带宽,特别是可以在20%以内丢包率下保持较高的带宽。 bbr 下面介绍下如何在Linode上开启Google BBR加速。 1、进入Linode管理后台,点击VPS操作系统的“Edit”链接进入编辑界面: 在编辑界面修改“Boot Settings”中的“Kernel”选项,只要是4.9.0及其以上的内核都是支持Google BRR的: 保存之后重启VPS。

2、重启完成后,使用SSH登录VPS,执行以下命令

echo "net.core.default_qdisc=fq" >> ...
猿来如此 2017-09-20

关于SqlServer中的NOLOCK

在我们系统的sql查询代码中,经常可以看到select之后会加一个NOLOCK的关键字,但是至于这个关键字是什么意思,问了下大家一般也就是说“禁用读写锁,可以提升查询性能”,但是真正深层次的原因却不清楚,查询了下相关资料然后整理了下分享给大家。

nolock是什么

nolock是 SQL Server 的一个关键字,这类关键字官方将其称之为 Hints。 Hints 的设计目的是为了能够让 SQL 语句在运行时,动态修改查询优化器的行为。 在语法上,Hints 以WITH开头。除了WITH(nolock), 还有TABLOCK/INDEX/ROWLOCK等常见的 Hints。 MSDN文档上的解释是这样的:

nolock的作用等同于READUNCOMMITTED

READUNCOMMITTED这是一种 RDBMS 隔离级别。 使用nolock这个关键词,可以将当前查询语句隔离级别调整为READ UNCOMMITTED。
下面来介绍下什么是隔离级别:

隔离级别

隔离级别主要有四种,其隔离程度由高到低是:
- 可序列化(Serializable) - 可重复读(Repeatable reads) - 提交读(Read committed) - 未提交读(Read uncommitted)

隔离级别主要解决的问题是加一个针对数据资源的锁,从而保证数据操作过程中的一致性。...

Python 2017-09-03

本站支持微信公众号了

在最新释出的v4.0版本中,本站集成了微信公众号的功能,现在可以使用微信公众号来管理你的vps了。
默认情况下是图灵机器人自动回复的,输入admin之后开始验证密码,通过后进入命令模式,可以通过在后台配置一些命令来在这里执行并返回结果。

当然,也集成了一些基本的博客文章搜索等功能,后续会集成一些常用等api进来。 欢迎大家扫码关注本站。 qrcode

Linux 2017-07-16

树莓派配置安装opencv

OpenCV全称:Open Source Computer Vision Library,是一个开源的跨平台计算机视觉库,OpecCV主要用c++语言编写,也提供了python等其他语言的,下面介绍下如何在树莓派上如何安装OpenCV以及OpenCV的Python调用库。

更新系统及安装依赖:

更新树莓派:

sudo apt-get update
sudo apt-get upgrade

安装依赖

安装编译等基本的依赖项:

sudo apt-get install build-essential cmake pkg-config

安装和图像相关的库:

sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev

安装基本的IO库:

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev

安装highgui相关的依赖库:

sudo apt-get install libgtk2.0-dev

安装opencv进阶依赖库,操作矩阵等:

sudo apt-get install li...
发现更多