HDFS简介
HDFS(Hadoop Distributed File System)默认的最基本的存储单位是64M的数据块。
和普通文件系统相同的是,HDFS中的文件是被分成64M一块的数据块存储的。
不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间。
为什么hadoop不适合存储小文件
因为Namenode把文件系统的元数据放置在内存中,所以文件系统所能容纳的文件数目是由Namenode的内存大小来决定。一般来说,每一个文件、文 件夹和Block需要占据150字节左右的空间,所以,如果你有100万个文件,每一个占据一个Block,你就至少需要300MB内存。当前来说,数百 万的文件还是可行的,当扩展到数十亿时,对于当前的硬件水平来说就没法实现了
`
夏老师 · 说
1. 在整个Hadoop提示中 必须要明白的:PageRank
2. Salve节点是有一套心跳机制的 ,定期的向NameNode提交节点信息。 (热备)
3. 我们默认使用 hadoop-core1.0.4 作为开发版本 (老夏的版本)
4. 在实际的集群搭建下,建议使用 NDS服务器来维护各个子节点的地址
5. jps 实际上是jvm的命令
6. hadoop不推荐使用root命令 记得不安全
7. openStack 虚拟云 也是大数据云计算的热门 Vcenter (openStack的收费版本) --提供更加便利的图形界面操作
8.watch -n 3 -d jps 每隔三秒查看一次命令
9. ./hadoop dfsadmin -safename get 关闭安全模式
- **** 第零章
作者: 道格
发音的问题 :o(︶︿︶)o 唉 了解就行了。
参考书:权威指南。(不是道格写的) 这个书很重要
刘鹏(实战hadoop)写得比较浅 对于新手比较适合,有错误 ( 整理一份书单 )
Hadoop实战 大学老师写的,说是抄权威指南的
HDFS 深度实践 (源代码级别的)--要很懂JAVA
hadoop 技术内幕 (源代码级别的)--要很懂JAVA
- **** 第壹章
面向企业机型选型配置 介绍
普通 廉价 标准的
16-32G 内存 普通硬盘2Tor more
交换机选择比较高的带宽。 infinband 交换机(光交换机 --很贵的!)
RAID是不需要(磁盘整列) hadoop本身就有冗余机制
可以考虑JBOD (把一堆硬盘组合成一个大的硬盘)
- **** 第贰章
1. 网络拓扑设计
主流架构方案!局域网中!
2. Hadoop 是基于JAVA 因此只要运行jvm的平台 就能跑 Hadoop
3. hadoop 没有区分 32位和64位
4. window上要跑 Hadoop 需要安装模拟unix/linux的环境 Cygwin
5. 有很多 apache 官方版本的Hadoop 发布版 ---了解
6. JAVA是hadop的原生开发语言。 hadoop本身用hadoop开发, 主要开发语言也是java
7. 世界上最小的电脑:树莓派
- **** 第叁章
课程实验准备
内存 1G 硬盘 20G
安装完linux 以后 要确认 iptables 和 selinux 等防火墙或者过滤策略软件关闭
1. 怎么装 JDK
wget *(url) 下载
tar -vxzf * (*.tar)
设置环境变量 (讲得很抽象)
2. 免密码登录
ssh keygen -t rsn (生成公钥和私钥文件)
将公钥文件 拷贝到其他机器上。
(循环往复的做每一台机器)
3. 免密码的原因:
早期:保密通讯。
RSA 不对称加密 公钥私钥
正常:
A 客服端 B 服务器
B 公钥给A
A 生成密码 用B公钥加密 传递给B
B 用私钥解密
免密码:
A 发起请求
B 生成 challest 用 A 公钥 加密 发给 A
A 用私钥解密 challest 再次发给B
B 核对 A 发过来的 challest 发现和本地一样 不用密码也通过验证
- **** 第肆章
1. 完全分布式安装
安装 hadoop
hadoop-env.xml 脚本文件 修改环境变量 java
core-site.xml 指定名称节点的路径 存放数据的位置
hdfs-site.xml 指定hdfs的复制因子
mapred-site.xml joktrack的监听端口
修改 vi etc/hosts 文件 将IP和主机名映射
关闭防火墙
format nodename 节点
start-all
问题: 自己连自己要密码 公钥拷贝到 authori-keys !
JPS 命令
PS 第一版和现在的版本可以交替的看。要不可能会晕。
常见错误:
百度 和 谷歌 dataguru 1000人参加过Hadoop
chkconfig iptables off (重启有用 ) 关闭防火墙
chkconfig (查看 各个级别的 启动项)
查看所有端口开放情况: netstat -ntl
开放某个端口:nc -l 端口号 &
2. 伪分布式系统安装描述
自动清除log文件
hadoop集群跑了很多的任务后 在hadoop.log.dir目录下会产生大量的日志文件。 可以通过配置core-site.xml文件让集群自动清除日志文件: <property> <name>hadoop.logfile.size</name> <value>10000000</value> <description>The max size of each log file</description> </property> <property> <name>hadoop.logfile.count</name> <value>10</value> <description>The max number of log files</description> </property> |
ssh-keygen 创建公钥和密钥。
ssh-copy-id 把本地主机的公钥复制到远程主机的authorized_keys文件上。
ssh-copy-id 也会给远程主机的用户主目录(home)和~/.ssh, 和~/.ssh/authorized_keys设置合适的权限 。