在docker中使用 CentOS7 官方镜像的时候,使用Systemd 的话会报错:
```
➜ ~ docker run -it centos:7 /bin/bash
[root@ead8524a303e /]# systemctl list-units
Failed to get D-Bus connection: Operation not permitted
[root@ead8524a303e /]# exit
# 加...
# 调优概述
几乎在很多场景,MapRdeuce或者说分布式架构,都会在IO受限,硬盘或者网络读取数据遇到瓶颈.处理数据瓶颈CPU受限.大量的硬盘读写数据是海量数据分析常见情况.
IO受限例子:
```
索引
分组
数据倒入导出
数据移动和转换
```
CPU受限例子:
```
聚...
## Hadoop Streaming
Hadoop streaming是Hadoop的一个工具, 它帮助用户创建和运行一类特殊的map/reduce作业, 这些特殊的map/reduce作业是由一些可执行文件或脚本文件充当mapper或者reducer。例如:
```
$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/share/hadoop/...
## 数据完整性及其采用的技术
保证数据在传输过程中不损坏 ,常见的保证数据完整性采用的技术
### 奇偶校验技术
根据被传输的一组二进制代码的数位中"1"的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的。...
##环境准备
### 支持平台
GNU/Linux是产品开发和运行的平台。 Hadoop已在有4000个节点的GNU/Linux主机组成的集群系统上得到验证。
Win32平台是作为开发平台支持的。由于分布式操作尚未在Win32平台上充分测试,所以还不作为一个生产平台被支持。
### 所需软件
Linux...
## Bash 的高级特性
bash支持很多强大的功能,还可以用脚本编程,这也体现了Linux的一些设计理念。熟练后,你会觉得Linux很简单,很方便,它对你是开放的,没有那么多的限制。比如说重定向和管道,可以让你通过一个小小的操作符控制命令的输出和输入流。另一方便可能它...
## 什么是vi/vim
Linux绝大部分的配置文件都是纯文本形的,vi是linux下的一个文本编辑器,所有linux发行版都会默认安装。vim是vi的增强版本,功能更强大,比如:高亮显示,高级搜索、多文件编辑、区块复制等等。如果你习惯了windows窗口编辑器,那vim还是有很大挑战...
## 什么是Shell Script
简单说 shell脚本就是使用shell提供的功能编写的一段程序,是一个文本文件,有点像DOS年代的批处理程序。从程序员的角度将就是把 shell命令 通过变量、条件判断、循环、数据重定向等等粘合起来保存成一个文本文件,用于解决一个命令不好解决的...
## Linux文件系统概述
硬盘分区后,还要进行文件系统的格式化,才能被操作系统使用。文件系统是一种存储和组织计算机数据的方法。文件系统格式需要操作系统支持,比如 windows使用的文件系统FAT,FAT32,NTFS等,Linux常用的文件系统ext2,ext3,ext4,xfs 等。为什么这样?...
Spark Streaming 模块是对于 Spark Core 的一个扩展,目的是为了以高吞吐量,并且容错的方式处理持续性的数据流。目前 Spark Streaming 支持的外部数据源有 Flume、 Kafka、Twitter、ZeroMQ、TCP Socket 等。Kafka 是一个分布式的,高吞吐量,易于扩展地基于主题发布/订...
## 为什么用Flume NG?
对Flume NG不了解的朋友可以阅读一下这篇文章[Flume NG入门详解](http://hainiubl.com/topics/12) 。开源的日志采集方案很多:
* Scribe : 是Facebook开发的数据收集系统,项目不怎么维护。
* Logstash: 是著名的开源数据栈ELK中的那个L。L...
## 项目背景
Cloudera 开发的分布式日志收集系统 Flume,是 hadoop 周边组件之一。其可以实时的将分布在不同节点、机器上的日志收集到 hdfs 中。Flume 初始的发行版本目前被统称为 Flume OG(original generation),属于 cloudera。但随着 FLume 功能的扩展,Flume OG...
## 什么是docker
Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。
Docker 自开源后受到广泛的...
Spark是目前大数据生态中比较活跃的一个项目,但Spark是scala语言开发,scala语言语法灵活,能够写出优雅的函数式编程的代码。对于一般初学大数据的朋友来说,有可能大部分都是会java语言的,Spark支持scala,java,python api接口,但是如果使用java7或java6编写Spark...
## 什么是Stream?
Java 8引入了全新的Stream API,我们看看java8 doc里面的定义:
>A sequence of elements supporting sequential and parallel aggregate operations
简单翻译过来就是一个支持串行和并行聚合操作的元素序列。有点抽象,我们简单总结一下这里有...
## 什么是Lambda表达式
Lambda表达式基于数学中的λ演算得名,lambda表达式也可以叫做匿名函数,是指一类无需定义标识符(函数名)的函数或子程序。匿名函数最早是由LISP语言提出,后续好多语言都支持此特性。JAVA语言是面向对象语言,号称一切皆为对象,对函数式编程...
## 调优概述
几乎在很多场景,MapRdeuce或者说分布式架构,都会在IO受限,硬盘或者网络读取数据遇到瓶颈.处理数据瓶颈CPU受限.大量的硬盘读写数据是海量数据分析常见情况.
IO受限例子:
```
索引
分组
数据倒入导出
数据移动和转换
```
CPU受限例子:
```...
## 安装部署
部署hive非常简单只要下载稳定版本,解压开就可以使用,当然也可以通过源码编译部署。hive发展到现在已经有hive-1.x.y和hive-2.x.y版本,hive2版本代码层面改动比较大,有些特性不向前兼容,不在支持hadoop1。
```Hive-on-MR is deprecated in Hive 2 a...
## HDFS元数据
HDFS元数据用树形结构保存了hdfs目录和文件结构,同时保存权限/所有者/容量/副本等信息。不要去修改hdfs元数据目录和文件否则会造成数据丢失。
持久化hdfs元数据主要有两类数据
* fsimage 保存整个文件系统在某个时间点的完整状态,简单理解为元...
## 二次排序基本原理
二次排序的需求是将全量数据分组,然后在组内进行排序,比如我们要实现全国每个省各个城市的雾霾指数由高到低的排序。这就是一个二次排序的需求,在省内对各城市排序,所以排序划分数据的时候要按照省去划分,同组数据再按照城市的雾霾指数排序,...
整理一下eclipse最常用的快捷键,使用好快捷键,写代码的效率一定会有提高,你也可以自己去绑定快捷键。
## 编辑
```
Ctrl+1 快速修复(最经典的快捷键,可以解决很多问题,比如import类、try catch包围等)
Ctrl+Shift+F 格式化当前代码
Ctrl+Shift+M 添加类的...
## 什么是Java反射
Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
Java反射(放射)机制:“程...
## 什么是Hadoop archives?
Hadoop archives是特殊的档案格式。一个Hadoop archive对应一个文件系统目录。 Hadoop archive的扩展名是*.har。Hadoop archive包含元数据(形式是_index和_masterindx)和数据(part-*)文件。_index文件包含了档案中的文件的文件名和位置...
## 概述
调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args>的形式。 所有的的FS shell命令使用URI路径作为参数。URI格式是scheme://authority/path。对HDFS文件系统,scheme是hdfs,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加...
Hadoop对于压缩格式的是透明识别,hadoop能够自动为我们将压缩的文件解压。 目前在Hadoop中常用的几种压缩格式:lzo,gzip,snappy,bzip2,我们简单做一下对比,方便我们在实际场景中选择不同的压缩格式。
支持特性对比:
压缩格式|codec类|算法|扩展名|多文件|sp...
Hadoop里面有VLongWritable和VIntWritable,对long和int进行编码存储,它们都是采用zero-compressed encoded的变长编码方式存储数值,有利于减少数据空间占用。算法大概过程是单独拿出一个字节存储数值占用的字节长度,再拿出一些字节存储数值。这样的话一个long类型就...
Hadoop 实现了对于关系型数据库导入导出数据的支持,就是利用DBInputFormat 和DBOutputFormat。对于需要操作关系数据的任务是可以直接使用的。接下来我们演示一下:
## 假设需求场景
我们在mysql中有两种表,一个是user表,记录用户信息,一个是用户数据表记录用户...
使用maven创建scala项目,scala-archetype-simple有bug,会遇到一些问题,这里整理记录一下。
我的环境是:
```
maven 3.3.9
eclipse 4.6
java 1.8
```
## 通过命令行的形式创建 scala项目:
```
mvn archetype:generate -B \
-DarchetypeGroupId=net.a...
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成。
这里总结一些常用插件:
## maven-compile-plugin
这个插件就如同名字所显示的这样,用来编译源代码的
```
<plugin>
<groupId>org.apache.mave...
####在青牛的耐心指导下,把hadoop集群给搭建好了。不得不说青牛的功力很深厚啊。
#此方案的流程:
1、常规JDK安装以及Linux系统配置
2、集群规划以及集群场景
3、ZooKeeper集群搭建
4、Hadoop2.6.0版本HA集群搭建
5、验证ZooKeeper、Hadoop等集群运...