[toc]
hadoop学习笔记
Bigdata
结构化数据: 约束
半结构化数据:
非结构化数据: 没有元数据;
搜索引擎:搜索组件、索引组件共同组成
蜘蛛程序:
存储:
分析处理:
2003年: The Google File System
2004年: MapReduce: Simplified Data Processing On large Cluster
2006年: BigTable: A Distributed Strorage System for Structure Data
HDFS + MapReduce = Hadoop
HBase
Nutch
MapRduce 是批处理程序:
DN: Data Node NN: Name Node SNN: Secondary Name Node
函数式编程:
Lisp, ML函数式编程语言;高阶函数;
map, fold
map: 一个任务映射为多个map(f())
map: 接受一个函数为参数,并将其应用于列表中的所有元素,从而生成一个结果列表;
fold: 接受两个能数:函数,初始值fold(g(), init)
mapreduce: mapper, reducer
mapper:统计、排序 k-v(键值数据)
统计一本书每个单词出现的次数:
mapper:每100页一个单位, 5 mappers
用于拆分成为单词:10000000
reducer:
reducer1, reducer2
mapper: this 1, is 1 ,this1 ,how1
同一个键的数据只能发往同一个reducer
reducer: this 500 is
MRv1(Hadoop2) --> MRv2(Hadoop2)
MRv1: Cluster resource manager,Data processing
MRv2:
YARN: Cluster resource manager
MRv2: Data processing
MR: batch
Tez: execution engine
RM: Resource Manager
NM: Node Manager
AM: Application Master
container: mr任务
Ambari
Hadoop Distribution:
Cloudera: CDH
Hortonworks: HDP
Intel: IDH
MapR:
安装使用Hadoop
单机模型: 测试使用;
伪分布式模型: 运行于单机;
分布式模型: 集群模型;
Hadoop,基于Java语言;
需要配置jvm和jvm home环境;
jdk: 1.6, 1.7, 1.8
hadoop-2.6.2 jdk 1.6+
# yum -y install java-1.7.0-openjdk.x86_64
# vim /etc/profile.d/java.sh
export JAVA_HOME=/usr
# chmod +x /etc/profile.d/java.sh
# source /etc/profile.d/java.sh
# yum -y install java-1.7.0-openjdk-devel
# cd /usr/local/src && # wget https://archive.apache.org/dist/hadoop/core/hadoop-2.6.1/hadoop-2.6.1.tar.gz
#