文章标题
来源:互联网 发布:微机原理接口编程题 编辑:程序博客网 时间:2024/06/07 03:21
一、HDFS
HDFS设计目标
1.大量数据
2.流数据 一次写多次读 不可更改
3.廉价普通硬件设备(需要保证稳定性 数据安全性)
不适合的场景
1.低延时数据
2.小文件
3.无法支持对文件内容随意修改
HDFS架构
1.block为64M(相对传统文件系统大一些),文件可以分块存储,提高读取速度。
2.同一个文件块在不同的节点中有多个副本,冗余容错。
3.namenode(单点、现在是主从结构)保存文件分块信息、文件系统的目录信息,为了不成为瓶颈一般保存在内存中。(master)
4.datanode(多个)存储每块文件的信息(block),运行mapreduce的最小单位。(slaver)
5.HA策略:2.x开始,HDFS支持namenode的active-standy模式,热备份模式。
二、mapreduce
mapreduce原理
mapreduce是一种编程模型,用于大规模数据集的并行计算。
三、hadoop安装
基本概念
jobtracker:接受作业的提交,监控和控制作业运行,负责将任务分发到tasktracer节点。(master)
tasktracker:控制map/reduce任务中当前节点的运行。(slaver)
单机安装步骤
1.下载hadoop包,官网,解压。
安装ssh
安装rsync
配置ssh免密码登录
配置JDK环境
修改hadoop配置文件,指定JDK安装路径
修改hadoop核心配置文件core-site。xml,配置HDFS的地址和端口号
修改hadoop中的HDFS配置,修改replication
修改mapreduce的配置文件,配置的是jobtracker的地址和端口
格式化hadoop的文件系统HDFS
启动hadoop
验证hadoop是否成功安装,在浏览器中输入http:/localhost:50030(mapreduce的web页面)或者http:/localhost:50070(HDFS的web页面)
集群安装步骤
1.多台服务器命名、ip。
2.在各台服务器上装好单机版hadoop。
3.在/etc/hosts中修改主机名、配置主机名和ip地址对应关系
4.将hadoop.main节点的~/.ssh/id_rsa.pub文件拷贝到hadoop.slave节点的~/.ssh目录下,然后在hadoop.slave的~/.ssh/目录下运行 cat ./id_rsa.pub>>authorized_keys
5.从节点的conf文件夹中的core-site.xml和mapred-site.xml中的入口要设为主节点的地址和端口号(hadoop.main:9000和hadoop.main:9000)
6.分别修改两台主机中的hadoop配置文件masters和slaves,masters:hadoop.main,slaves:hadoop.main,hadoop.slave。(通过拷贝scp)
7.在hadoop.main节点运行bin/hadoop namenode -format 初始化文件系统(如果以前做了单机模式的,需要清空在bin下用rm -rf /tmp/hadoop-robby/)
8.启动hadoop,bin/start-all.sh
hdfs-site.xml里面的value可以配置为不同的值
配置中有一些注意事项!!
四、HDFS的基本操作
hadoop fs-ls/
hadoop fs-mkdir/test
hadoop fs-get/filename dest
hadoop fs-put srcfile/desfile
五、secondary namenode
namenode始终在内存中保存metadata(源数据),用于处理“读请求”。
“写请求”时候,namenode会首先写editlog到磁盘,成功返回后,才会修改内存,并返回到客户端。
hadoop会维护一个fsimage的文件,也就是metedata的镜像,但是不会实施同步,每隔一段时间合并editlog来更新内容。secondary namenode就是用来更新fsimage的。
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- Socket PRGM: chat_p2p
- 错误LinearLayoutManager is already attached to a RecyclerView
- 在broadcastReceiver 中弹出对话框
- oracle10G/11G官方下载地址集合 直接迅雷下载
- adaBoost算法学习笔记
- 文章标题
- SpringMVC学习之非注解的处理器映射器和适配器
- 14. Longest Common Prefix
- 用实例代码理解一下c++11”定义析构函数阻止合成移动”
- 幻境.最后一天
- 1、全志A33烧录固件(TF卡刷机)
- 我为什么要写博客
- Canvas 与 SVG 的比较
- unity3D 代码实现自定义平面