hadoop简单介绍和简单实践视频教程 慕课网: https://www.imooc.com/video/7642
预备知识:
liunx基本操作
java开发基础知识
google的大数据技术:MapReduce,BigTables,GFS
革命性变化:
- 成本降低,能用pc机就不用大型机和高端存储。
- 软件容错,硬件故障视为常态,通过软件保证可靠性。
- 简化并行分布式计算,无需控制节点同步和数据交换。
google分布式计算的开源实现 Hadoop ,由apache开发。
解决两个问题,分布式存储和分布式数据处理。
对应HDFS(分布式文件系统)和MapReduce(映射规约)
![](https://img.haomeiwen.com/i2833665/a189a9677ad8874c.png)
Hdoop优势:
- 高扩展
- 低成本
-
成熟的生态圈
Hadoop 生态系统
Hive 小蜜蜂,牵引
![](https://img.haomeiwen.com/i2833665/00cdf695be0074e3.png)
Hbase
![](https://img.haomeiwen.com/i2833665/6d1ffcdf16e6c9a9.png)
![](https://img.haomeiwen.com/i2833665/e4f70224c90819e7.png)
zookeeper
![](https://img.haomeiwen.com/i2833665/34cf32e8aa068ef3.png)
Hadoop安装
- 准备linux
租用云主机,比如阿里云。 - jdk环境
centos下有所不同
1、下载 : yum install java-1.7.0-openjdk
2、配置环境变量 vim /etc/profile
export JAVA_HOME=/jdk路径
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/lib:$JRE_HOME/lib:$PATH
3、让配置生效source /etc/profile
4、输入 java -version 进行测试
vim /etc/profile
配置环境变量
export JAVA_HOME=/jdk路径
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/lib:$JRE_HOME/lib:$PATH
让配置生效
source /etc/profile
- 配置Hadoop
wegt http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz
![](https://img.haomeiwen.com/i2833665/a52f95193b0d2ef0.png)
修改四个配置文件
![](https://img.haomeiwen.com/i2833665/70156de6bb1d1f91.png)
<!-- core-site.xml -->
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/hadoop/name</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
hdfs-site.xml
<property>
<name>dfs.data.dir</name>
<value>/hadoop/data</value>
</property>
HDFS
![](https://img.haomeiwen.com/i2833665/721d47df6a8a9deb.png)
![](https://img.haomeiwen.com/i2833665/2a789270741fd297.png)
![](https://img.haomeiwen.com/i2833665/bd5eff8e2eec4f49.png)
![](https://img.haomeiwen.com/i2833665/a66139bdd425d721.png)
文件读取流程:
客户端发送请求给NameNode,NameNode告诉客户端数据在哪些DataNode,然后客户端找DataNode读取数据。
![](https://img.haomeiwen.com/i2833665/0c2e8bcb9386fe88.png)
文件写入流程:
客户端先分拆分成块64M大小,然后客户端通知NameNode存储,NameNode找几个空闲的DataNode返回客户端,客户端写数据个某个DataNode,然后DataNode进行复制,复制完毕更新NameNode记录。
![](https://img.haomeiwen.com/i2833665/0ddde01ed695a8b3.png)
HDFS 特点
- 数据冗余,硬件容错
- 流式的数据访问(一次写入,多次读取,顺序写入)
- 适合存储大文件
HDFS使用
shell命令操作
MapReduce 原理
分而治之思想
map 影视
reduce 归约
![](https://img.haomeiwen.com/i2833665/b17deaa3ccd15393.png)
Job&Task
JobTracker
TaskTracker
![](https://img.haomeiwen.com/i2833665/5860a5b645ffe862.png)
![](https://img.haomeiwen.com/i2833665/066c0b827bd8e008.png)
![](https://img.haomeiwen.com/i2833665/78a97e185c5a34ff.png)
![](https://img.haomeiwen.com/i2833665/d6aecde3b4892c21.png)
![](https://img.haomeiwen.com/i2833665/1a762fa620769065.png)
MapReduce容错机制:
- 重复执行
- 推测执行
helloword 入门 单词计数程序
![](https://img.haomeiwen.com/i2833665/88dc654a3874972d.png)
![](https://img.haomeiwen.com/i2833665/f79ed31ff6ef1709.png)
![](https://img.haomeiwen.com/i2833665/80d52e7b031cc78b.png)
![](https://img.haomeiwen.com/i2833665/48f37e4813c3407d.png)
![](https://img.haomeiwen.com/i2833665/f0bf8a2bc6585585.png)
![](https://img.haomeiwen.com/i2833665/50199c59a515b21b.png)
![](https://img.haomeiwen.com/i2833665/b2e4991340b5b3d5.png)
![](https://img.haomeiwen.com/i2833665/2e63b6fa4290709c.png)
网友评论