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设置合适的权限 。