首页 > 代码库 > 第二周:HDFS简介,实验准备

第二周:HDFS简介,实验准备

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 服务器

 A  发起请求

         B  公钥给A 

         A  生成密码 用B公钥加密  传递给B    

         B  用私钥解密

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



http://www.itpub.net/forum-214-1.html








第二周:HDFS简介,实验准备