第一节 HDFS分布式文件系统

HDFS结构与组成

  1. HDFS采用主/从复制(master/slave)结构
  2. NameNode负责管理文件命名空间,是客户端访问的主服务器。
  3. DataNode负责存储管理

NameNode的功能

1. 管理元数据信息
2. 管理文件系统的命名空间
    1) 对元数据修改,会在EditLog(事务日志记录)插入一条记录,而EditLog是存放在本地文件系统中的。
    2) 文件系统的命名空间存放在FsImage(映像文件)中。FsImage也存放在本地文件系统中。
3. 监听客户端请求和DataNode事件。
4. 心跳检测,检测DataNode是否正常工作。

DataNode的功能

1. 数据块的读写
2. 向NameNode报告状态
3. 数据的流水线复制

HDFS读写

实际的IO事务并没有经过NameNode。如下图:

image

image

访问权限

HDFS实现了一个与POSIX类似的文件和目录权限模型。

操作的时候如果抛出异常:AccessControlException则是权限检查失败。

集中缓存管理

允许用户指定缓存的HDFS路径。

HDFS提供了快照功能

支持元数据快照  hadoop2.x版本。
快照只记录文件快的列表和大小的信息。

大数据平台的安装和配置

1. 下载jdk,hadoop,spark,scala
2. 解压上述文件压缩包到指定文件夹
3. 配置环境变量
4. 配置SSH免密码登陆
4. 修改配置文件
5. 启动hadoop
6. 启动spark
详情如下
1. 下载jdk,hadoop,spark,scala
2. 解压上述文件压缩包到指定文件夹
3. 配置环境变量
    vim /etc/profile

    #Java 环境变量
    JAVA_HOME=/opt/java
    PATH=$JAVA_HOME/bin:$PATH
    CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export JAVA_HOME  PATH  CLASSPATH
    #Hadoop环境变量
    HADOOP_HOME=/opt/hadoop
    PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
    HADOOP_MAPRED_HOME=$HADOOP_HOME
    HADOOP_COMMON_HOME=$HADOOP_HOME
    HADOOP_HDFS_HOME=$HADOOP_HOME
    YARN_HOME=$HADOOP_HOME

    export HADOOP_HOME  PATH  HADOOP_MAPRED_HOME  HADOOP_COMMON_HOME  HADOOP_HDFS_HOME  YARN_HOME
    #Scala环境变量
    SCALA_HOME=/opt/scala
    PATH=$SCALA_HOME/bin:$PATH

    export SCALA_HOME  PATH

    #Spark 环境变量
    SPARK_HOME=/opt/spark
    PATH=$SPARK_HOME/bin:$PATH
    SPARK_EXAMPLES_JAR=$SPARK_HOME/example/jars/spark-examples_2.11.1-2.0

    export SPARK_HOME PATH SPARK_EXAMPLES_JAR

4. 修改配置文件
    # 修改Hadoop配置文件
     1. vim /opt/hadoop/etc/hadoop/hadoop-env.sh

      export JAVA_HOME=/opt/jdk1.8.0_171
      export HADOOP_HOME=/opt/hadoop
     2. vim core-site.xml
        <property>
            <name>fs.default.name</name>
            <value>hdfs://127.0.0.1:9000</value>
        </property>
     3. vim hdfs-site.xml
       配置备份数
       配置namenode目录
       配置datanode目录
     4. vim mapred-site.xml
       配置mapreduce。framework.name为yarn
     5. vim  yarn-site.xml
       配置ResourceManage主机名和端口号8080
       配置resource-tracker主机名和端口号8082
       配置mapreduce-shuffle类
       yarn.nodemanager.aux-services=mapreduce_shuffle
       yarn.nodemanager.aux-services.mapreduce.shuffle.class = org.apache.hadoop.mapred.ShuffleHandler
     6. vim slaves
      master

    # 修改spark配置文件
     1. vim /opt/spark/conf/spark-env.sh
       export SCALA_HOME=${SCALA_HOME}
       export JAVA_HOME=${JAVA_HOME}
       SPARK_MASTER_IP=mylinux
     2. vim slaves

5. 测试
    安装ssh
        apt-get install ssh
    配置本机免密码登陆
        cd ~/.ssh
        ssh-keygen -t rsa
        cat id_rsa.pub >> authorized_keys 
    格式化hdfs
    hadoop namenode -format
    启动hadoop
    ./sbin/start-all.sh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值